عن المشروع
ActiveAnalytics هو محرك Rails يمكن تثبيته مباشرة داخل تطبيق Ruby on Rails لتوفير تحليلات حركة مرور بسيطة من جهة أولى. هدفه التصميمي المعلن هو الخصوصية: لا يجمع أي ملفات تعريف ارتباط، ولا يرسل أي JavaScript، ولا يعتمد على أي خدمات طرف ثالث، ولذلك ليس شيئاً يحتاج مسدדות الإعلانات أو الإضافات الخاصة بالخصوصية إلى حظره.
ما تقرير لوحة التحكم
- المصادر: الصفحات والنطاقات التي تجلب حركة المرور إلى التطبيق.
- عروض الصفحات: الصفحات التي تُعرض بتركيز أكبر.
- الصفحة التالية/السابقة: صفحات الدخول والخروج المرتبطة بصفحة معينة.
- إحصائيات المتصفح: المتصفحات وإصدارات المتصفحات التي تزور الموقع.
تؤكد وثائق README أن الأداة لا تكشف عن أي شيء حول الزوار الأفراد.
التثبيت
أضف المكتبة إلى ملف 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. يمكن تكوين وحدة تحكم أساسية مخصصة من خلال ActiveAnalytics.base_controller_class في مبدئي.
جمع حركة المرور
طريقتان موثقتان. الخيار المتزامن يستدعي ActiveAnalytics.record_request(request)، عادةً من استدعاء after_action في ApplicationController؛ وهو الأسهل للإعداد لكنه يكتب إلى قاعدة البيانات مع كل طلب. الخيار غير المتزامن يستدعي ActiveAnalytics.queue_request(request)، ويدفع البيانات إلى Redis بحيث لا يحدث كتابة إلى قاعدة البيانات مع كل طلب؛ ثم تُحفظ البيانات المدرجة لاحقاً عن طريق استدعاء ActiveAnalytics.flush_queue من مهمة مجدولة أو وظيفة خلفية. توصي README بالإفراغ بانتظام وجعل آخر إفراغ في الساعة 23:59 حتى لا تُحرّف الأرقام اليومية إلى اليوم التالي. يمكن تكوين Redis باستخدام ActiveAnalytics.redis_url أو اتصال ActiveAnalytics.redis مخصص.
توصي الأمثلة بتسجيل استجابات HTML فقط، والفلترة نحو نطاق موحد، واستخدام مكتبة كشف البوتات لتجاوز زواحف البوت. يمكن استبعاد عناوين URL الحساسة مثل صفحات إعادة تعيين كلمة المرور باستخدام skip_after_action.
المصادقة
بما أن المصادقة تختلف من تطبيق إلى آخر، فإن المحرك لا يفترض مخططاً معيناً. تُظهر README إلحاق ActiveAnalytics::ApplicationController باستدعاء before_action يرفع خطأ توجيه للمستخدمين غير المسؤولين، ويجب استيراده من config.after_initialize حتى لا يتم إعادة تحميله في بيئة التطوير. مع Devise، يمكن بدلاً من ذلك تغليف نقطة التثبيت في كتلة authenticate في routes.rb.
التراخيص والأصل
تم إصدار ActiveAnalytics كمصدر مفتوح تحت رخصة MIT وهو من إنتاج Base Secrète، التي تطور أيضاً أداة مراقبة Rails المعروفة بـ RoRvsWild.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.