Ver el fichero database.sql que contiene el código SQL para crear las tablas, estructuras, y permisos de la base de datos
Consultar el fichero (FAQ)
Es posible que el administrador desee cambiar el aspecto o contenidos de la aplicación. Para ello, se recomiendan ( en aras de poder exportar dichos cambios ) la siguiente política:
El programa de instalación, al generar los ficheros y directorios, realiza un backup de toda la instalación, y lo copia en el directorio de instalación especificado por el administrador. De este modo se dispone de una imagen de la instalación accesible desde la propia instalación, para que los usuarios puedan ver cómo fue instalado originalmente el servidor. No obstante dicho fichero no garantiza contra posteriores modificaciones.
Existen diversos ficheros include:
La apariencia de las páginas en un navegador es de una serie de frames, incluyendo los siguientes ficheros:
La estructura general de una página web de Free-Vote es la siguiente:
<html>
<head>
<title>Free-Vote: __TITULO_DE_LA_PAGINA__</title>
</head>
<body>
<!-- fichero de configuracion -->
<? require('tools.php3'); ?>
<? check_https(); ?> <!-- solo necesario si esta pagina debe ser "segura" -->
<!-- COMIENZO DEL TEXTO -->
Esto es un ejemplo de opción de menú
para el programa <bf><em>Free-Vote</em></bf>
<!-- FIN DEL TEXTO -->
</body>
</html>
Debido a que utiliza funciones PHP para la inclusion de datos de configuración y cabeceras y menús, el fichero debe tener extensión .php3 para que pueda ser reconocido por Apache
Por defecto, todas las páginas se encuentran en el mismo directorio, definido en el fichero de configuración. En ocasiones, puede ser preciso añadir nuevos enlaces, o cambiar los ya existentes. Para ello se dispone de dos macros:
En general, las páginas de documentación y las generadas automáticamente se accederan a través de WEBURL; las de acceso a la base de datos usarn SECUREURL. Se hace hincapié en aras de la seguridad en que se observe este convenio
La documentación de Free-Vote está realizada partiendo de un fichero en formato LinuxDoc-SGML. Para modificar dicha documentación edítese este fichero directamente, en lugar del los ficheros HTML resultantes.
El programa de instalación tiene una opción --compile-doc, que procesa el fichero SGML y genera los ficheros HTML definitivos. Para proceder a la compilación, es preciso que se tengan instaladas las SGML-Tools en el sistema
Revisar el fichero tools.php3 donde se detallan y documentan las diversas funciones y utilidades
Free-Vote utiliza una serie de primitivas genéricas de acceso a bases de datos, definidas por las funciones db_XXXX(). Existen una serie de ficheros dbname.php3, donde dbname es el nombre de la base de datos definida en el fichero de configuración mediante la variable DB_PROGRAM. El usuario deberá seguir los ejemplos suministrado para PostGreSQL y MySQL, para realizar su propia librería de compatibilidad
El código actual de Free-Vote aprovecha algunas características avanzadas de PostGreSQL como son el uso de secuencias y claves ajenas, disparadores, actualización y borrado en cascada , y agrupamiento de operaciones mediante secuencias BEGIN / COMMIT / ROLLBACK. Estas características no están presentes en otras bases de datos, como MySQL o mSQL, por lo que el programador deberá proveer mecanismos para su simulación
Free-Vote utiliza el correo electrónico como medio de comunicación para enviar datos sensibles e información adicional al usuario Esto es así por diversos motivos:
Para generar los mensajes de correo electrónico, Free-Vote utiliza una serie de ficheros template, a modo de plantillas, que son configurables y definibles por el usuario. Estos ficheros residen en el directorio lib/templates. El administrador puede cambiar su contenido, pero -a menos que modifique el programa- no su nombre:
Mensaje enviado cada vez que el usuario solicita la tarjeta de voto
Mensaje de notificación de que el usuario ha procedido a votar una consulta
Acuse de recibo de una solicitud de creación de nueva consulta
Acuse de recibo de solicitud de registro de un usuario en el sistema
Enviado cada vez que se modifican los datos personales referidos a un usuario
Notificación de que el registro de un usuario ha sido eliminado del sistema
Notificación al organizador de una nueva consulta de la aceptación de ésta
Notificación al organizador de una connsulta de que ésta ha sido borrada del sistema
Notificación del registro de un usuario en el sistema
Existen una serie de macros predefinidas, que pueden ser usadas por el administrador a voluntad en los textos a enviar por correo electrónico:
Dirección de correo del administrador del sistema
Página web donde reside el sistema de voto
Nombre del sistema de voto
Dirección de correo del destinatario
Nombre del destinatario
Apellidos del destinatario
Domicilio del destinatario del correo
Identificador de usuario
Teléfono del destinatario
Clave de voto asignada al usuario ( sólo en caso de haberla solicitado )
Nombre de la votación a que se refiere el correo ( sólo en el caso de que el mensaje esté referido a una votación )
Fecha en que se envía el correo
Si se desean crear nuevos formularios para envío de mensajes adicionales basta con editar el fichero tools.php3 y añadirlos en la sección correspondiente
Free-Vote utiliza diversos recursos del sistema como registro de eventos:
Además, el programador puede definir y establecer en el programa diversos registros de sucesos, clasificados por tipo y prioridad. Actualmente están definidos los siguientes tipos de eventos:
Sobre cada uno de estos tipos de eventos se definen los siguientes niveles de prioridad:
La función de librería register_event toma tres parámetros: el tipo de evento, su nivel de prioridad, y el mensaje a presentar. La rutina compara el nivel y tipo de evento que se desea registrar con el nivel de seguimiento que se ha programado en el fichero de configuración. En caso de que el nivel sea igual o superior, el mensaje es almacenado en el fichero del registro de eventos. En caso contrario, el mensaje es ignorado
El Administrador, a la hora de instalar el sistema, debe definir el fichero asociado al registro de eventos, así como los niveles de prioridad que quiere registrar en función del tipo de evento.
Como se puede ver es una implementación muy similar al syslog estandard del sistema, salvo que no se puede reconfigurar dinámicamente , sino que será preciso detener el servidor web para que los cambios se hagan efectivos
Existen unos puntos de registro de evento predefinidos. No obstante, el administrador, en función de sus necesidades, podrá situarlos donde más lo estime conveniente