Next Previous Contents

4. Manual de Usuario

4.1 Visión general del sistema

Free-Vote es un sistema de consultas electrónicas a través de web, basado en HTML-3.0 , Apache, PHP-3.0 y PostGreSQL-7.0.

Está formado por una serie de scripts que acceden a una base de datos, y que generan al vuelo las diversas páginas web de que consta el sistema

En la introducción se han descrito las posibilidades de Free-Vote. Estas se desarrollan en los diversos menús que se presentan en la pantalla:

El proceso que realiza un usuario normalmente es:

  1. Registrarse en el sistema
  2. Acceder a las consultas activas
  3. Seleccionar la consulta deseada
  4. En su caso, solicitar tarjeta de voto, y proceder a la votación

Existe un administrador, que es el responsable absoluto del sistema. A su vez este administrador puede asignar privilegios especiales a los diversos usuarios, de manera que éstos puedan a su vez tener control sobre diversos aspectos del sistema ( dar de alta usuarios y consultas, modificar datos, crear consultas sin necesidad de autorización, etc... )

Para garantizar en la medida de lo posible la correcta autentificación del usuario, se utiliza un sistema de contraseñas, que son notificadas a los usuarios mediante correo electrónico.

Free-Vote Se distribuye bajo Licencia GPL, estándo el código fuente a disposición de los usuarios

4.2 Manejo Básico de Free-Vote

Registro en el sistema

La primera operación que un usuario debe hacer es la de registro. En efecto, Free-Vote Necesita que todos sus usuarios estén registrados, para poder proceder a la asignación de privilegios y la comunicación mediante correo electrónico con los usuarios.

El procedimiento de registro es sencillo: basta con acceder al menú correspondiente y rellenar TODOS los datos. La solicitud de registro es almacenada en una tabla temporal, y posteriormente, cuando el administrador ( u otra persona que disponga de suficiente nivel de privilegio ) autorize dicha inscripción, el nuevo usuario recibirá por correo electrónico una Tarjeta de Inscripción donde se le notifican todos los datos, así como un número de identificación, que deberá guardar para todas las operaciones posteriores

Está en proyecto un sistema de envío de datos al usuario mediante correo encriptado con PGP. Para ello ( cuando esté disponible ) aparecerá en el formulario de inscripción un campo para insertar la clave pública del usuario.

Selección de consultas

Accediendo al menú de consultas, se le ofrece al usuario una lista de las votaciones en curso. Pulsando en cada consulta, aparecen los datos referidos a la consulta seleccionada.

En el caso de que la consulta sea de acceso restringido, se le pedirá al usuario su dirección de correo y su número de identificación del usuario. En dicho caso sólo le aparecerá información sobre la consulta, si está autorizado para ello, esto es, está inscrito en la lista de posibles votantes de dicha consulta.

Solicitud de tarjeta de voto

Si hemos abierto una consulta, el periodo de inscripción está abierto, y tenemos autorización para emitir voto en dicha consulta, nos aparecerá un botón que nos indica la posibilidad de solicitar una Tarjeta de Voto. Encaso de seleccionarla, se nos solicitará el identificador de usuario userid la contraseña, y la dirección de correo. Si los datos son correctos, se nos enviará por correo una Tarjeta de Voto que solo será válida para esta consulta.

Proceso de votación

Para proceder a la emisión de voto en una consulta, una vez registrados, y obtenida la tarjeta de voto para dicha consulta, Procederemos a seleccionar la consulta deseada. Si el periodo de votación está abierto, se nos ofrecerá la posibilidad de emitir voto. En dicho caso rellenamos el formulario incluyendo los datos de la tarjeta de voto recibida por correo, y pulsaremos "aceptar" para enviar el voto

Se recuerda que un usuario solo puede votar una vez en cada consulta en la que tiene autorización. El programa almacena en el registro de sucesos del sistema la fecha,hora, y host desde el que el usuario emitió su voto. A su vez se envía e-mail al usuario notificándole la operación

Sistemas de notificación

Free-Vote Utiliza el correo electrónico para enviar a sus usuarios las tarjetas de registro y de voto. Este método es preferido al de utilizar el servidor web, pues ofrece más garantias de autentificación del usuario ( en teoría el correo es personal... ) Además, esto permitirá en el futuro incluír técnicas de encriptación tipo PGP, para garantizar aún más la autentificación del votante

Visualización de resultados

Cuando el usuario selecciona una consulta, los datos referidos a ésta se hacen visibles:

Mientras el periodo de votación esté abierto, la presentación de alguno de los datos puede estar bloqueada, en función de las características que el organizador de la consulta haya determinado

Una vez caducado el periodo de consulta, ésta será borrada del sistema, y todos sus registros eliminados

Foros de debate

Cada consulta lleva aparejada una sección donde los usuarios pueden discutir y enviar mensajes sobre la consulta asociada. Para entrar en los foros de debate basta con seleccionar la opción apropiada en índice, seleccionar una consulta, y en su caso introducir los datos identificativos del usuario. Para poder enviar comentarios al foro de discusión será preciso autentificarse en el sistema. Del mismo modo, si la consulta es privada, para poder acceder al foro de debates se deberá proceder a la autentificación del usuario

4.3 Para usuarios avanzados

Elaboración de consultas

Para crear una consulta, seleccionaremos el menú correspondiente, y completaremos los datos. El formulario es auto-descriptivo. Unicamente recordar que es preciso, para poder enviar consultas, tener al menos un privilegio de nivel 2. En dicho caso, la consulta deberá ser autorizada por alguno de los administradores. Si el usuario tiene privilegios de nivel 3 o superior, la consulta será dada de alta de manera automática

En el caso de establecer una consulta privada, será preciso seleccionar alguna de las listas de votantes disponibles. En caso de que el responsable de la consulta quiera crear una lista nueva, deberá ponerse en contacto con el administrador, pues la creación de listas y la asignación de usuarios a listas es tarea exclusiva de los administradores

Es responsabilidad del organizador de la consulta el avisar a estos usuarios para que procedan al registro y a la solicitud de voto en dicha consulta

Modificación de datos de usuario

Conforme a la ley, el usuario tiene en todo momento derecho a conocer sus datos, a modificarlos o suprimirlos. Para ello deberá seleccionar la opción correspondiente en el menú, o bien enviar correo electrónico a la dirección del administrador.

Un procedimiento distinto surge cuando el usuario tiene suficiente nivel de privilegio para modificar los datos de usuarios. En dicho caso basta con acceder al menú correspondiente y proceder

Modificación de datos de consultas

Si el usuario tiene suficiente privilegio, puede modificar los datos de una consulta. Notese que no puede cambiar la contabilidad de la votación, ni los contenidos de las preguntas o respuestas, sino sólo las opciones de visibilidad de los datos y los plazos y fechas

NOTA: en la versión actual del programa la modificación de consultas no está habilitada

Manejo de listas de usuarios

Las operaciones que se pueden realizar sobre listas de usuarios son:

Estas operaciones se realizan desde el menú de administración. Las páginas correspondientes son auto-explicativas

Acceso a la consola SQL

El administrador del sistema cuenta con una opción adicional: puede abrir una consola conectada directamente con el intérprete de comandos SQL. Es una opción muy poderosa: tiene acceso total al sistema de consultas; por lo que deberá procederse con precaución

4.4 Programas y utilidades adicionales

Existen diversas utilidades adicionales para manejo del programa:

Script de instalación

El programa install.sh es el que utilizaremos para la mayor parte de las tareas relacionadas con la instalación y configuración del sistema. Es importante recordar que todas las modificaciones que realicemos las debemos efectuar sobre el código fuente original, y nunca sobre los ficheros que se instalen a posteriori

install.sh soporta las siguientes opciones

--do-all

Proceso de instalación completo. Incluye, en este orden, los comandos --restart-db, --compile-doc, --register-sysop, --install-files

--restart-db

Reinicia la base de datos, borrando todos los datos, y dejando las estructuras "limpias"

--install-files

Configura e instala los ficheros en sus ubicaciones definitivas, tal y como se especifica en el fichero de configuración

--register-sysop

Toma los datos referidos al administrador que figuran en el fichero de configuración y en función de estos crea y registra al administrador en el sistema. Almacena la contraseña y el identificador de usuario en el fichero $BACKUPDIR/evote_config, ajustando los permisos de acceso de este fichero para evitar problemas de acceso no autorizado

--compile-doc

Regenera documentacion desde los ficheros LinuxDoc-SGML en que está escrita ésta, generando los ficheros HTML correspondientes

--help

Muestra ayuda y lista de comandos

Script de ejecución de tareas periódicas

Al ejecutar el comando install.sh --install-files se genera en el directorio $BACKUPDIR un fichero denominado crontab.evote que contiene los datos a introducir en el fichero crontab del usuario.

Dichos datos hacen referencia a un script, evote_cron.sh, que puede ser dividido en dos partes:

El usuario puede invocar manualmente la ejecución de estos programas sin más que indicarles la opción adecuada

Programa de registro de listas de usuarios

Puesto que el procedimiento de alta individual de usuarios en el sistema es lento si se realiza a través del web, se ha previsto un programa que permite, partiendo de una lista de datos de usuario en formato texto, inscribir a éstos en el sistema de una manera automática

El programa evote_register_list.sh debe recibir como parámetro adicional un fichero de texto con los datos de cada usuario en líneas independientes, y segú el formato:

Apellidos:Nombre:Direccion:telefono:email

Nótese que los espacios son significativos. El separador de campos es el ':', por lo que no puede aparecer dentro de un campo ( no se soportan secuencias de escape )

Como contraseña inicial se le asigna a cada usuario su dirección de correo electrónico, por lo que en cuanto el usuario reciba el e-mail, deberá proceder a su cambio con la mayor brevedad posible, utilizando para ello la página que se le proporciona


Next Previous Contents