Sobre el proyecto
ActiveAnalytics es un motor de Rails que se puede montar directamente dentro de una aplicación Ruby on Rails para proporcionar análisis de tráfico sencillos y de primera parte. Su objetivo de diseño es la privacidad: no recopila cookies, no envía JavaScript, no depende de servicios de terceros y, por lo tanto, no es algo que los bloqueadores de anuncios o las extensiones de privacidad necesiten bloquear.
Qué informa el panel
- Fuentes: las páginas y dominios que traen tráfico a la aplicación.
- Vistas de página: qué páginas se ven con más frecuencia.
- Página siguiente/anterior: las páginas de entrada y salida asociadas a una página dada.
- Estadísticas del navegador: qué navegadores y versiones visitan el sitio.
El README enfatiza que la herramienta no revela nada sobre los visitantes individuales.
Instalación
Añade el gem al Gemfile, ejecuta bundle, instala y ejecuta las migraciones del motor, y luego monta el motor en un endpoint elegido en config/routes.rb:
gem 'active_analytics'
bundle
rails active_analytics:install:migrations
rails db:migrate
# config/routes.rb
mount ActiveAnalytics::Engine, at: "analytics"
Por defecto, el panel hereda de ActionController::Base. Se puede configurar un controlador base personalizado a través de ActiveAnalytics.base_controller_class en un inicializador.
Recopilación de tráfico
Se documentan dos enfoques. La opción sincrónica llama a ActiveAnalytics.record_request(request), típicamente desde un callback after_action en ApplicationController; es la más sencilla de configurar pero escribe en la base de datos en cada solicitud. La opción asincrónica llama a ActiveAnalytics.queue_request(request), enviando datos a Redis para que no haya escritura en la base de datos por solicitud; los datos en cola se persisten luego llamando a ActiveAnalytics.flush_queue desde una tarea cron o trabajo en segundo plano. El README sugiere vaciar regularmente y hacer el último vaciado del día a las 23:59 para que las cifras diarias no se desplacen al día siguiente. Redis se puede configurar con ActiveAnalytics.redis_url o una conexión ActiveAnalytics.redis personalizada.
Los ejemplos recomiendan registrar solo respuestas HTML, filtrar por un dominio canónico y usar un gem de detección de bots para omitir rastreadores. Las URLs sensibles como las de restablecimiento de contraseña se pueden excluir con skip_after_action.
Autenticación
Dado que la autenticación varía según la aplicación, el motor no asume un esquema. El README muestra parchear ActiveAnalytics::ApplicationController con un before_action que lance un error de routing para usuarios no admins, requerido desde config.after_initialize para que no se recargue en desarrollo. Con Devise, el mount se puede envolver en un bloque authenticate en routes.rb.
Licencia y procedencia
ActiveAnalytics se publica como código abierto bajo la Licencia MIT y es desarrollado por Base Secrète, que también crea la herramienta de monitoreo de RoR Rails RoRvsWild.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.