</head>
<body>
<h1>Carátula</h1>
- <p><strong>Introducción a Sistemas Distribuídos (75.43)</strong></p>
+ <p><strong>Introducción a Sistemas Distribuidos (75.43)</strong></p>
<p>Trabajo Práctico Número 1</p>
<h2>Grupo</h2>
<dl>
</tr>
<tr>
<td>Jonathan Schein</td>
- <td>COMPLETAR</td>
- <td>COMPLETAR</td>
+ <td>80083</td>
+ <td>Actualización de información de FAQ's</td>
</tr>
<tr>
<td>Sebastián Arena</td>
<img src="admin.admin.jpg"
alt="Captura de pantalla de admin.admin.php" />
</div>
- <!--
-
- COMPLETAR!!!!
-
- Template:
-
- <h2>.php</h2>
+ <h2><a name="faq_listarPreguntas_php">faq.listarPreguntas.php</a></h2>
+ <p>
+ Esta página lista 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.
+ </p>
+ <div align="center">
+ <img src="faq.listarPreguntas.jpg"
+ alt="Captura de pantalla de faq.listarPreguntas.php" />
+ </div>
+ <h2><a name="faq_listarRespuestas_php">faq.listarRespuestas.php</a></h2>
+ <p>
+ 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.
+ </p>
+ <div align="center">
+ <img src="faq.listarRespuestas.jpg"
+ alt="Captura de pantalla de faq.listarRespuestas.php" />
+ </div>
+ <h2><a name="faq_ingresarPregunta_php">faq.ingresarPregunta.php</a></h2>
+ <p>
+ Desde el menú de la aplicación se puede acceder a esta página. 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 ( faq.listarPreguntas.php ). 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.
+ </p>
+ <div align="center">
+ <img src="faq.ingresarPregunta.jpg"
+ alt="Captura de pantalla de faq.ingresarPregunta.php" />
+ </div>
+ <h2><a name="faq_responderPregunta_php">faq.responderPregunta.php</a></h2>
+ <p>
+ 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
+ </p>
+ <div align="center">
+ <img src="faq.responderPregunta.jpg"
+ alt="Captura de pantalla de faq.responderPregunta.php" />
+ </div>
+ <h2><a name="faq_calificarRespuesta_php">faq.calificarRespuesta.php</a></h2>
+ <p>
+ 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.
+ </p>
+ <div align="center">
+ <img src="faq.calificarRespuesta.jpg"
+ alt="Captura de pantalla de faq.calificarRespuesta.php" />
+ </div>
+ <h2><a name="faq_desactivarPregunta_php">faq.desactivarPregunta.php</a></h2>
+ <p>
+ Desde esta pantalla, los administradores pueden dar de baja una pregunta. De todas formas la pregunta
+ seguirá existiendo, con sus respuestas, pero no sera mostrada mas por el listador. Para acceder a la pantalla
+ de baja de preguntas, se debe hacer click sobre el link que aparece en la página listarPreguntas.php. Este link
+ solo aparece en caso que el usuario logueado tenga privilegios de administrador.
+ </p>
+ <div align="center">
+ <img src="faq.desactivarPregunta.jpg"
+ alt="Captura de pantalla de faq.desactivarPregunta.php" />
+ </div>
+ <h2><a name="modulo_info">Modulo de Info</a></h2>
+ <p>
+ El siguiente menu es el que se le presenta al asesor o socio para
+ interactuar con el modulo de info.
+ </p>
+ <div align="center">
+ <img src="info.menu.asesor.jpg"
+ alt="Captura de pantalla de info.menu.asesor.jpg" />
+ </div>
+ <p>
+ El siguiente menu es el que se le presenta al administrador para
+ interactuar con el modulo de info.
+ </p>
+ <div align="center">
+ <img src="info.menu.administrador.jpg"
+ alt="Captura de pantalla de info.menu.administrador.jpg" />
+ </div>
+ <h2><a name="info_ingresarTemas_php">info.ingresarTemas.php</a></h2>
+ <p>
+ Desde aquí el usuario puede ingresar nuevos temas. (Solo pueden acceder
+ los usuarios administradores)
+ Los campos a completar son:
+ <strong>Tema</strong>: Nombre del Tema.
+ <strong>Icono</strong>: Cada Tema tiene un ícono asociado.
+ <strong>Descripción</strong>: Cada Tema tiene un descripción asociada.
+ Una vez completados se procede a "Guardar Tema".
+ 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 recien insertado.
+ De retirarse de la página, o presionar sobre "Nuevo Tema" se pierde la posibilidad de modificar.
+ </p>
+ <div align="center">
+ <img src="info.ingresarTemas.php.jpg"
+ alt="Captura de pantalla de info.ingresarTemas.php" />
+ </div>
+ <h2><a name="info_listarTemas_php">info.listarTemas.php</a></h2>
+ <p>
+ Desde aquí 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).
+ </p>
+ <div align="center">
+ <img src="info.listarTemas.php.jpg"
+ alt="Captura de pantalla de info.listarTemas.php" />
+ </div>
+ <h2><a name="info_ingresarInfo_php">info.ingresarInfo.php</a></h2>
+ <p>
+ Desde aquí el usuario puede ingresar nuevos informaciones.
+ Los campos a completar son:
+ <li><strong>Tema</strong>: se debe seleccionar el tema de la lista disponible.</li>
+ <li><strong>URL</strong>: es la URL hacia la información que se está ingresando.</li>
+ <li><strong>Comentario</strong>: una breve descripción de la información provista.</li>
+ 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.
+ De retirarse de la página, o presionar sobre "Nuevo Información" se pierde la posibilidad de modificar.
+ </p>
+ <div align="center">
+ <img src="info.ingresarInfo.php.jpg"
+ alt="Captura de pantalla de info.ingresarInfo.php" />
+ </div>
+ <h2><a name="info_listarInfo_php">info.listarInfo.php</a></h2>
+ <p>
+ Desde aquí 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.
+ </p>
+ <div align="center">
+ <img src="info.listarInfo.php.jpg"
+ alt="Captura de pantalla de info.listarInfo.php" />
+ </div>
+ <h2><a name="info_listarComentarios_php">info.listarComentarios.php</a></h2>
+ <p>
+ 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.
+ </p>
+ <div align="center">
+ <img src="info.listarComentarios.php.jpg"
+ alt="Captura de pantalla de info.listarComentarios.php" />
+ </div>
+ <h2><a name="info_ingresarComentario_php">info.ingresarComentario.php</a></h2>
+ <p>
+ Desde aquí el usuario puede ingresar nuevos comentarios a informaciones existentes.
+ El campo a completar es:
+ <li><strong>Comentario</strong></li>
+ 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.
+ De retirarse de la página, o presionar sobre "Nuevo Comentario" se pierde la posibilidad de modificar.
+ </p>
+ <div align="center">
+ <img src="info.ingresarComentario.php.jpg"
+ alt="Captura de pantalla de info.ingresarComentario.php" />
+ </div>
+ <h2><a name="info_mencionEspecial_php">info.mencionEspecial.php</a></h2>
<p>
+ En esta pagina 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 ).
</p>
<div align="center">
- <img src=".jpg"
- alt="Captura de pantalla de .php" />
+ <img src="info.mencionEspecial.php.jpg"
+ alt="Captura de pantalla de info.mencionEspecial.php" />
</div>
-
- -->
+
<h1><a name="desarrollo">Desarrollo</a></h1>
AGREGAR DESCRIPCION DE LO HECHO!!!!
<h2><a name="desarrollo_archivos">Formato de Archivos</a></h2>
<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
+ división entera), ya que estos días sin preguntar <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
<ol>
<li>Timestamp con la fecha en la que se creó la entrada</li>
<li>Descripción de la acción realizada</li>
+ </ol>
+ <h3><a name="desarrollo_archivos_preguntas_csv">preguntas.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>. 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, <em>no</em> 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:
+ <ol>
+ <li>Id de la pregunta</li>
+ <li>Id del usuario autor de la pregunta</li>
+ <li>Timestamp con la fecha de creación de la pregunta</li>
+ <li>Texto de la pregunta</li>
+ </ol>
+ <h3><a name="desarrollo_archivos_respuestas_csv">respuestas.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>. 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:
+ <ol>
+ <li>Id de la pregunta que se esta respondiendo</li>
+ <li>Id del usuario autor de la pregunta que se esta respondiendo</li>
+ <li>Id del usuario autor de la respuesta</li>
+ <li>Timestamp con la fecha de creación de la respuesta</li>
+ <li>Texto de la respuesta</li>
+ </ol>
+ <h3><a name="desarrollo_archivos_calificacion_csv">calificacion.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>. 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:
+ <ol>
+ <li>Id de la respuesta calificada</li>
+ <li>Puntaje</li>
+ </ol>
+ <h3><a name="desarrollo_archivos_desactivadas_csv">desactivadas.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>. 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:
+ <ol>
+ <li>Id de la pregunta</li>
+ <li>Timestamp con la fecha de baja</li>
+ </ol>
+ <h3><a name="temas_csv">temas.csv</a></h3>
+ <p>
+ Este archivo tiene formato <acronym lang="en"
+ title="Comma Separated Values">CSV</acronym>. Se va cargando por los administradores durante
+ la ejecución del sistema.
+ Los campos del archivo son:
+ </p>
+ <ol>
+ <li>ID que identifica unívocamente a los temas.</li>
+ <li>Usuario que cargo el mismo.</li>
+ <li>Nombre del mismo.</li>
+ <li>Ruta al icono del mismo.</li>
+ <li>Breve descripción.</li>
+ <li>Fecha de alta/modificación.</li>
+ </ol>
+ <h3><a name="infos_csv">infos.csv</a></h3>
+ <p>
+ Este archivo tiene formato <acronym lang="en"
+ title="Comma Separated Values">CSV</acronym>. Se va cargando por los asesores/socios durante
+ la ejecución del sistema.
+ Los campos del archivo son:
+ </p>
+ <ol>
+ <li>ID que identifica univocamente a las informaciones.</li>:
+ <li>ID del tema al cual pertenece.</li>
+ <li>URL (link) a la información otorgada.</li>
+ <li>Usuario que cargo el mismo.</li>
+ <li>Breve descripción.</li>
+ <li>Cantidad de visitas a la URL (link) proporcionada.</li>
+ <li>Fecha de alta/modificación.</li>
+ </ol>
+ <h3><a name="comentarios_csv">comentarios.*.csv</a></h3>
+ <p>
+ Este archivo tiene formato <acronym lang="en"
+ title="Comma Separated Values">CSV</acronym>. Se va cargando por los asesores/socios durante
+ la ejecución del sistema.
+ Los campos del archivo son:
+ </p>
+ <ol>
+ <li>ID que identifica univocamente a las informaciones.</li>
+ <li>Usuario que cargó el mismo.</li>
+ <li>Comentario.</li>
+ <li>Fecha de alta/modificación.</li>
</ol>
<h1><a name="herramientas">Herramientas de desarrollo</a></h1>
<p>
<h2>Jonathan Schein</h2>
<dl>
<dt>Navegador</dt>
- <dd><p></p></dd>
+ <dd><p>Mozilla Firefox, Internet Explorer 6</p></dd>
<dt>Editor de texto</dt>
- <dd><p></p></dd>
+ <dd><p>HTML-Kit, Notepad</p></dd>
<dt>Validador</dt>
- <dd><p></p></dd>
+ <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></p></dd>
+ <dd><p>Ninguna</p></dd>
</dl>
<h2>Sebastián Arena</h2>
<dl>
<dt>Navegador</dt>
- <dd><p></p></dd>
+ <dd><p>Mozilla Firefox, Internet Explorer 6</p></dd>
<dt>Editor de texto</dt>
- <dd><p></p></dd>
+ <dd><p>EmEditor</p></dd>
<dt>Validador</dt>
- <dd><p></p></dd>
+ <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></p></dd>
</dl>
<h1><a name="configuracion">Configuración del servidor</a></h1>
<p>
- 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.
+ </p>
+ <p>
+ Si no estuviera configurado el módulo user_dir, habría que agregar
+ al apache las siguiente líneas:
+ <pre>
+LoadModule userdir_module libexec/mod_userdir.so
+AddModule mod_userdir.c
+UserDir public_html
+ </pre>
+ </p>
+ <p>
+ Si no estuviera configurado el módulo de php, habría que agregar
+ al apache las siguiente líneas:
+ <pre>
+LoadModule php4_module libexec/libphp4.so
+AddModule mod_php4.c
+AddType application/x-httpd-php .php
+ </pre>
+ El archivo php.ini no necesita modificaciones a los valores por
+ omisión que trae cuando se instala.
</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/.
+ 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
+ <a href="http://localhost/~sisdis10/">http://localhost/~sisdis10/</a>
+ (si se instala con el usuario sisdis10, por supuesto).
</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...
+ diseño... Habría que hacer una descripción de un circuito completo
+ que vaya por toas las páginas...
</p>
</body>
</html>
-
-<!-- vim: set et sw=4 sts=4 : -->
+<!-- vim: set et sw=4 sts=4 : -->
\ No newline at end of file