cor1440_gen : Motor para planeación y seguimiento de actividades e informes en una ONG
Este es un motor para sistemas de información de planeación y seguimiento de actividades en ONGs. Opera sobre Ruby on Rails 4.2 y PostgreSQL (preferiblemente cifrado como en adJ).
La aplicación cor1440
disponible en https://github.com/pasosdeJesus/cor1440
utiliza este motor sin personalización alguna. Puede ver ejemplos de
personalizaciones en https://github.com/pasosdeJesus/cor1440_cinep y
https://github.com/pasosdeJesus/cor1440_sjrlac
Diseño, Uso, Pruebas y Desarrollo
Este motor incluye
- Uso del motor sip (que a su vez maneja devise, cancancan, rspec, tablas básicas con datos geográficos para varios paises, manejo de anexos con paperclip, facilidades de configuracion como puede ver en https://github.com/pasosdeJesus/sip )
- Aplicación de prueba completa en spec/dummy con diseño adaptable a dispositivos moviles o de escritorio (responsive) que permite modificar las tablas básicas y manejar actividades mínimas con anexos.
Sigue los mismos lineamientos del motor sip, cuyas instrucciones generales puede consultar en https://github.com/pasosdeJesus/sip
Los cambios a esas instrucciones son:
- El usuario por defecto en PostgreSQL configurado es cor1440gen con clave xyz, pero puede modificarlo despues de copiar la plantilla spec/dummy/config/database.yml.plantilla en spec/dummy/config/database.yml
- El usuario inicial tras crear una nueva aplicación es
cor1440
con clavecor1440
Algunos detalles de la implementación:
- El diseño adaptable se hizo con bootstrap, simple_form y jquery, la paginación al presentar listados con will_paginate.
- El manejo dinámico de anexos y participantes en una actividad
se hace es con AJAX manejado por versión modificada de cocoon.
- El filtro de actividades se inspira en datatable.net --aunque no se usa esa librería en el momento.
- La generación de PDF del resultado de un filtrado se hace con prawnto_2
Personalizaciones
- El controlador de actividades se ha dejado en
lib/cor1440_gen/concerns/controllers
para incluirlo en el controlador deapp/controllers/cor1440_gen/actividades_controller.rb
y facilitar su personalización. - Los datos comunes del listado de actividades en HTML (vista
app/view/cor1440_gen/actividades/index.html.erb
que usaapp/view/cor1440_gen/actividades/_indextabla.html.erb
), el PDF del listado generado con prawn (vistaapp/view/cor1440_gen/actividades/index.pdf.prawn
) y el detalle de una actividad (vistaapp/view/cor1440_gen/actividades/show
) emplean los arreglos@enctabla
(con primeros titulos de encabezados) y@cuerpotabla
(con matriz por mostrar, con columnas que corresponden a @enctabla). Estas variables son establecidas en el controlador con las funcionesencabezado_comun
,fila_comun
del controlador. Así en personalizaciones que cambién el modeloCor1440Gen::Actividad
puede ser más sencillo incluir el controlador genérico y sobrecargar sólo las funcionesencabezado_comun
yfila_comun
. Para cambios mayores puede modificarse el controlador completo y sus vistas. - Para cambiar el filtro de manera simple en el momento basta sobrecargar la vista
cor1440_gen/actividades/index_filtro.html.erp
y la funciónfiltra
del controlador.