From: Leandro Lucarella Date: Sun, 8 May 2005 02:09:57 +0000 (+0000) Subject: Agrego informe en formato HTML. Falta completar. X-Git-Tag: svn_import~36 X-Git-Url: https://git.llucax.com/z.facultad/75.43/tp1.git/commitdiff_plain/962610f81feeedd6469b92ebd6ebdf995bdd626c Agrego informe en formato HTML. Falta completar. --- diff --git a/docs/informe/admin.admin.jpg b/docs/informe/admin.admin.jpg new file mode 100644 index 0000000..da0d8dd Binary files /dev/null and b/docs/informe/admin.admin.jpg differ diff --git a/docs/informe/admin.asociarse.jpg b/docs/informe/admin.asociarse.jpg new file mode 100644 index 0000000..2a5c0a0 Binary files /dev/null and b/docs/informe/admin.asociarse.jpg differ diff --git a/docs/informe/admin.creditos.jpg b/docs/informe/admin.creditos.jpg new file mode 100644 index 0000000..4ddfbf7 Binary files /dev/null and b/docs/informe/admin.creditos.jpg differ diff --git a/docs/informe/admin.log.jpg b/docs/informe/admin.log.jpg new file mode 100644 index 0000000..df63656 Binary files /dev/null and b/docs/informe/admin.log.jpg differ diff --git a/docs/informe/admin.login.jpg b/docs/informe/admin.login.jpg new file mode 100644 index 0000000..f4c4d55 Binary files /dev/null and b/docs/informe/admin.login.jpg differ diff --git a/docs/informe/informe.html b/docs/informe/informe.html new file mode 100644 index 0000000..a52887e --- /dev/null +++ b/docs/informe/informe.html @@ -0,0 +1,367 @@ + + + + Informe Trabajo Práctico 1 + + + +

Carátula

+

Introducción a Sistemas Distribuídos (75.43)

+

Trabajo Práctico Número 1

+

Grupo

+
+
Número de grupo:
+

10

+
Nombre del host:
+

lb10

+
Nombre de usuario:
+

sisdis10

+
+ + + + + + + + + + + + + + + + + + +
Integrantes
NombrePadrónMódulo desarrollado
Leandro Lucarella77891Actualización de socios y administración de créditos
Jonathan ScheinCOMPLETARCOMPLETAR
Sebastián ArenaCOMPLETARCOMPLETAR
+

Índice

+
    +
  1. Diseño de las páginas
  2. +
  3. Desarrollo
  4. +
  5. Herramientas de desarrollo
  6. +
  7. Configuración del servidor
  8. +
  9. Instalación
  10. +
  11. Modo de uso
  12. +
+

Diseño de las páginas

+

index.php

+

+ Esta página es el punto de partida del sistema. Normalmente se + encarga de mostrar el login, pero puede encargarse también de + resumir la sesión o de ir directo a la asociación de administradores si + correspondiese (por ejemplo, si se cerró el navegador y se vuelve + a abrir en un corto período de tiempo; o si es la primera vez que + se usa el sistema y todavía no hay 2 administradores asignados; + respectivamente). +

+

admin.login.php

+

+ Es la página que realmente se encarga de hacer el + login. Debe ingresarse el código de usuario + (sea socio o asesor) y el password. + Si el usuario no existe, o si está mal el password, etc, se muestra + el correspondiente mensaje de error. +

+
+ Captura de pantalla de admin.login.php +
+

admin.logout.php

+

+ Esta página, al igual que index.php, no + tiene contenido propio, sino que se encarga de borrar todos los + datos de la sesión del usuario y luego muestra la pantalla de login + ingresarse el código de usuario (sea socio o asesor) y el password. + Si el usuario no existe, o si está mal el password, etc, se muestra + el correspondiente mensaje de error. +

+

admin.asociarse.php

+

+ Esta página asocia a un integrante del grupo (presente en el archivo + int_2005.txt si es socio o ase_2005.txt si es asesor). Si el sistema + todavía no tiene 2 administradores asignados, los usuarios que se + asocien, serán administradores (el sistema lo advierte, si es el + caso). Una vez asignados 2 administradores, la única forma de + cambiarlos es a través de la página para + ceder los permisos de administración (accesible sólo por los + administradores). +

+
+ Captura de pantalla de admin.asociarse.php +
+

admin.log.php

+

+ Esta página muestra el log de actividades del + usuario. Permite elegir la fecha desde la cual se quieren ver las + actividades. +

+
+ Captura de pantalla de admin.log.php +
+

admin.creditos.php

+

+ En esta página el administrador puede agregar créditos a los + usuarios. Para realizar esta tarea el administrador debe ingresar su + password para corroborar su identidad como un mecanismo de seguridad + extra (ya que de todas formas sólo un usuario con permisos de + administrador puede realizar esta tarea). De esta manera, si por + alguna razón un usuario se quedara sin créditos para preguntar, + podría solicitar al administrador que le asigne algunos créditos. + Las razones de aprobación y la cantidad de créditos otorgados, queda + enteramente a consideración del administrador. +

+
+ Captura de pantalla de admin.creditos.php +
+

admin.admin.php

+

+ A través de esta página un administrador puede ceder sus + permisos de administración. Una vez cedidos, este usuario dejará de + ser administrador y comenzará a serlo el nuevo usuario asignado. + Al ser esta acción de un compromiso considerable, el administrador + debe volver a ingresar su password para confirmarlo (aunque ya esté + logueado y sólo los administradores puedan realizar esta acción). +

+
+ Captura de pantalla de admin.admin.php +
+ +

Desarrollo

+ AGREGAR DESCRIPCION DE LO HECHO!!!! +

Formato de Archivos

+

+ Todos los archivos del sistema se almacenan en el directorio data. + Varios archivos son creados en tiempo de ejecución por el + servidor web, por lo tanto este directorio debe tener permisos de + escritura para el usuario con el que corre dicho servidor. + Además las fotos de los usuarios se guardan en el directorio fotos y + también se crean en tiempo de ejecución, por lo tanto este + directorio también debe tener permisos de escritura para el servidor + web. El nombre del archivo de la foto de un usuario es su número de + registro (si es socio) o código (si es asesor). +

+

+ A continuación se describe el formato de cada archivo. +

+

int_2005.txt

+

+ Este archivo tiene formato CSV y está cargado previo + a la ejecución del sistema con todos los integrantes que + potencialmente serán socios del sistema. + Los campos del archivo son: +

+
    +
  1. Número de registro
  2. +
  3. Nombre del usuario
  4. +
  5. Apellido del usuario
  6. +
+

ase_2005.txt

+

+ Este archivo tiene formato CSV y está cargado previo + a la ejecución del sistema con todos los integrantes que + potencialmente serán asesores del sistema. + Los campos del archivo son: +

+
    +
  1. Código (formato A+año+número correlativo)
  2. +
  3. Nombre del usuario
  4. +
  5. Apellido del usuario
  6. +
+

users.csv

+

+ Este archivo tiene formato CSV y se crea en + tiempo de ejecución. En él se almacenan los usuarios + registrados en el sistema. + Los campos del archivo son: +

+
    +
  1. + Número de registro/Código (dependiendo de si es socio o + asesor) +
  2. +
  3. Contraseña del usuario
  4. +
  5. Dirección de correo electrónico del usuario
  6. +
+

admin.txt

+

+ Este archivo tiene formato de texto plano y almacena un número de + registro o código (según sea socio o asesor) por línea (aunque + también puede ser visto como un archivo CSV con un sólo campo). + Su función es almacenar los identificadores de los 2 administradores + del sistema y es creado en tiempo de ejecución. +

+

creditos.*.csv

+

+ Este archivo tiene formato CSV modificado, ya que + incluye en los primeros 11 bytes un índice a la última + entrada. Es decir, en los primeros 11 bytes se almacena la posición + del archivo en la que se encuentra el último registro CSV. + Dicha posición, se almacena en codificación ASCII como un número de + 10 cifras (con ceros delante) y un caracter de fin de línea al + final. Como normalmente sólo importa el último registro del archivo, + esto acelera mucho, ya que no hay que recorrerlo completo para + obtener dicho registro. De esta manera el acceso es casi directo y + se conserva la historia de la variación de los créditos. +

+

+ Este archivo se crea en tiempo de ejecución, uno por cada + socio, en el momento en que se registra en el sistema. El nombre + del archivo incluye el número de registro del socio + (creditos.[nro_registro].csv) y en él se almacena la + historia de créditos de dicho usuario. + Los campos del archivo son: +

+
    +
  1. Timestamp con la fecha en la que se creó la entrada
  2. +
  3. Cantidad de créditos que tiene el socio
  4. +
  5. + Cantidad de respuestas con ranking + 2 o más que le falta para obtener los 5 créditos extra +
  6. +
  7. Cantidad de días que lleva sin preguntar
  8. +
+

+ Este archivo se actualiza en etapas distintas. Cuando el usuario + ingresa al sistema, se recalculan los créditos para ver si se le + deben restar por cantidad de días sin preguntar. Se resta 1 crédito + por cada 30 días sin responder. El cálculo realizado es el + siguiente: +

+

+ Llamaremos FECHA al campo 1 del registro del archivo leído, CREDITOS + al campo 2 y DIAS al campo 4. Llamaremos FECHA_ACTUAL a la fecha del + instante del login. Ambas fechas expresadas como timestamps. Para + calcular la diferencia en días entre 2 fechas, simplemente se restan + y se divide por 86400 (cantidad de segundos en un día). Entonces + para saber la cantidad de días que hace que no se pregunta en el + instante del login (DIAS_NUEVO), se realiza: DIAS_NUEVO = + DIAS + (FECHA_ACTUAL - FECHA) / 86400. Luego, si DIAS_NUEVO + es más que 30, se calculan los nuevos créditos (CREDITOS_NUEVO) como + CREDITOS_NUEVO = CREDITOS - (DIAS_NUEVO / 30) y la + nueva cantidad de días sin preguntar restantes (DIAS_RESTO) como + DIAS_RESTO = DIAS_NUEVO % 30 (siendo % el resto de la + división entera), ya que estos días sin pregutnar extra que + todavía no llegan a sumar 30 como para restar créditos, deben ser + considerados para futuros cálculos. Finalmente en el archivo de + créditos se guarda un nuevo registro con los datos CREDITOS_NUEVO y + DIAS_RESTO en los campos 2 y 4 respectivamente. El resto de los + campos (exceptuando la fecha, que siempre se guarda con la fecha de + modificación del archivo) quedan intactos. +

+

+ El otro caso en donde se actualiza este archivo (se actualizan los + créditos) es cuando un socio realiza una pregunta. En este caso, + solamente se resta un crédito (campo 2) y pone se resetean los días + sin preguntar (el campo 4 se pone en cero). +

+

+ Finalmente, el último caso en donde se actualiza este archivo (se + recalculan los créditos) es cuando un usuario califica una respuesta + con un valor igual o superior a 2. En este caso se suma uno al campo + 3 y se verifica si es igual o superior a 5 (en realidad jamás será + superior a 5). Si lo es, se pone en cero y se agregan 5 créditos. +

+

log.*.csv

+

+ Este archivo tiene formato CSV. y se crea en + tiempo de ejecución, uno por cada usuario, en el momento + en que se registra en el sistema. El nombre del archivo incluye el + número de registro del socio o código del asesor según el caso + (log.[nro_registro/codigo].csv) y en él se almacena la el log de + actividades (es decir, cada vez que el usuario realiza una acción en + el sistema, se agrega una entrada a este archivo que la describe). + Los campos del archivo son: +

    +
  1. Timestamp con la fecha en la que se creó la entrada
  2. +
  3. Descripción de la acción realizada
  4. +
+

Herramientas de desarrollo

+

+ Cada integrante eligió herramientas de desarrollo propias, más allá + de las herramientas obligatorias que había que usar + indefectiblemente para realizar el TP (como PHP y Apache). + A continuación se enumeran las herramientas utilizadas por cada + integrante. +

+

Leandro Lucarella

+
+
Navegador
+

Mozilla Firefox, w3m

+
Editor de texto
+

VIM

+
Validador
+

Herramientas de w3c: tidy y el servicio de validación + online (http://validator.w3.org/)

+
Herramientas de diseño de HTML
+

Ninguna

+
+

Jonathan Schein

+
+
Navegador
+

+
Editor de texto
+

+
Validador
+

+
Herramientas de diseño de HTML
+

+
+

Sebastián Arena

+
+
Navegador
+

+
Editor de texto
+

+
Validador
+

+
Herramientas de diseño de HTML
+

+
+

Configuración del servidor

+

+ COMPLETAR!!! Por ahora nada, sólo que ande PHP. +

+

Instalación

+

+ COMPLETAR!!! Supongo que es suficiente con copiar los archivos de + src/ al public_html, ponerle permisos de lectura para el apache en + todo y permisos de escritura en el directorio data/ y fotos/. +

+

Modo de uso

+

+ COMPLETAR!!! Mucho de esto por ahora está en la descripción del + diseño... +

+ + + +