Next Previous Contents

5. Manual de Administración

5.1 Organización del sistema

Free-Vote Consta de tres componentes principales:

Las páginas Web están organizadas según la siguiente estructura:


        Principal - Documentación
                  - Registro de usuarios
                  - Registro de consultas
                  - Administración ------------+- Altas y Bajas
                                               +- Modificaciones
                                               `- Consola SQL
                  - Selección / Visualización 
                                  de consultas -+- Solicitud tarjeta de voto
                                                `- Emisión de voto
        

En función del usuario existen ventanas adicionales para identificación del usuario e introducción de claves de acceso

5.2 Teoría de funcionamiento

El funcionamiento es extremadamente simple: el usuario navega de formulario en formulario en función de las opciones deseadas. El envío de información sensible se realiza a través del correo.

Las tablas de la base de datos son extremadamente sencillas: en aras de garantizar privacidad y secreto, no se guarda ningún tipo de información extra sobre los usuarios y sus votos. Cuando un usuario vota, se genera un log indicando el evento, pero no su valor. Este es sumado dinámicamente a las tablas de consulta, de manera que el voto es evaluado "on-line", sin necesidad de un registro para su posterior cálculo

5.3 Administración del sistema desde el Web

El programa incluye dentro de sus menús la posibilidad de una cierta administración remota. A continuación se detallan las diversas operaciones disponibles. Nótese que todas aquellas operaciones que implican una alta, baja, o modificación de datos, implican la notificación por correo electrónico al interesado

Listado de usuarios

Permite ver los usuarios registrados en el sistema, agrupados por listas de votantes ( recuerdese que todos los usuarios pertenecen por defecto a la lista 0 )

Revisión de usuarios pendientes de registro

Cuando un usuario solicita el registro, éste queda almacenado en una tabla temporal. El administrador, periódicamente, debe revisar la lista de usuarios pendientes de registro, y previa comprobación de datos, proceder al alta de éstos

Alta manual en el registro de usuarios

Alternativamente, el administrador puede proceder a realizar el alta de un usuario de forma manual, sin intervención de éste. Para ello debe conocer previamente los datos identificativos del usuario.

Edición de datos de usuarios

Utilizaremos esta opción en el caso de desear modificar los datos referidos a un usuario. Normalmente el usuario tiene acceso a un menú propio para proceder por sí mismo a la modificación, por lo que sólo se usará este formulario en los siguientes casos:

Si la edición de datos conlleva un cambio en la dirección de correo electrónico, el usuario recibirá la notificación del cambio tanto en la dirección antigua como en la nueva

Eliminación de registro de usuarios

El nombre es auto-explicativo....

Al eliminar a un usuario del sistema, toda la información generada por éste, es, dependiendo del caso, bien eliminada a su vez, o bien asignada al usuario con identificador cero (nobody)

Del mismo modo, si el usuario ha solicitado la tarjeta de voto para una votación concreta, dicha tarjeta será removida del sistema.

No obstante, no hay posibilidad de "deshacer el voto" de un usuario una vez emitido: recuérdese que la estructura de la base de datos impide el almacenamiento del valor de cada voto. Esto puede dar lugar a discrepancias a la hora de efectuar recuentos, como que el número de votos emitidos sea mayor que el número de votantes registrados

Creación de una lista de votantes

Modificación de una lista de votantes

Eliminación de una lista de votantes

Estos tres apartados permiten al administrador crear listas para votaciones restringidas.

La lista Pública, tiene el identificador 0 (cero) y está siempre presente en el sistema. Todo usuario que se registre es asignado automáticamente a dicha lista

Asignación de usuarios a una lista

Al seleccionar esta opción se le pedirá al administrador que seleccione una lista (distinta de la Pública) de entre las definidas en el sistema.

Aparecerá un listado de los usuarios registrados en el sistema con una indicación de si pertenecen o no a la lista seleccionada. El administrador puede entonces seleccionar los usuarios que desea que pertenezcan o no a dicha lista

Aunque es posible, no es deseable cambiar la asignación de usuarios a listas cuando de éstas depende alguna votación: Pueden ocurrir inconsistencias como que no se permita el voto , por haber sido removido de la lista, a un usuario que ya tenga su tarjeta de voto. El sistema no puede quedar inestable, pero el usuario quedará bastante cabreado....

Revisión de votaciones pendientes de registro

Esta opción es gemela a la de la revisión de usuarios: Cuando un usuario solicita generar una consulta, ésta es guardada en una tabla temporal, pendiente de aprobación por parte del administrador.

Edición de votaciones

En esta opción se permiten cambiar diversos aspectos no críticos de una votación, como pueden ser los datos sobre fechas y publicidad y visibilidad. No se permiten cambiar los demás datos, especialmente los referidos a la pregunta y posibles respuestas

NOTA: Actualmente, esta opción del menú de administración no está habilitada

Eliminación de votaciones

Pues eso....

Al eliminar una votación, se eliminan a su vez los datos de participación, resultados, y foro de mensajes asociado. Se manda un mensaje por correo al creador de la consulta, notificándole el hecho

Acceso al intérprete de SQL

Esta es la opción más poderosa. Convierte al navegador en un terminal tipo texto que permite enviar directamente comandos SQL al gestor de bases de datos. Es una opción muy poderosa, y a su vez muy peligrosa.

Sólo debería haber una persona con privilegios de acceso a esta operación: el administrador de la base de datos.

Puesto que normalmente el administrador tiene acceso local al servidor, es posible que en futuras versiones del programa, esta opción desaparezca

5.4 Categorías de usuarios

Free-Vote agrupa los usuarios en diverasa categorías, en función de los privilegios de acceso que tienen. Una de las tareas del administrador es gestionar estos privilegios.

El nivel de privilegio de un usuario se almacena en el campo groupid de la tabla usuarios. Se definen los siguientes niveles en orden creciente de privilegios:

  1. Usuario registrado, pero sin derecho a voto
  2. Usuario registrado, con derecho a voto
  3. Usuario autorizado a solicitar nuevas consultas
  4. Usuario con derecho a crear consultas sin autorización ulterior
  5. Administrador con derecho a añadir usuarios y consultas pendientes de aprobación. Derecho a crear nuevas listas de usuarios
  6. Derecho a modificar y/o borrar usuarios, listas y consultas
  7. Derecho de acceso a la consola de SQL
El privilegio más bajo corresponde al groupid 0 (cero). El nivel 6 (acceso a consola) permite acceso total a los recursos de la aplicación, incluída la posibilidad de alterar resultados de las consultas. Sólo el administrador de la aplicación debería poseer este nivel de acceso

El nivel 4 permite crear y borrar usuarios, listas, y consultas. El nivel 5 permite la modificación de éstas una vez creadas. El resto de los niveles corresponden a usuarios sin categoría de administrador ( salvo el 3, que permite dar de alta consultas sin necesidad de aprobación previa ). El nivel 0 corresponde a la categoría de observador, esto es, persona registrada con voz en los foros de discusión, pero sin derecho a voto

5.5 Tareas del administrador

El administrador del sistema tiene las siguientes tareas:

Alguna de estas tareas pueden ser llevadas a cabo por usuarios con privilegios especiales desde la interfaz de Web. Para la supervisión del funcionamiento y del registro de eventos se debe tener acceso a una cuenta en el servidor

5.6 Tareas periódicas. Fichero cron

Las tareas de backup, y limpieza y consistencia de la base de datos, se realizan automáticamente mediante cron(1).

Las tareas que se realizan son las siguientes:

Se remite al lector interesado al examen del contenido del script evote_cron.sh para comprobar su funcionamiento

5.7 Procedimientos de Backup y Recuperación

Si bien el script que se ejecuta bajo cron realiza automáticamente las tareas de backup, en ocasiones es necesario realizar dicha tarea a mano. Para ello deberemos entrar en la base de datos como usuario administrador de la base de datos, y procederemos como se describe a continuación.


Next Previous Contents