X-Git-Url: https://git.llucax.com/z.facultad/75.43/tp1.git/blobdiff_plain/6e6538b18dfeef58d5db02165f80162c727d5092..HEAD:/docs/informe/informe.html diff --git a/docs/informe/informe.html b/docs/informe/informe.html index eb81573..ac1d567 100644 --- a/docs/informe/informe.html +++ b/docs/informe/informe.html @@ -6,7 +6,7 @@

Carátula

-

Introducción a Sistemas Distribuídos (75.43)

+

Introducción a Sistemas Distribuidos (75.43)

Trabajo Práctico Número 1

Grupo

@@ -27,13 +27,13 @@ Jonathan Schein - COMPLETAR - COMPLETAR + 80083 + Actualización de información de FAQ's Sebastián Arena - COMPLETAR - COMPLETAR + 80367 + Actualización de información de interés de otros sitios y comentarios

Índice

@@ -42,11 +42,12 @@
  • Desarrollo
  • Herramientas de desarrollo
  • Configuración del servidor
  • -
  • Instalación
  • +
  • Instalación
  • Modo de uso
  • Diseño de las páginas

    -

    index.php

    +

    Modulo de Administración

    +

    index.php

    Esta página es el punto de partida del sistema. Normalmente se encarga de mostrar el -

    admin.login.php

    +

    admin.login.php

    Es la página que realmente se encarga de hacer el login. Debe ingresarse el código de usuario @@ -70,7 +71,7 @@ Captura de pantalla de admin.login.php -

    admin.logout.php

    +

    admin.logout.php

    Esta página, al igual que index.php, no tiene contenido propio, sino que se encarga de borrar todos los @@ -80,7 +81,7 @@ Si el usuario no existe, o si está mal el password, etc, se muestra el correspondiente mensaje de error.

    -

    admin.asociarse.php

    +

    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 @@ -95,7 +96,7 @@ Captura de pantalla de admin.asociarse.php -

    admin.log.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 @@ -105,7 +106,7 @@ Captura de pantalla de admin.log.php -

    admin.creditos.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 @@ -121,7 +122,7 @@ Captura de pantalla de admin.creditos.php -

    admin.admin.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 @@ -134,24 +135,156 @@ Captura de pantalla de admin.admin.php -

    Desarrollo

    - AGREGAR DESCRIPCION DE LO HECHO!!!! -

    Formato de Archivos

    +

    Diseño del sistema

    +

    + Los siguientes dos graficos describen como fue pensado el sistema a nivel + clases, y como se integrarian las diferentes partes, para que, pese a contar + con tres modulos separados, quede una unica aplicacion homogenea. Como punto de + partida entonces se realizaron estos dos graficos que sirvieron como guia, y + a lo largo del desarrollo fueron actualizandose. Se adjuntan aqui sus versiones + finales. +

    +

    Diagrama de Clases

    +

    + El diagrama de clases se penso con el fin de poder reutilizar la mayor cantidad + de codigo posible, y de dividir de forma mas clara las tareas. La idea de estas + clases, principalmente, es que sean las entidades que son persistidas en los archivos + de texto, para tener un manejo mas sencillo y eficiente de la informacion. +

    +
    + Diagrama de clases +
    +

    Gráfico de Navegación

    +

    + Este esquema permite ver la interrelación entre las diferentes pantallas del sistema + y como se puede acceder de una a la otra. Ademas, da una idea a alto nivel de como funciona + y como aparecen integrados los diferentes elementos. +

    +
    + Gráfico de Navegación +
    +

    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 @@ -249,11 +382,12 @@

  • Cantidad de días que lleva sin preguntar
  • - 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: + Este archivo se actualiza en etapas distintas (siempre que se + actualiza, se agrega un nuevo registro con los nuevos datos y se + actualiza el índice). 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 @@ -268,7 +402,7 @@ 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 + división entera), ya que estos días sin preguntar 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 @@ -284,10 +418,12 @@

    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. + recalculan los créditos) es cuando un usuario califica una + respuesta. Se suma a CREDITOS la calificación de dicha respuesta y + si la respuesta está calificada con un valor igual o superior a 2 + se suma uno al campo 3 (BONUS) 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 + BONUS y se suma 5 CREDITOS.

    log.*.csv

    @@ -303,6 +439,109 @@

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

    preguntas.csv

    +

    + Este archivo tiene formato CSV. y se crea en + tiempo de ejecución. A medida que se van dando de alta las + preguntas, se agrega una línea al final. Se guarda toda la información + necesaria para poder operar con las preguntas. Cuando una pregunta se + da de baja, no es eliminada de este archivo. De esta forma, + queda un registro histórico de las preguntas que fueron dadas de alta en + el sistema. + Los campos del archivo son: +

      +
    1. Id de la pregunta
    2. +
    3. Id del usuario autor de la pregunta
    4. +
    5. Timestamp con la fecha de creación de la pregunta
    6. +
    7. Texto de la pregunta
    8. +
    +

    respuestas.csv

    +

    + Este archivo tiene formato CSV. y se crea en + tiempo de ejecución. Cuando se da de alta una respuesta a una + pregunta, se da de alta un nuevo registro en este archivo. El id de las + respuestas es simplemente el orden en el que fueron loguadas. Se guarda información + de la pregunta que se esta respondiendo para que sea mas sencilla la operatoria con + las respuestas, y pueda trabajar de manera independiente a las preguntas. + Los campos del archivo son: +

      +
    1. Id de la pregunta que se esta respondiendo
    2. +
    3. Id del usuario autor de la pregunta que se esta respondiendo
    4. +
    5. Id del usuario autor de la respuesta
    6. +
    7. Timestamp con la fecha de creación de la respuesta
    8. +
    9. Texto de la respuesta
    10. +
    +

    calificacion.csv

    +

    + Este archivo tiene formato CSV. y se crea en + tiempo de ejecución. Cuando un usuario autor de una pregunta + califica las respuestas a dicha pregunta, se da de alta un registro en este archivo. + Luego, se asociara al calificacion a la respuesta correspondiente. Si una respuesta + no aparece en este archivo, es que todavía no fue calificada. + Los campos del archivo son: +

      +
    1. Id de la respuesta calificada
    2. +
    3. Puntaje
    4. +
    +

    desactivadas.csv

    +

    + Este archivo tiene formato CSV. y se crea en + tiempo de ejecución. Cuando un administrador da de baja una pregunta, + simplemente se ingresa el id de la misma en este archivo. A partir de ese momento, el + listador la ignorará al momento de mostrar las preguntas por pantalla. + Los campos del archivo son: +

      +
    1. Id de la pregunta
    2. +
    3. Timestamp con la fecha de baja
    4. +
    +

    temas.csv

    +

    + Este archivo tiene formato CSV. Se va cargando por los administradores durante + la ejecución del sistema. + Los campos del archivo son: +

    +
      +
    1. ID que identifica unívocamente a los temas.
    2. +
    3. Usuario que cargo el mismo.
    4. +
    5. Nombre del mismo.
    6. +
    7. Ruta al icono del mismo.
    8. +
    9. Breve descripción.
    10. +
    11. Fecha de alta/modificación.
    12. +
    +

    infos.csv

    +

    + Este archivo tiene formato CSV. Se va cargando por los asesores/socios durante + la ejecución del sistema. + Los campos del archivo son: +

    +
      +
    1. ID que identifica univocamente a las informaciones.
    2. +
    3. ID del tema al cual pertenece.
    4. +
    5. URL (link) a la información otorgada.
    6. +
    7. Usuario que cargo el mismo.
    8. +
    9. Breve descripción.
    10. +
    11. Cantidad de visitas a la URL (link) proporcionada.
    12. +
    13. Fecha de alta/modificación.
    14. +
    +

    comentarios.*.csv

    +

    + Este archivo tiene formato CSV. Se va cargando por los asesores/socios durante + la ejecución del sistema. + Los campos del archivo son: +

    +
      +
    1. ID que identifica univocamente a las informaciones.
    2. +
    3. Usuario que cargó el mismo.
    4. +
    5. Comentario.
    6. +
    7. Fecha de alta/modificación.

    Herramientas de desarrollo

    @@ -327,41 +566,297 @@

    Jonathan Schein

    Navegador
    -

    +

    Mozilla Firefox, Internet Explorer 6

    Editor de texto
    -

    +

    HTML-Kit, Notepad

    Validador
    -

    +

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

    Herramientas de diseño de HTML
    -

    +

    Ninguna

    Sebastián Arena

    Navegador
    -

    +

    Mozilla Firefox, Internet Explorer 6

    Editor de texto
    -

    +

    EmEditor

    Validador
    -

    +

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

    Herramientas de diseño de HTML
    -

    +

    Ninguna

    Configuración del servidor

    - COMPLETAR!!! Por ahora nada, sólo que ande PHP. + El servidor no debe ser configurado de ninguna forma en particular, + sólo debe tener activado el módulo de PHP y la extensión user_dir de + apache si va a ser instalado en el directorio public_html de un + usuario. El resto de las configuración se realizan desde el mismo + sistema, por lo que no es necesario hacer modificaciones ni a la + configuración del apache ni a la del PHP. +

    +

    + Si no estuviera configurado el módulo user_dir, habría que agregar + al apache las siguiente líneas: +

    +
    +LoadModule userdir_module libexec/mod_userdir.so
    +AddModule mod_userdir.c
    +UserDir public_html
    +        
    +

    + Si no estuviera configurado el módulo de php, habría que agregar + al apache las siguiente líneas: +

    +
    +LoadModule php4_module libexec/libphp4.so
    +AddModule mod_php4.c
    +AddType application/x-httpd-php .php
    +        
    +

    + El archivo php.ini no necesita modificaciones a los valores por + omisión que trae cuando se instala.

    -

    Instalación

    +

    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/. + Sólo debe ejecutar el script ./install.sh que se encuentra en el + disquette. El script crea el directorio public_html en el directorio + del usuario actual (si no existiese) y copia los archivos + necesarios, con los permisos pertinentes para que el apache pueda + leer o escribir según corresponda. Una vez instalado, el sistema se + puede acceder en + http://localhost/~sisdis10/ + (si se instala con el usuario sisdis10, por supuesto).

    Modo de uso

    +

    Modulo de Administración

    +

    + Este módulo se compone escencialmente de las páginas descriptas en + la sección de desarrollo del módulo de + administración. A continuación se describe coloquialmente, en + orden lo más cronológico posible, como se usa el módulo. +

    +

    + Al sistema siempre se accede por la página + index.php, la primera vez que se ejecuta, + muestra la página para asociarse, + que se ejecuta de un modo especial, haciendo a los usuarios que se + asocien administradores hasta que el sistema tenga 2 + administradores. Es decir, no se puede ingresar al sistema hasat que + no hayan 2 usuarios administradores y siempre los 2 primeros + usuarios que se asocien, serán administradores. +

    +

    + Una vez especificados los 2 administradores, el sistema comienza su + ciclo de vida normal, mostrando la pantalla de + ingreso, en la cual hay un enlace a + la página para asociarse, para + que usuarios aún no asociados, puedan hacerlo (esta vez como + usuarios comunes, no como administradores). Para asociarse el + usuario debe ingresar el número de registro o código (si es asesor), + ingresar 2 veces (para evitar errores de tipeo) la contraseña que + desea usar, especificar su e-mail y foto que lo identifica. +

    +

    + Una vez dentro del sistema, se muestra la + página con el log de actividades del + usuario, mostrando también la cantidad de créditos disponible (si no + es un asesor). Por omisión se muestran las actividades del día + actual, pero se puede elegir la fecha desde la cual mostrar las + actividades, o incluso mostrar todo. +

    +

    + Si el usuario es administrador, se presenta el submenú + Admin, que posee 2 opciones: + Créditos y Cambio de Admin. + La primera presenta la página para + agregar créditos. Se presentan los usuarios no asesores en + una lista, un campo donde ingresar la cantidad de créditos a + agregarle y un campo para ingresar la contraseña, ya que es una + operación privilegiada que necesita una seguridad extra. La segunda + opción presenta página de cambio de + administrador. En esta página se muestra una lista de usuario + que no sean administradores, para elegir a quien ceder los + permisos de administrador. Al igual que la opción anterior, hay que + reingresar la contraseña, por ser una operación delicada. + Los permisos de administración se ceden al usuario + seleccionado, dejando de ser administrador el usuario actual, para + cumplir la restricción de que siempre hayan 2 y sólo 2 + administradores en el sistema. +

    +

    + Finalmente está la opción Salir que permite al + usuario salir del sistema. Si el + usuario no sale del sistema pero está inactivo por más de media + hora, la sesión caduca y el usuario deberá volver a ingresar. Si + el usuario cierra el navegador o se va del sistema de otra forma, + y luego, antes de que se cumpla media hora de inactividad, retorna + al sistema, la página de inicio reconocerá + la sesión, y hará que el usuario continúe en la misma pantalla + donde había abandonado la sesión. +

    +

    Modulo de FAQs

    +

    + El módulo se encarga de la administracion de el subsistema de preguntas y + respuestas. Maneja altas y bajas, asi como tambien ingreso de respuestas y + ranking de cada una. Mientras mejor es la respuesta de un usuario (que será + calificado por el autor de una pregunta), mejor será su puntuación. Esos puntos + son créditos para poder seguir efectuando preguntas. +

    +

    + La página Listar Preguntas muestra + las preguntas ingresadas en el sistema. Para cada pregunta, se muestra la fecha + de creación, el nombre de autor, con su correspondiente foto, la pregunta en si, + la posibilidad de accederá a todas las respuestas para dicha pregunta, así como + también la posibilidad de responder la pregunta ( solo en caso que quien esta + logueado en el sistema no sea el mismo usuario que formulo la pregunta ). El listado + de preguntas aparece paginado cada 2 ( se muestran dos preguntas por pantalla ). + Debajo de las preguntas aparece el navegador. En caso que el usuario logueado sea un + administrador, en la parte inferior de cada pantalla aparece un link que permite + acceder a la página de Baja de Preguntas. +

    +

    + El listador de respuestas muestra ordenadas por ranking + las respuestas a una pregunta seleccionada. Utiliza el paginador, al igual que el listador de preguntas, + y también lo hace de a dos respuestas por pantalla. Muestra la información del usuario + que genero la respuesta ( foto y nombre ), la respuesta y el ranking de la misma. Si la + respuesta todavía no fue evaluada por el autor de la pregunta, muestra un mensaje que + indica que no hay ranking para esa pregunta. Si el usuario que esta accediendo a la lista + de respuestas es el mismo que formulo la pregunta y todavía no calificó a la misma, aparece + un botón que lo redirecciona a la página de calificación de preguntas. +

    +

    + Desde el menú de la aplicación se puede acceder a la página que permite + agregar una pregunta. En caso de que el usuario logueado tenga los créditos para hacerlo, podrá formular + una pregunta que se publicara en la lista de preguntas. Si el usuario no + contara con los créditos suficientes, un warning lo alertara y le sugerirá que pida créditos al administrador + del sistema. El usuario podrá ingresas desde esta pantalla tantas preguntas como créditos tenga. +

    +

    + Desde el listado de preguntas se puede acceder a la pantalla que permite + responder la pregunta . La misma muestra en el encabezado la pregunta que se esta respondiendo. + Al lograr un ingreso satisfactorio de una respuesta, aparece un mensaje que avisa al + usuario que su respuesta fue dada de alta en el sistema. Esta respuesta quedara pendiente + de calificar por parte del autor de la pregunta que se esta respondiendo. Cualquier usuario + logueado en el sistema puede acceder a responder preguntas. Únicamente no podrá responder una + pregunta el autor de la misma. +

    +

    + La pantalla de calificación de respuesta solo puede ser accedida + por el autor de la pregunta que tiene dicho ítem como respuesta. En esta pantalla, desde un combo, se + puede elegir alguna de las cuatro categorías de calificación ( a cada una le corresponde un + puntaje ). Inmediatamente se le acreditara a quien pregunta tantos créditos como puntos valgan la + calificación de la respuesta. La respuesta solo podrá ser calificada una vez, luego de ser calificada, + desaparecerá el botón que permite acceder a la pantalla para ese ítem. +

    +

    + Si un administrador lo desea, desde la pantalla de listado de preguntas + es posible acceder a la pantalla de baja de preguntas y pasar una pregunta + a un log historico. De esta manera ni la pregunta ni sus respuestas seran mostradas mas por el listador. La lista de preguntas + a desactivar aparece para seleccionar de un combo. +

    +

    Modulo de Info

    +

    + El módulo de info permite el ingreso de temas, informaciones y comentarios, + y para la interaccion con el mismo se definieron distintos menúes en base + a los roles presentes en la plataforma. + El siguiente menu es el que se le presenta al asesor o socio. +

    +
    + Captura de pantalla de info.menu.asesor.jpg +
    +

    + El siguiente menu es el que se le presenta al administrador. +

    +
    + Captura de pantalla de info.menu.administrador.jpg +
    +

    + Desde info.ingresarTemas.php el usuario puede ingresar nuevos temas. + (Solo pueden acceder los usuarios administradores).
    Los campos a completar son: +

    + +

    + Una vez completados se procede a "Guardar Tema".
    + Se mostrará un mensaje indicando si la operación fue exitosa o no. + En cualquiera de los dos casos se mantienen los datos en los campos, y se + permite la modificación de lo recien insertado, a modo de correccion de posibles errores + del usuario al tipear.
    De retirarse de la página, o presionar sobre "Nuevo Tema" + se pierde la posibilidad de modificar (al presionar sobre "Nuevo Tema" se pedirá la confirmación + antes de cambiar de contexto). +

    +

    + Desde info.listarTemas.php el usuario puede ver la lista de temas disponibles + para ingresar informaciones. La página se muestra paginada de a 5 temas por vez, se puede acceder a + las diferentes páginas navegando el menu superior. (La página actual queda marcada en negrita). +

    +

    + Desde info.ingresarInfo.php el usuario puede ingresar nuevas informaciones. + Los campos a completar son: +

    + +

    + Una vez completados se procede a "Guardar Información".
    + Se mostrará un mensaje indicando si la operación fue exitosa o no. + Se mantienen los datos en los campos, y se permite la modificación de lo recién insertado, + a modo de correccion de posibles errores del usuario al tipear.
    De retirarse de la página, + o presionar sobre "Nueva Información" se pierde la posibilidad de modificar (al presionar sobre + "Nueva Información" se pedirá la confirmación antes de cambiar de contexto). +

    +

    + Desde info.listarInfo.php el usuario puede ver la lista de informaciones disponibles. + La página se muestra paginada de a 5 informaciones por vez, se puede acceder a las diferentes + páginas navegando el menu superior. (La página actual queda marcada en negrita).
    + Se despliega el icono del tema al cual pertenece, así como la imagen del usuario que cargó + dicha información. A continuación se muestra la URL correspondiente, con su comentario. + Por último el ranking ( que es la cantidad de accesos que hubo a dicha URL ) y se puede + acceder finalmente a la sección de comentarios sobre la información haciendo click en + "Ver Comentarios".
    + Esta sección está disponible ordenada por ranking de acceso a la URL, o, eligiendo en "Ver Tema", + se listan las informaciones del tema, y luego dentro de ahi las mismas ordenadas por ranking. +

    +

    + Esta página es accedida desde "Ver Comentarios" que se encuentra disponible para cada información presente. + La misma muestra los comentarios agregados hasta el momento. + La página se muestra paginada de a 5 temas por vez, se puede acceder a las diferentes + páginas navegando el menu superior. (La página actual queda marcada en negrita). + Se presenta el ícono del tema al cual pertenece la información, y por supuesto el comentario en cuestión. + Luego se presenta el ícono y apellido del usuario que cargó el comentario (si el usuario que cargó el comentario + es el mismo que cargó la información entonces se muestra solamente el apellido), y finalmente se muestra el comentario. + Se puede acceder a cargar un nuevo comentario desde "Ingresar Comentario" (esto solo puede ser realizado por los asesores + o socios. +

    +

    + Desde info.ingresarComentario.php el usuario puede ingresar nuevos comentarios a informaciones existentes. + El campo a completar es: +

    + +

    + Una vez completados se procede a "Guardar Comentario".
    + Se mostrará un mensaje indicando si la operacion fue exitosa o no. + Se mantienen los datos en los campos, y se permite la modificación de lo recién insertado, + a modo de correccion de posibles errores del usuario al tipear.
    De retirarse de la página, + o presionar sobre "Nuevo Comentario" se pierde la posibilidad de modificar (al presionar sobre "Nuevo Comentario" + se pedirá la confirmación antes de cambiar de contexto). +

    - COMPLETAR!!! Mucho de esto por ahora está en la descripción del - diseño... + En info.mencionEspecial.php se lista el o los usuarios que hayan publicado informaciones con alto ranking. + Se suma para cada usuario los rankings de las páginas publicadas, y luego se muestran aquellos que con el + ranking mas alto ( se muestra mas de uno cuando el ranking es el mismo para varios usuarios ).

    - - + \ No newline at end of file