[Programación] Re: [Programación] RE: [Programació n] Re: [Programación] RE: [Programa ción] Proyecto suscripción a jornadas

J. Mario Oroz programacion@lugro.org.ar
Thu, 01 Dec 2005 13:58:09 -0300


Arino Omar escribió:

>Aclaro el planteo, ya que quizas el problema esté en que todavía estoy en la etapa de diseño del sistema y estoy escuchando las ideas que surgen en la lista para poder hacer el planteo final.
>Hasta ahora tengo el siguiente planteo.
>
>Objetivo del sistema:
>
>----------------------------------------------------------------------------
>PREACREDITACIÓN.
>1) Los datos que se ingresan deben ser definidos por el usuario administrador.
>	En este punto es en donde necesito la tabla molde, donde el 
>	administrador define los campos que debe ingresar el interesado
>	para pre-acreditarse.
>	En base a estos datos el sistema debe generar todos los procesos de
>	A/B/M/C.
>2) Que el interesado pueda ingresar sus datos via web.
>3) Que estos datos se almacenen en una base de datos, en un archivo de texto o se envíen por correo.
>
>ACREDITACION.
>1) Con los datos ingresados en el proceso de PRE-ACREDITACION. Se debe poder trabajar generando en una tabla auxiliar todos los estado posibles para el asistente, pudiendo ser que el asistente vino, no vino, se imprimió acreditación, cuantas impresiones se realizaron, si se emite certificado, cuantos certificados se emitieron. Todos estos datos buscan la información en la tabla que se definió para el proceso de pre-acreditación. Todos los procesos de A/B/C/M son generados en el proceso de configuración.
>
>POSACREDITACIÓN
>Tener los datos disponibles para que se pueda generar todos los procesos necesarios que el administrador defina.
>
>----------------------------------------------------------------------------
>
>Esto es a groso modo la definición del funcionamiento del sistema.
>  
>
Hola Omar;
Entonces podriamos empezar a armar los posibles lineamientos del *como 
hacerlo*;  serian:

1-Un proceso de inicializacion:
1.1-Determine soporte de los  datos;  este soporte puede ser  una db, 
texto plano o email.
1.1.1  Si es una db; que seleccione alguna de su interes; aqui le damos 
a elegir alguno de los motores
que soporte ADOdb que es la abstraccion de db que ofrece NYI.
El proceso debe verificar la existencia de dicha db, si no puede 
detectar dicha db que avise y proponga
revisar la instalacion de dicha db, ó reenviarlo al punto 1.1
Si se verifica su existencia, la del motor seleccionado; se crea el 
esquema de la tabla *molde*, usando la interface ADOdb; luego llega la 
parte de cargar dicha tabla con las definiciones de tablas que 
presisaremos luego. En una etapa posterior se realizara la generacion de 
todas las tabals.
<SEGUIR>
 
1.1.2 Si es texto plano, se cree un archivo *molde* que contenga la 
informacion de los demas archivos a generar. Este archivo *molde* en una 
instancia posterior servira para crear los archivos que correspondan, el 
formato de los archivo que se generen podria ser del estilo cvs, que la 
primera linea del archivo contenga la estructura de datos que este vaya 
a contener (esto es para el archivo *molde* tambien).Se tendra que 
escribir el codigo necesarios para crear el archivo *molde* en disco y 
luego ir agregando las tablas a generar en una instancia posterior.

*Creo que un aexcelente alternativa seria usar una db embebida como la 
SQLite que es en si un archivo en disco y podriamos emplearla como por 
defecto en nuestro procedimiento de inicializacion y configuracion ya 
que solo se trata de crear un archivo en disco con su estructura interna 
de tablas e indices y nos libramos de los de texto plano, eso si; ya no 
deberiamos chequear la existencia del soporte en el sistema para esta db 
sino que la deberiamos instalar, pero como ya biene empaquetado 
podriamos hacer desde el proceso un simple "rpm -i" o "dpkg" para 
instala, ya que solo son bibliotecas compartidas y un par de ejecutables*

Ej:
molde.txt
#nombre_tabla;campo;desc_campo_para_formulario;atributos_para_la_base;etc
suscriptor;nombre;Nombre;"not null";etc
suscriptor;ciudad;Ciudad;"not null";etc
eventos;denominacion;"Denominacion del Evento";not null"
...

suscriptor.txt
#nombre;ciudad
"Mario Oroz";"Carca"
"Esteban Quito";"Caracas"

Se entendio la idea no?.
<SEGUIR>
1.1.3 Si se decide mandar los datos por e-mail, ingresar el mail que 
recibira las suscripciones; especificar los campos que se informan y 
generar el formulario que recolecta dichos datos.
<SEGUIR>
1.2 Luego de haber generado el soporte de los datos, crear si es 
necesario los usuarios administradores que se necesiten (cre que este 
punto dependeria de haber generado una tabla de usuarios y un formulario 
abmc para el mismo en los puntos 1.1.* anteriores)
<SEGUIR>

Si les parece bien podriamos ir completando esta especie de 
procedimineto descriptivo del sistema. no?
Mario.