इस प्रोजेक्ट के बारे में
ActiveAnalytics एक Rails एन्जिन है जिसे सीधे Ruby on Rails ऐप्लिकेशन में माउंट किया जा सकता है ताकि सरल, फर्स्ट-पार्टी ट्राफिक एनालिटिक्स मिल सके। इसका डिज़ाइन लक्ष्य प्राइवेसी है: यह कोई कोकीज़ collect नहीं करता, कोई JavaScript नहीं भेजता, किसी थर्ड-पार्टी सर्विस पर निर्भर नहीं है और न ही इसे एड ब्लॉकर या प्राइवेसी एक्सटेंशन को ब्लॉक करना पड़ता है।
डैशबोर्ड क्या रिपोर्ट करता है
- स्रोत: वे पेज और डोमेन जो ऐप्लिकेशन में ट्रैफिक लाते हैं।
- पेज व्यू: कौन से पेज सबसे अधिक देखे जाते हैं।
- अगला/पिछला पेज: किसी दिए गए पेज से जुड़े एंट्री और एग्जिट पेज।
- ब्राउज़र सांख्यिकी: वे ब्राउज़र और ब्राउज़र वर्जन जो साइट पर आते हैं।
README यह जोर देता है कि यह टूल किसी व्यक्तिगत विज़िटर के बारे में कुछ भी नहीं दिखाता।
इंस्टालेशन
Gemfile में gem जोड़ें, bundle चलाएं, इंस्टॉल करें और एन्जिन migrations चलाएं, फिर config/routes.rb में chosen endpoint पर एन्जिन माउंट करें:
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) को कॉल करता है, आमतौर पर ApplicationController में after_action कॉलबैक से; यह सेटअप करने में सबसे सरल है लेकिन हर अनुरोध पर डेटाबेस में लिखता है। असिंक्रोनस विकल्प ActiveAnalytics.queue_request(request) को कॉल करता है, डेटा को Redis में धकेलता है ताकि हर अनुरोध पर कोई डेटाबेस राइट न हो; queued डेटा बाद में ActiveAnalytics.flush_queue को cron टास्क या बैकग्राउंड जॉब से कॉल करके persist किया जाता है। README नियमित रूप से flush करने और दिन के अंत में 23:59 पर अंतिम flush करने की सलाह देता है ताकि दैनिक आंकड़े अगले दिन शिफ्ट न हों। Redis को ActiveAnalytics.redis_url या कस्टम ActiveAnalytics.redis कनेक्शन के साथ कॉन्फ़िगर किया जा सकता है।
उदाहरण केवल HTML रिस्पॉन्स को रिकॉर्ड करने, canonical डोमेन तक फ़िल्टर करने, और bot-detection gem का उपयोग करके क्रॉलर्स को छोड़ने की सलाह देते हैं। password-reset जैसे संवेदनशील URLs को skip_after_action के साथ बाहर किया जा सकता है।
प्रमाणीकरण
चूंकि प्रमाणीकरण ऐप्लिकेशन के आधार पर अलग-अलग होता है, एन्जिन किसी योजना की धारणा नहीं बनाता। README ActiveAnalytics::ApplicationController को monkey patch करने का उदाहरण दिखाता है जिसमें before_action होता है जो गैर-एडमिंस के लिए routing error raise करता है, जिसे config.after_initialize से required किया जाता है ताकि विकास (development) में यह रीलोड न हो। Devise के साथ, mount को routes.rb में authenticate ब्लॉक के अंदर मोड़ दिया जा सकता है।
لائसensing और उत्पत्ति
ActiveAnalytics MIT License के तहत ओपन सोर्स के रूप में जारी किया गया है और इसे Base Secrète ने बनाया है, जो RoRvsWild Rails मॉनिटरिंग टूल भी विकसित करता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.