منصوبے کے بارے میں

ایکٹیو اینالٹکس ایک راؤل انجن ہے جسے براہ راست Ruby on Rails ایپلیکیشن میں منٹ کیا جا سکتا ہے تاکہ سادہ، فرسٹ پارٹی ٹرافک اینالٹکس فراہم کی جا سکے۔ اس کا ڈیزائن مقصد پرائیویسی ہے: یہ کوکیز جمع نہیں کرتا، جے واں ایسک فراہم نہیں کرتا، تھرڈ پارٹی سروسز پر انحصار نہیں کرتا، اور لہٰذا یہ ایڈ بلاکرز یا پرائیویسی ایکسٹینشنز کے بلکل برعکس ہے۔ ڈیش بورڈ کی رپورٹیں - سورسز: وہ صفحات اور ڈومین جو ایپلیکیشن میں ٹریفک لاتے ہیں۔ - پیج وزز: کون سے صفحات سب سے زیادہ دیکھے جاتے ہیں۔ - اگلے/پچھلے صفحے: کسی خاص صفحے سے منسلک انٹری اور ایکزٹ پیجز۔ - براؤزر کی شماریات: کون سے براؤزر اور ورژن سائٹ پر آتے ہیں۔ ریڈ می نے زور دیا ہے کہ یہ آلہ کسی بھی فرد وزیٹر کے بارے میں کچھ نہیں بتاتا۔ انسٹالیشن گیمل کو Gemfile میں شامل کریں، bundle چلائیں، انجن کی مائگریشن انسٹال اور رن کریں، پھر config/routes.rb میں کسی منتخب شدہ اینڈ پوائنٹ پر انجن منٹ کریں: gem 'active_analytics' bundle rails active_analytics:install:migrations rails db:migrate # config/routes.rb mount ActiveAnalytics::Engine, at: "analytics" ڈیفالٹ طور پر ڈیش بورڈ ActionController::Base کو ایکسٹینڈ کرتا ہے۔ Custom base controller کو initializer میں ActiveAnalytics.base_controller_class کے ذریعے کنفگر کیا جا سکتا ہے۔ ٹریفک اکٹھا کرنا دو طریقے دستخط ہیں۔ سائنک آپشن ActiveAnalytics.record_request(request) کوเรียก کرتا ہے، عام طور پر ApplicationController میں after_action callback سے؛ یہ سیٹ اپ کرنے میں سب سے آسان ہے لیکن ہر درخواست پر ڈیٹابیس لکھتا ہے۔ غیر سائنک آپشن ActiveAnalytics.queue_request(request) کوเรียก کرتا ہے، ڈیٹا Redis میں بھیجتا ہے تاکہ ہر درخواست پر ڈیٹابیس رائٹ نہ ہو؛ کو شد ڈیٹا بعد میں ActiveAnalytics.flush_queue کو cron task یا background job سے persistent کیا جاتا ہے۔ ریڈ می باقاعدہ flush کرنے اور دن کے آخر میں 23:59 پر last flush کرنے کا مشورہ دیتا ہے تاکہ روزانہ کی اعداد و شمار اگلے دن منتقل نہ ہوں۔ Redis کو ActiveAnalytics.redis_url یا custom ActiveAnalytics.redis کنکشن کے ساتھ کنفگر کیا جا سکتا ہے۔ مثالیں صرف HTML responses ریکارڈ کرنے، canonical domain تک فلٹر کرنے، اور bot-detection gem استعمال کرنے کا مشورہ دیتی ہیں تاکہ crawlers کو skip کیا جا سکے۔ حساس URLs جیسے password-reset صفحات skip_after_action کے ذریعے exclude کیے جا سکتے ہیں۔ تصدیق چونکہ تصدیق ہر ایپلیکیشن کے مطابق مختلف ہوتی ہے، انجن کسی scheme کو فرض نہیں کرتا۔ ریڈ می ActiveAnalytics::ApplicationController کو monkey patch کرنے کا طریقہ دکھاتا ہے جس میں before_action ہوتا ہے جو non-admins کے لیے routing error升起 کرتا ہے، جو config.after_initialize سے required ہوتا ہے تاکہ development میں دوبارہ reload نہ ہو۔ Devise کے ساتھ، mount کو routes.rb میں authenticate block میں wrap کیا جا سکتا ہے۔ لائسنسنگ اور اصل ActiveAnalytics MIT License کے تحت open source کے طور پر جاری کیا گیا ہے اور Base Secrète نے بنایا ہے، جو RoRvsWild Rails monitoring tool بھی تیار کرتی ہے۔