1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <title>Informe Trabajo Práctico 1</title>
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
9 <p><strong>Introducción a Sistemas Distribuidos (75.43)</strong></p>
10 <p>Trabajo Práctico Número 1</p>
13 <dt>Número de grupo:</dt>
15 <dt>Nombre del host:</dt>
17 <dt>Nombre de usuario:</dt>
18 <dd><p>sisdis10</p></dd>
20 <table border="1" summary="Integrantes">
21 <caption>Integrantes</caption>
22 <tr><th>Nombre</th><th>Padrón</th><th>Módulo desarrollado</th></tr>
24 <td>Leandro Lucarella</td>
26 <td>Actualización de socios y administración de créditos</td>
29 <td>Jonathan Schein</td>
31 <td>Actualización de información de FAQ's</td>
34 <td>Sebastián Arena</td>
41 <li><a href="#disenio">Diseño de las páginas</a></li>
42 <li><a href="#desarrollo">Desarrollo</a></li>
43 <li><a href="#herramientas">Herramientas de desarrollo</a></li>
44 <li><a href="#configuracion">Configuración del servidor</a></li>
45 <li><a href="#instalacion">Instalación</a></li>
46 <li><a href="#uso">Modo de uso</a></li>
48 <h1><a name="disenio">Diseño de las páginas</a></h1>
49 <h2><a name="modulo_admin">Modulo de Administración</a></h2>
50 <h3><a name="index_php">index.php</a></h3>
52 Esta página es el punto de partida del sistema. Normalmente se
53 encarga de mostrar el <a href="#admin_login_php"><span
54 lang="en">login</span></a>, pero puede encargarse también de
55 resumir la sesión o de ir directo a la <a
56 href="#admin_asociarse_php">asociación</a> de administradores si
57 correspondiese (por ejemplo, si se cerró el navegador y se vuelve
58 a abrir en un corto período de tiempo; o si es la primera vez que
59 se usa el sistema y todavía no hay 2 administradores asignados;
62 <h3><a name="admin_login_php">admin.login.php</a></h3>
64 Es la página que realmente se encarga de hacer el
65 <span lang="en">login</span>. Debe ingresarse el código de usuario
66 (sea socio o asesor) y el password.
67 Si el usuario no existe, o si está mal el password, etc, se muestra
68 el correspondiente mensaje de error.
71 <img src="admin.login.jpg"
72 alt="Captura de pantalla de admin.login.php" />
74 <h3><a name="admin_logout_php">admin.logout.php</a></h3>
76 Esta página, al igual que <a href="#index_php">index.php</a>, no
77 tiene contenido propio, sino que se encarga de borrar todos los
78 datos de la sesión del usuario y luego muestra la pantalla de <a
79 href="#admin_login_php"><span lang="en">login</span></a>
80 ingresarse el código de usuario (sea socio o asesor) y el password.
81 Si el usuario no existe, o si está mal el password, etc, se muestra
82 el correspondiente mensaje de error.
84 <h3><a name="admin_asociarse_php">admin.asociarse.php</a></h3>
86 Esta página asocia a un integrante del grupo (presente en el archivo
87 int_2005.txt si es socio o ase_2005.txt si es asesor). Si el sistema
88 todavía no tiene 2 administradores asignados, los usuarios que se
89 asocien, serán administradores (el sistema lo advierte, si es el
90 caso). Una vez asignados 2 administradores, la única forma de
91 cambiarlos es a través de la <a href="#admin_admin_php">página para
92 ceder los permisos de administración</a> (accesible sólo por los
96 <img src="admin.asociarse.jpg"
97 alt="Captura de pantalla de admin.asociarse.php" />
99 <h3><a name="admin_log_php">admin.log.php</a></h3>
101 Esta página muestra el <span lang="en">log</span> de actividades del
102 usuario. Permite elegir la fecha desde la cual se quieren ver las
106 <img src="admin.log.jpg"
107 alt="Captura de pantalla de admin.log.php" />
109 <h3><a name="admin_creditos_php">admin.creditos.php</a></h3>
111 En esta página el administrador puede agregar créditos a los
112 usuarios. Para realizar esta tarea el administrador debe ingresar su
113 password para corroborar su identidad como un mecanismo de seguridad
114 extra (ya que de todas formas sólo un usuario con permisos de
115 administrador puede realizar esta tarea). De esta manera, si por
116 alguna razón un usuario se quedara sin créditos para preguntar,
117 podría solicitar al administrador que le asigne algunos créditos.
118 Las razones de aprobación y la cantidad de créditos otorgados, queda
119 enteramente a consideración del administrador.
122 <img src="admin.creditos.jpg"
123 alt="Captura de pantalla de admin.creditos.php" />
125 <h3><a name="admin_admin_php">admin.admin.php</a></h3>
127 A través de esta página un administrador puede <em>ceder</em> sus
128 permisos de administración. Una vez cedidos, este usuario dejará de
129 ser administrador y comenzará a serlo el nuevo usuario asignado.
130 Al ser esta acción de un compromiso considerable, el administrador
131 debe volver a ingresar su password para confirmarlo (aunque ya esté
132 logueado y sólo los administradores puedan realizar esta acción).
135 <img src="admin.admin.jpg"
136 alt="Captura de pantalla de admin.admin.php" />
138 <h2><a name="modulo_admin">Modulo de FAQs</a></h2>
139 <h3><a name="faq_listarPreguntas_php">faq.listarPreguntas.php</a></h3>
141 Esta página lista las preguntas ingresadas en el sistema. Para cada
142 pregunta, se muestra la fecha de creación, el nombre de autor, con su
143 correspondiente foto, la pregunta en si, la posibilidad de accederá a
144 todas las respuestas para dicha pregunta, así como también la posibilidad
145 de responder la pregunta ( solo en caso que quien esta logueado en el sistema
146 no sea el mismo usuario que formulo la pregunta ). El listado de preguntas
147 aparece paginado cada 2 ( se muestran dos preguntas por pantalla ). Debajo de
148 las preguntas aparece el navegador. En caso que el usuario logueado sea un
149 administrador, en la parte inferior de cada pantalla aparece un link que permite
150 acceder a la página de baja de preguntas.
153 <img src="faq.listarPreguntas.jpg"
154 alt="Captura de pantalla de faq.listarPreguntas.php" />
156 <h3><a name="faq_listarRespuestas_php">faq.listarRespuestas.php</a></h3>
158 El listador de respuestas muestra ordenadas por ranking las respuestas a una
159 pregunta seleccionada. Utiliza el paginador, al igual que el listador de preguntas,
160 y también lo hace de a dos respuestas por pantalla. Muestra la información del usuario
161 que genero la respuesta ( foto y nombre ), la respuesta y el ranking de la misma. Si la
162 respuesta todavía no fue evaluada por el autor de la pregunta, muestra un mensaje que
163 indica que no hay ranking para esa pregunta. Si el usuario que esta accediendo a la lista
164 de respuestas es el mismo que formulo la pregunta y todavía no calificó a la misma, aparece
165 un botón que lo redirecciona a la página de calificación de preguntas.
168 <img src="faq.listarRespuestas.jpg"
169 alt="Captura de pantalla de faq.listarRespuestas.php" />
171 <h3><a name="faq_ingresarPregunta_php">faq.ingresarPregunta.php</a></h3>
173 Desde el menú de la aplicación se puede acceder a esta página. En caso de que el
174 usuario logueado tenga los créditos para hacerlo, podrá formular una pregunta que
175 se publicara en la lista de preguntas ( faq.listarPreguntas.php ). Si el usuario no
176 contara con los créditos suficientes, un warning lo alertara y le sugerirá que
177 pida créditos al administrador del sistema. El usuario podrá ingresas desde esta pantalla
178 tantas preguntas como créditos tenga.
181 <img src="faq.ingresarPregunta.jpg"
182 alt="Captura de pantalla de faq.ingresarPregunta.php" />
184 <h3><a name="faq_responderPregunta_php">faq.responderPregunta.php</a></h3>
186 Desde el listado de preguntas se puede acceder a la pantalla que permite responder
187 la pregunta. La misma muestra en el encabezado la pregunta que se esta respondiendo.
188 Al lograr un ingreso satisfactorio de una respuesta, aparece un mensaje que avisa al
189 usuario que su respuesta fue dada de alta en el sistema. Esta respuesta quedara pendiente
190 de calificar por parte del autor de la pregunta que se esta respondiendo. Cualquier usuario
191 logueado en el sistema puede acceder a responder preguntas. Únicamente no podrá responder una
192 pregunta el autor de la misma
195 <img src="faq.responderPregunta.jpg"
196 alt="Captura de pantalla de faq.responderPregunta.php" />
198 <h3><a name="faq_calificarRespuesta_php">faq.calificarRespuesta.php</a></h3>
200 La pantalla de calificación de respuesta solo puede ser accedida por el autor de
201 la pregunta que tiene dicho ítem como respuesta. En esta pantalla, desde un combo, se
202 puede elegir alguna de las cuatro categorías de calificación ( a cada una le corresponde un
203 puntaje ). Inmediatamente se le acreditara a quien pregunta tantos créditos como puntos valgan la
204 calificación de la respuesta. La respuesta solo podrá ser calificada una vez, luego de ser calificada,
205 desaparecerá el botón que permite acceder a la pantalla para ese ítem.
208 <img src="faq.calificarRespuesta.jpg"
209 alt="Captura de pantalla de faq.calificarRespuesta.php" />
211 <h3><a name="faq_desactivarPregunta_php">faq.desactivarPregunta.php</a></h3>
213 Desde esta pantalla, los administradores pueden dar de baja una pregunta. De todas formas la pregunta
214 seguirá existiendo, con sus respuestas, pero no sera mostrada mas por el listador. Para acceder a la pantalla
215 de baja de preguntas, se debe hacer click sobre el link que aparece en la página listarPreguntas.php. Este link
216 solo aparece en caso que el usuario logueado tenga privilegios de administrador.
219 <img src="faq.desactivarPregunta.jpg"
220 alt="Captura de pantalla de faq.desactivarPregunta.php" />
222 <h2><a name="modulo_info">Modulo de Info</a></h2>
224 El siguiente menu es el que se le presenta al asesor o socio para
225 interactuar con el modulo de info.
228 <img src="info.menu.asesor.jpg"
229 alt="Captura de pantalla de info.menu.asesor.jpg" />
232 El siguiente menu es el que se le presenta al administrador para
233 interactuar con el modulo de info.
236 <img src="info.menu.administrador.jpg"
237 alt="Captura de pantalla de info.menu.administrador.jpg" />
239 <h3><a name="info_ingresarTemas_php">info.ingresarTemas.php</a></h3>
241 Desde aquí el usuario puede ingresar nuevos temas. (Solo pueden acceder
242 los usuarios administradores)
243 Los campos a completar son:
244 <strong>Tema</strong>: Nombre del Tema.
245 <strong>Icono</strong>: Cada Tema tiene un ícono asociado.
246 <strong>Descripción</strong>: Cada Tema tiene un descripción asociada.
247 Una vez completados se procede a "Guardar Tema".
248 Se mostrará un mensaje indicando si la operación fue exitosa o no.
249 Se mantienen los datos en los campos, y se permite la modificación de lo recien insertado.
250 De retirarse de la página, o presionar sobre "Nuevo Tema" se pierde la posibilidad de modificar.
253 <img src="info.ingresarTemas.php.jpg"
254 alt="Captura de pantalla de info.ingresarTemas.php" />
256 <h3><a name="info_listarTemas_php">info.listarTemas.php</a></h3>
258 Desde aquí el usuario puede ver la lista de temas disponibles para ingresar informaciones.
259 La página se muestra paginada de a 5 temas por vez, se puede acceder a las diferentes
260 páginas navegando el menu superior. (La página actual queda marcada en negrita).
263 <img src="info.listarTemas.php.jpg"
264 alt="Captura de pantalla de info.listarTemas.php" />
266 <h3><a name="info_ingresarInfo_php">info.ingresarInfo.php</a></h3>
268 Desde aquí el usuario puede ingresar nuevas informaciones.
269 Los campos a completar son:
272 <li><strong>Tema</strong>: se debe seleccionar el tema de la lista disponible.</li>
273 <li><strong>URL</strong>: es la URL hacia la información que se está ingresando.</li>
274 <li><strong>Comentario</strong>: una breve descripción de la información provista.</li>
277 Una vez completados se procede a "Guardar Información"
278 Se mostrará un mensaje indicando si la operación fue exitosa o no.
279 Se mantienen los datos en los campos, y se permite la modificación de lo recién insertado.
280 De retirarse de la página, o presionar sobre "Nuevo Información" se pierde la posibilidad de modificar.
283 <img src="info.ingresarInfo.php.jpg"
284 alt="Captura de pantalla de info.ingresarInfo.php" />
286 <h3><a name="info_listarInfo_php">info.listarInfo.php</a></h3>
288 Desde aquí el usuario puede ver la lista de informaciones disponibles.
289 La página se muestra paginada de a 5 informaciones por vez, se puede acceder a las diferentes
290 páginas navegando el menu superior. (La página actual queda marcada en negrita).
291 Se despliega el icono del tema al cual pertenece, así como la imagen del usuario que cargó
292 dicha información. A continuación se muestra la URL correspondiente, con su comentario.
293 Por último el ranking ( que es la cantidad de accesos que hubo a dicha URL ) y se puede
294 acceder finalmente a la sección de comentarios sobre la información haciendo click en
296 Esta sección está disponible ordenada por ranking de acceso a la URL, o, eligiendo en "Ver Tema",
297 se listan las informaciones del tema, y luego dentro de ahi las mismas ordenadas por ranking.
300 <img src="info.listarInfo.php.jpg"
301 alt="Captura de pantalla de info.listarInfo.php" />
303 <h3><a name="info_listarComentarios_php">info.listarComentarios.php</a></h3>
305 Esta página es accedida desde "Ver Comentarios" que se encuentra disponible para cada información presente.
306 La misma muestra los comentarios agregados hasta el momento.
307 La página se muestra paginada de a 5 temas por vez, se puede acceder a las diferentes
308 páginas navegando el menu superior. (La página actual queda marcada en negrita).
309 Se presenta el ícono del tema al cual pertenece la información, y por supuesto el comentario en cuestión.
310 Luego se presenta el ícono y apellido del usuario que cargó el comentario (si el usuario que cargó el comentario
311 es el mismo que cargó la información entonces se muestra solamente el apellido), y finalmente se muestra el comentario.
312 Se puede acceder a cargar un nuevo comentario desde "Ingresar Comentario" (esto solo puede ser realizado por los asesores
316 <img src="info.listarComentarios.php.jpg"
317 alt="Captura de pantalla de info.listarComentarios.php" />
319 <h3><a name="info_ingresarComentario_php">info.ingresarComentario.php</a></h3>
321 Desde aquí el usuario puede ingresar nuevos comentarios a informaciones existentes.
322 El campo a completar es:
325 <li><strong>Comentario</strong></li>
328 Una vez completados se procede a "Guardar Comentario".
329 Se mostrará un mensaje indicando si la operacion fue exitosa o no.
330 Se mantienen los datos en los campos, y se permite la modificación de lo recién insertado.
331 De retirarse de la página, o presionar sobre "Nuevo Comentario" se pierde la posibilidad de modificar.
334 <img src="info.ingresarComentario.php.jpg"
335 alt="Captura de pantalla de info.ingresarComentario.php" />
337 <h3><a name="info_mencionEspecial_php">info.mencionEspecial.php</a></h3>
339 En esta pagina se lista el o los usuarios que hayan publicado informaciones con alto ranking.
340 Se suma para cada usuario los rankings de las páginas publicadas, y luego se muestran aquellos que con el
341 ranking mas alto ( se muestra mas de uno cuando el ranking es el mismo para varios usuarios ).
344 <img src="info.mencionEspecial.php.jpg"
345 alt="Captura de pantalla de info.mencionEspecial.php" />
348 <h1><a name="desarrollo">Desarrollo</a></h1>
349 AGREGAR DESCRIPCION DE LO HECHO!!!!
350 <h2><a name="desarrollo_archivos">Formato de Archivos</a></h2>
352 Todos los archivos del sistema se almacenan en el directorio data.
353 Varios archivos son creados en <em>tiempo de ejecución</em> por el
354 servidor web, por lo tanto este directorio debe tener permisos de
355 escritura para el usuario con el que corre dicho servidor.
356 Además las fotos de los usuarios se guardan en el directorio fotos y
357 también se crean en <em>tiempo de ejecución</em>, por lo tanto este
358 directorio también debe tener permisos de escritura para el servidor
359 web. El nombre del archivo de la foto de un usuario es su número de
360 registro (si es socio) o código (si es asesor).
363 A continuación se describe el formato de cada archivo.
365 <h3><a name="desarrollo_archivos_int_2005_txt">int_2005.txt</a></h3>
367 Este archivo tiene formato <acronym lang="en"
368 title="Comma Separated Values">CSV</acronym> y está cargado previo
369 a la ejecución del sistema con todos los integrantes que
370 potencialmente serán <em>socios</em> del sistema.
371 Los campos del archivo son:
374 <li>Número de registro</li>
375 <li>Nombre del usuario</li>
376 <li>Apellido del usuario</li>
378 <h3><a name="desarrollo_archivos_ase_2005_txt">ase_2005.txt</a></h3>
380 Este archivo tiene formato <acronym lang="en"
381 title="Comma Separated Values">CSV</acronym> y está cargado previo
382 a la ejecución del sistema con todos los integrantes que
383 potencialmente serán <em>asesores</em> del sistema.
384 Los campos del archivo son:
387 <li>Código (formato A+año+número correlativo)</li>
388 <li>Nombre del usuario</li>
389 <li>Apellido del usuario</li>
391 <h3><a name="desarrollo_archivos_users_csv">users.csv</a></h3>
393 Este archivo tiene formato <acronym lang="en"
394 title="Comma Separated Values">CSV</acronym> y se crea en
395 <em>tiempo de ejecución</em>. En él se almacenan los usuarios
396 registrados en el sistema.
397 Los campos del archivo son:
401 Número de registro/Código (dependiendo de si es socio o
404 <li>Contraseña del usuario</li>
405 <li>Dirección de correo electrónico del usuario</li>
407 <h3><a name="desarrollo_archivos_admin_txt">admin.txt</a></h3>
409 Este archivo tiene formato de texto plano y almacena un número de
410 registro o código (según sea socio o asesor) por línea (aunque
411 también puede ser visto como un archivo <acronym lang="en"
412 title="Comma Separated Values">CSV</acronym> con un sólo campo).
413 Su función es almacenar los identificadores de los 2 administradores
414 del sistema y es creado en <em>tiempo de ejecución</em>.
416 <h3><a name="desarrollo_archivos_creditos_csv">creditos.*.csv</a></h3>
418 Este archivo tiene formato <acronym lang="en"
419 title="Comma Separated Values">CSV</acronym> modificado, ya que
420 incluye en los primeros 11 bytes un <em>índice</em> a la última
421 entrada. Es decir, en los primeros 11 bytes se almacena la posición
422 del archivo en la que se encuentra el último <em>registro</em> CSV.
423 Dicha posición, se almacena en codificación ASCII como un número de
424 10 cifras (con ceros delante) y un caracter de fin de línea al
425 final. Como normalmente sólo importa el último registro del archivo,
426 esto acelera mucho, ya que no hay que recorrerlo completo para
427 obtener dicho registro. De esta manera el acceso es casi directo y
428 se conserva la historia de la variación de los créditos.
431 Este archivo se crea en <em>tiempo de ejecución</em>, uno por cada
432 socio, en el momento en que se registra en el sistema. El nombre
433 del archivo incluye el número de registro del socio
434 (creditos.[nro_registro].csv) y en él se almacena la
435 historia de créditos de dicho usuario.
436 Los campos del archivo son:
439 <li>Timestamp con la fecha en la que se creó la entrada</li>
440 <li>Cantidad de créditos que tiene el socio</li>
442 Cantidad de respuestas con <span lang="en">ranking</span>
443 2 o más que le falta para obtener los 5 créditos extra
445 <li>Cantidad de días que lleva sin preguntar</li>
448 Este archivo se actualiza en etapas distintas (siempre que se
449 actualiza, se agrega un nuevo registro con los nuevos datos y se
450 actualiza el <em>índice</em>). Cuando el usuario ingresa al sistema,
451 se recalculan los créditos para ver si se le deben restar por
452 cantidad de días sin preguntar. Se resta 1 crédito por cada 30 días
453 sin responder. El cálculo realizado es el siguiente:
456 Llamaremos FECHA al campo 1 del registro del archivo leído, CREDITOS
457 al campo 2 y DIAS al campo 4. Llamaremos FECHA_ACTUAL a la fecha del
458 instante del login. Ambas fechas expresadas como timestamps. Para
459 calcular la diferencia en días entre 2 fechas, simplemente se restan
460 y se divide por 86400 (cantidad de segundos en un día). Entonces
461 para saber la cantidad de días que hace que no se pregunta en el
462 instante del login (DIAS_NUEVO), se realiza: <code>DIAS_NUEVO =
463 DIAS + (FECHA_ACTUAL - FECHA) / 86400</code>. Luego, si DIAS_NUEVO
464 es más que 30, se calculan los nuevos créditos (CREDITOS_NUEVO) como
465 <code>CREDITOS_NUEVO = CREDITOS - (DIAS_NUEVO / 30)</code> y la
466 nueva cantidad de días sin preguntar restantes (DIAS_RESTO) como
467 <code>DIAS_RESTO = DIAS_NUEVO % 30</code> (siendo % el resto de la
468 división entera), ya que estos días sin preguntar <em>extra</em> que
469 todavía no llegan a sumar 30 como para restar créditos, deben ser
470 considerados para futuros cálculos. Finalmente en el archivo de
471 créditos se guarda un nuevo registro con los datos CREDITOS_NUEVO y
472 DIAS_RESTO en los campos 2 y 4 respectivamente. El resto de los
473 campos (exceptuando la fecha, que siempre se guarda con la fecha de
474 modificación del archivo) quedan intactos.
477 El otro caso en donde se actualiza este archivo (se actualizan los
478 créditos) es cuando un socio realiza una pregunta. En este caso,
479 solamente se resta un crédito (campo 2) y pone se resetean los días
480 sin preguntar (el campo 4 se pone en cero).
483 Finalmente, el último caso en donde se actualiza este archivo (se
484 recalculan los créditos) es cuando un usuario califica una
485 respuesta. Se suma a CREDITOS la calificación de dicha respuesta y
486 si la respuesta está calificada con un valor igual o superior a 2
487 se suma uno al campo 3 (BONUS) y se verifica si es igual o superior
488 a 5 (en realidad jamás será superior a 5). Si lo es, se pone en cero
489 BONUS y se suma 5 CREDITOS.
491 <h3><a name="desarrollo_archivos_log_csv">log.*.csv</a></h3>
493 Este archivo tiene formato <acronym lang="en"
494 title="Comma Separated Values">CSV</acronym>. y se crea en
495 <em>tiempo de ejecución</em>, uno por cada usuario, en el momento
496 en que se registra en el sistema. El nombre del archivo incluye el
497 número de registro del socio o código del asesor según el caso
498 (log.[nro_registro/codigo].csv) y en él se almacena la el log de
499 actividades (es decir, cada vez que el usuario realiza una acción en
500 el sistema, se agrega una entrada a este archivo que la describe).
501 Los campos del archivo son:
503 <li>Timestamp con la fecha en la que se creó la entrada</li>
504 <li>Descripción de la acción realizada</li>
506 <h3><a name="desarrollo_archivos_preguntas_csv">preguntas.csv</a></h3>
508 Este archivo tiene formato <acronym lang="en"
509 title="Comma Separated Values">CSV</acronym>. y se crea en
510 <em>tiempo de ejecución</em>. A medida que se van dando de alta las
511 preguntas, se agrega una línea al final. Se guarda toda la información
512 necesaria para poder operar con las preguntas. Cuando una pregunta se
513 da de baja, <em>no</em> es eliminada de este archivo. De esta forma,
514 queda un registro histórico de las preguntas que fueron dadas de alta en
516 Los campos del archivo son:
518 <li>Id de la pregunta</li>
519 <li>Id del usuario autor de la pregunta</li>
520 <li>Timestamp con la fecha de creación de la pregunta</li>
521 <li>Texto de la pregunta</li>
523 <h3><a name="desarrollo_archivos_respuestas_csv">respuestas.csv</a></h3>
525 Este archivo tiene formato <acronym lang="en"
526 title="Comma Separated Values">CSV</acronym>. y se crea en
527 <em>tiempo de ejecución</em>. Cuando se da de alta una respuesta a una
528 pregunta, se da de alta un nuevo registro en este archivo. El id de las
529 respuestas es simplemente el orden en el que fueron loguadas. Se guarda información
530 de la pregunta que se esta respondiendo para que sea mas sencilla la operatoria con
531 las respuestas, y pueda trabajar de manera independiente a las preguntas.
532 Los campos del archivo son:
534 <li>Id de la pregunta que se esta respondiendo</li>
535 <li>Id del usuario autor de la pregunta que se esta respondiendo</li>
536 <li>Id del usuario autor de la respuesta</li>
537 <li>Timestamp con la fecha de creación de la respuesta</li>
538 <li>Texto de la respuesta</li>
540 <h3><a name="desarrollo_archivos_calificacion_csv">calificacion.csv</a></h3>
542 Este archivo tiene formato <acronym lang="en"
543 title="Comma Separated Values">CSV</acronym>. y se crea en
544 <em>tiempo de ejecución</em>. Cuando un usuario autor de una pregunta
545 califica las respuestas a dicha pregunta, se da de alta un registro en este archivo.
546 Luego, se asociara al calificacion a la respuesta correspondiente. Si una respuesta
547 no aparece en este archivo, es que todavía no fue calificada.
548 Los campos del archivo son:
550 <li>Id de la respuesta calificada</li>
553 <h3><a name="desarrollo_archivos_desactivadas_csv">desactivadas.csv</a></h3>
555 Este archivo tiene formato <acronym lang="en"
556 title="Comma Separated Values">CSV</acronym>. y se crea en
557 <em>tiempo de ejecución</em>. Cuando un administrador da de baja una pregunta,
558 simplemente se ingresa el id de la misma en este archivo. A partir de ese momento, el
559 listador la ignorará al momento de mostrar las preguntas por pantalla.
560 Los campos del archivo son:
562 <li>Id de la pregunta</li>
563 <li>Timestamp con la fecha de baja</li>
565 <h3><a name="temas_csv">temas.csv</a></h3>
567 Este archivo tiene formato <acronym lang="en"
568 title="Comma Separated Values">CSV</acronym>. Se va cargando por los administradores durante
569 la ejecución del sistema.
570 Los campos del archivo son:
573 <li>ID que identifica unívocamente a los temas.</li>
574 <li>Usuario que cargo el mismo.</li>
575 <li>Nombre del mismo.</li>
576 <li>Ruta al icono del mismo.</li>
577 <li>Breve descripción.</li>
578 <li>Fecha de alta/modificación.</li>
580 <h3><a name="infos_csv">infos.csv</a></h3>
582 Este archivo tiene formato <acronym lang="en"
583 title="Comma Separated Values">CSV</acronym>. Se va cargando por los asesores/socios durante
584 la ejecución del sistema.
585 Los campos del archivo son:
588 <li>ID que identifica univocamente a las informaciones.</li>
589 <li>ID del tema al cual pertenece.</li>
590 <li>URL (link) a la información otorgada.</li>
591 <li>Usuario que cargo el mismo.</li>
592 <li>Breve descripción.</li>
593 <li>Cantidad de visitas a la URL (link) proporcionada.</li>
594 <li>Fecha de alta/modificación.</li>
596 <h3><a name="comentarios_csv">comentarios.*.csv</a></h3>
598 Este archivo tiene formato <acronym lang="en"
599 title="Comma Separated Values">CSV</acronym>. Se va cargando por los asesores/socios durante
600 la ejecución del sistema.
601 Los campos del archivo son:
604 <li>ID que identifica univocamente a las informaciones.</li>
605 <li>Usuario que cargó el mismo.</li>
607 <li>Fecha de alta/modificación.</li>
609 <h1><a name="herramientas">Herramientas de desarrollo</a></h1>
611 Cada integrante eligió herramientas de desarrollo propias, más allá
612 de las herramientas obligatorias que había que usar
613 indefectiblemente para realizar el TP (como PHP y Apache).
614 A continuación se enumeran las herramientas utilizadas por cada
617 <h2>Leandro Lucarella</h2>
620 <dd><p>Mozilla Firefox, w3m</p></dd>
621 <dt>Editor de texto</dt>
624 <dd><p>Herramientas de w3c: tidy y el servicio de validación
625 online (http://validator.w3.org/)</p></dd>
626 <dt>Herramientas de diseño de HTML</dt>
627 <dd><p>Ninguna</p></dd>
629 <h2>Jonathan Schein</h2>
632 <dd><p>Mozilla Firefox, Internet Explorer 6</p></dd>
633 <dt>Editor de texto</dt>
634 <dd><p>HTML-Kit, Notepad</p></dd>
636 <dd><p>Herramientas de w3c: tidy y el servicio de validación
637 online (http://validator.w3.org/)</p></dd>
638 <dt>Herramientas de diseño de HTML</dt>
639 <dd><p>Ninguna</p></dd>
641 <h2>Sebastián Arena</h2>
644 <dd><p>Mozilla Firefox, Internet Explorer 6</p></dd>
645 <dt>Editor de texto</dt>
646 <dd><p>EmEditor</p></dd>
648 <dd><p>Herramientas de w3c: tidy y el servicio de validación
649 online (http://validator.w3.org/)</p></dd>
650 <dt>Herramientas de diseño de HTML</dt>
651 <dd><p>Ninguna</p></dd>
653 <h1><a name="configuracion">Configuración del servidor</a></h1>
655 El servidor no debe ser configurado de ninguna forma en particular,
656 sólo debe tener activado el módulo de PHP y la extensión user_dir de
657 apache si va a ser instalado en el directorio public_html de un
658 usuario. El resto de las configuración se realizan desde el mismo
659 sistema, por lo que no es necesario hacer modificaciones ni a la
660 configuración del apache ni a la del PHP.
663 Si no estuviera configurado el módulo user_dir, habría que agregar
664 al apache las siguiente líneas:
667 LoadModule userdir_module libexec/mod_userdir.so
668 AddModule mod_userdir.c
672 Si no estuviera configurado el módulo de php, habría que agregar
673 al apache las siguiente líneas:
676 LoadModule php4_module libexec/libphp4.so
678 AddType application/x-httpd-php .php
681 El archivo php.ini no necesita modificaciones a los valores por
682 omisión que trae cuando se instala.
684 <h1><a name="instalacion">Instalación</a></h1>
686 Sólo debe ejecutar el script ./install.sh que se encuentra en el
687 disquette. El script crea el directorio public_html en el directorio
688 del usuario actual (si no existiese) y copia los archivos
689 necesarios, con los permisos pertinentes para que el apache pueda
690 leer o escribir según corresponda. Una vez instalado, el sistema se
692 <a href="http://localhost/~sisdis10/">http://localhost/~sisdis10/</a>
693 (si se instala con el usuario sisdis10, por supuesto).
695 <h1><a name="uso">Modo de uso</a></h1>
697 COMPLETAR!!! Mucho de esto por ahora está en la descripción del
698 diseño... Habría que hacer una descripción de un circuito completo
699 que vaya por toas las páginas...
703 <!-- vim: set et sw=4 sts=4 : -->