</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>
<div align="center">
<img src="admin.admin.jpg"
alt="Captura de pantalla de admin.admin.php" />
+ </div>
+ <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>
<!--
<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:
+ Este archivo se actualiza en etapas distintas (siempre que se
+ actualiza, se agrega un nuevo registro con los nuevos datos y se
+ actualiza el <em>índice</em>). 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
<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
</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.
+ 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.
</p>
<h3><a name="desarrollo_archivos_log_csv">log.*.csv</a></h3>
<p>
<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>
<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>