]> git.llucax.com Git - z.facultad/75.43/tp1.git/commitdiff
Agrego informe en formato HTML. Falta completar.
authorLeandro Lucarella <llucax@gmail.com>
Sun, 8 May 2005 02:09:57 +0000 (02:09 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sun, 8 May 2005 02:09:57 +0000 (02:09 +0000)
docs/informe/admin.admin.jpg [new file with mode: 0644]
docs/informe/admin.asociarse.jpg [new file with mode: 0644]
docs/informe/admin.creditos.jpg [new file with mode: 0644]
docs/informe/admin.log.jpg [new file with mode: 0644]
docs/informe/admin.login.jpg [new file with mode: 0644]
docs/informe/informe.html [new file with mode: 0644]

diff --git a/docs/informe/admin.admin.jpg b/docs/informe/admin.admin.jpg
new file mode 100644 (file)
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 (file)
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 (file)
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 (file)
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 (file)
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 (file)
index 0000000..a52887e
--- /dev/null
@@ -0,0 +1,367 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="es">
+    <head>
+        <title>Informe Trabajo Práctico 1</title>
+        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
+    </head>
+    <body>
+        <h1>Carátula</h1>
+        <p><strong>Introducción a Sistemas Distribuídos (75.43)</strong></p>
+        <p>Trabajo Práctico Número 1</p>
+        <h2>Grupo</h2>
+        <dl>
+            <dt>Número de grupo:</dt>
+            <dd><p>10</p></dd>
+            <dt>Nombre del host:</dt>
+            <dd><p>lb10</p></dd>
+            <dt>Nombre de usuario:</dt>
+            <dd><p>sisdis10</p></dd>
+        </dl>
+        <table border="1" summary="Integrantes">
+            <caption>Integrantes</caption>
+            <tr><th>Nombre</th><th>Padrón</th><th>Módulo desarrollado</th></tr>
+            <tr>
+                <td>Leandro Lucarella</td>
+                <td>77891</td>
+                <td>Actualización de socios y administración de créditos</td>
+            </tr>
+            <tr>
+                <td>Jonathan Schein</td>
+                <td>COMPLETAR</td>
+                <td>COMPLETAR</td>
+            </tr>
+            <tr>
+                <td>Sebastián Arena</td>
+                <td>COMPLETAR</td>
+                <td>COMPLETAR</td>
+            </tr>
+        </table>
+        <h1>Índice</h1>
+        <ol>
+            <li><a href="#disenio">Diseño de las páginas</a></li>
+            <li><a href="#desarrollo">Desarrollo</a></li>
+            <li><a href="#herramientas">Herramientas de desarrollo</a></li>
+            <li><a href="configuracion">Configuración del servidor</a></li>
+            <li><a href="instalación">Instalación</a></li>
+            <li><a href="uso">Modo de uso</a></li>
+        </ol>
+        <h1><a name="disenio">Diseño de las páginas</a></h1>
+        <h2><a name="index_php">index.php</a></h2>
+        <p>
+            Esta página es el punto de partida del sistema. Normalmente se
+            encarga de mostrar el <a href="#admin_login_php"><span
+            lang="en">login</span></a>, pero puede encargarse también de
+            resumir la sesión o de ir directo a la <a
+            href="#admin_asociarse_php">asociación</a> 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).
+        </p>
+        <h2><a name="admin_login_php">admin.login.php</a></h2>
+        <p>
+            Es la página que realmente se encarga de hacer el
+            <span lang="en">login</span>. 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.
+        </p>
+        <div align="center">
+            <img src="admin.login.jpg"
+                alt="Captura de pantalla de admin.login.php" />
+        </div>
+        <h2><a name="admin_logout_php">admin.logout.php</a></h2>
+        <p>
+            Esta página, al igual que <a href="#index_php">index.php</a>, 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 <a
+            href="#admin_login_php"><span lang="en">login</span></a>
+            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.
+        </p>
+        <h2><a name="admin_asociarse_php">admin.asociarse.php</a></h2>
+        <p>
+            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 <a href="#admin_admin_php">página para
+            ceder los permisos de administración</a> (accesible sólo por los
+            administradores).
+        </p>
+        <div align="center">
+            <img src="admin.asociarse.jpg"
+                alt="Captura de pantalla de admin.asociarse.php" />
+        </div>
+        <h2><a name="admin_log_php">admin.log.php</a></h2>
+        <p>
+            Esta página muestra el <span lang="en">log</span> de actividades del
+            usuario. Permite elegir la fecha desde la cual se quieren ver las
+            actividades.
+        </p>
+        <div align="center">
+            <img src="admin.log.jpg"
+                alt="Captura de pantalla de admin.log.php" />
+        </div>
+        <h2><a name="admin_creditos_php">admin.creditos.php</a></h2>
+        <p>
+            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.
+        </p>
+        <div align="center">
+            <img src="admin.creditos.jpg"
+                alt="Captura de pantalla de admin.creditos.php" />
+        </div>
+        <h2><a name="admin_admin_php">admin.admin.php</a></h2>
+        <p>
+            A través de esta página un administrador puede <em>ceder</em> 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).
+        </p>
+        <div align="center">
+            <img src="admin.admin.jpg"
+                alt="Captura de pantalla de admin.admin.php" />
+        </div>
+        <!--
+        
+        COMPLETAR!!!!
+
+        Template:
+
+        <h2>.php</h2>
+        <p>
+        </p>
+        <div align="center">
+            <img src=".jpg"
+                alt="Captura de pantalla de .php" />
+        </div>
+
+        -->
+        <h1><a name="desarrollo">Desarrollo</a></h1>
+        AGREGAR DESCRIPCION DE LO HECHO!!!!
+        <h2><a name="desarrollo_archivos">Formato de Archivos</a></h2>
+        <p>
+            Todos los archivos del sistema se almacenan en el directorio data.
+            Varios archivos son creados en <em>tiempo de ejecución</em> 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 <em>tiempo de ejecución</em>, 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).
+        </p>
+        <p>
+            A continuación se describe el formato de cada archivo.
+        </p>
+        <h3><a name="desarrollo_archivos_int_2005_txt">int_2005.txt</a></h3>
+        <p>
+            Este archivo tiene formato <acronym lang="en"
+            title="Comma Separated Values">CSV</acronym> y está cargado previo
+            a la ejecución del sistema con todos los integrantes que
+            potencialmente serán <em>socios</em> del sistema.
+            Los campos del archivo son:
+        </p>
+        <ol>
+            <li>Número de registro</li>
+            <li>Nombre del usuario</li>
+            <li>Apellido del usuario</li>
+        </ol>
+        <h3><a name="desarrollo_archivos_ase_2005_txt">ase_2005.txt</a></h3>
+        <p>
+            Este archivo tiene formato <acronym lang="en"
+            title="Comma Separated Values">CSV</acronym> y está cargado previo
+            a la ejecución del sistema con todos los integrantes que
+            potencialmente serán <em>asesores</em> del sistema.
+            Los campos del archivo son:
+        </p>
+        <ol>
+            <li>Código (formato A+año+número correlativo)</li>
+            <li>Nombre del usuario</li>
+            <li>Apellido del usuario</li>
+        </ol>
+        <h3><a name="desarrollo_archivos_users_csv">users.csv</a></h3>
+        <p>
+            Este archivo tiene formato <acronym lang="en"
+            title="Comma Separated Values">CSV</acronym> y se crea en
+            <em>tiempo de ejecución</em>. En él se almacenan los usuarios
+            registrados en el sistema.
+            Los campos del archivo son:
+        </p>
+        <ol>
+            <li>
+                Número de registro/Código (dependiendo de si es socio o
+                asesor)
+            </li>
+            <li>Contraseña del usuario</li>
+            <li>Dirección de correo electrónico del usuario</li>
+        </ol>
+        <h3><a name="desarrollo_archivos_admin_txt">admin.txt</a></h3>
+        <p>
+            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 <acronym lang="en"
+            title="Comma Separated Values">CSV</acronym> con un sólo campo).
+            Su función es almacenar los identificadores de los 2 administradores
+            del sistema y es creado en <em>tiempo de ejecución</em>.
+        </p>
+        <h3><a name="desarrollo_archivos_creditos_csv">creditos.*.csv</a></h3>
+        <p>
+            Este archivo tiene formato <acronym lang="en"
+            title="Comma Separated Values">CSV</acronym> modificado, ya que
+            incluye en los primeros 11 bytes un <em>índice</em> 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 <em>registro</em> 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.
+        </p>
+        <p>
+            Este archivo se crea en <em>tiempo de ejecución</em>, 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:
+        </p>
+        <ol>
+            <li>Timestamp con la fecha en la que se creó la entrada</li>
+            <li>Cantidad de créditos que tiene el socio</li>
+            <li>
+                Cantidad de respuestas con <span lang="en">ranking</span>
+                2 o más que le falta para obtener los 5 créditos extra
+            </li>
+            <li>Cantidad de días que lleva sin preguntar</li>
+        </ol>
+        <p>
+            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:
+        </p>
+        <p>
+            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: <code>DIAS_NUEVO =
+            DIAS + (FECHA_ACTUAL - FECHA) / 86400</code>. Luego, si DIAS_NUEVO
+            es más que 30, se calculan los nuevos créditos (CREDITOS_NUEVO) como
+            <code>CREDITOS_NUEVO = CREDITOS - (DIAS_NUEVO / 30)</code> y la
+            nueva cantidad de días sin preguntar restantes (DIAS_RESTO) como
+            <code>DIAS_RESTO = DIAS_NUEVO % 30</code> (siendo % el resto de la
+            división entera), ya que estos días sin pregutnar <em>extra</em> 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.
+        </p>
+        <p>
+            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).
+        </p>
+        <p>
+            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.
+        </p>
+        <h3><a name="desarrollo_archivos_log_csv">log.*.csv</a></h3>
+        <p>
+            Este archivo tiene formato <acronym lang="en"
+            title="Comma Separated Values">CSV</acronym>. y se crea en
+            <em>tiempo de ejecución</em>, 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:
+        <ol>
+            <li>Timestamp con la fecha en la que se creó la entrada</li>
+            <li>Descripción de la acción realizada</li>
+        </ol>
+        <h1><a name="herramientas">Herramientas de desarrollo</a></h1>
+        <p>
+            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.
+        </p>
+        <h2>Leandro Lucarella</h2>
+        <dl>
+            <dt>Navegador</dt>
+            <dd><p>Mozilla Firefox, w3m</p></dd>
+            <dt>Editor de texto</dt>
+            <dd><p>VIM</p></dd>
+            <dt>Validador</dt>
+            <dd><p>Herramientas de w3c: tidy y el servicio de validación
+                online (http://validator.w3.org/)</p></dd>
+            <dt>Herramientas de diseño de HTML</dt>
+            <dd><p>Ninguna</p></dd>
+        </dl>
+        <h2>Jonathan Schein</h2>
+        <dl>
+            <dt>Navegador</dt>
+            <dd><p></p></dd>
+            <dt>Editor de texto</dt>
+            <dd><p></p></dd>
+            <dt>Validador</dt>
+            <dd><p></p></dd>
+            <dt>Herramientas de diseño de HTML</dt>
+            <dd><p></p></dd>
+        </dl>
+        <h2>Sebastián Arena</h2>
+        <dl>
+            <dt>Navegador</dt>
+            <dd><p></p></dd>
+            <dt>Editor de texto</dt>
+            <dd><p></p></dd>
+            <dt>Validador</dt>
+            <dd><p></p></dd>
+            <dt>Herramientas de diseño de HTML</dt>
+            <dd><p></p></dd>
+        </dl>
+        <h1><a name="configuracion">Configuración del servidor</a></h1>
+        <p>
+            COMPLETAR!!! Por ahora nada, sólo que ande PHP.
+        </p>
+        <h1><a name="instalación">Instalación</a></h1>
+        <p>
+            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/.
+        </p>
+        <h1><a name="uso">Modo de uso</a></h1>
+        <p>
+            COMPLETAR!!! Mucho de esto por ahora está en la descripción del
+            diseño...
+        </p>
+    </body>
+</html>
+
+<!-- vim: set et sw=4 sts=4 : -->