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="index_php">index.php</a></h2>
51 Esta página es el punto de partida del sistema. Normalmente se
52 encarga de mostrar el <a href="#admin_login_php"><span
53 lang="en">login</span></a>, pero puede encargarse también de
54 resumir la sesión o de ir directo a la <a
55 href="#admin_asociarse_php">asociación</a> de administradores si
56 correspondiese (por ejemplo, si se cerró el navegador y se vuelve
57 a abrir en un corto período de tiempo; o si es la primera vez que
58 se usa el sistema y todavía no hay 2 administradores asignados;
61 <h2><a name="admin_login_php">admin.login.php</a></h2>
63 Es la página que realmente se encarga de hacer el
64 <span lang="en">login</span>. Debe ingresarse el código de usuario
65 (sea socio o asesor) y el password.
66 Si el usuario no existe, o si está mal el password, etc, se muestra
67 el correspondiente mensaje de error.
70 <img src="admin.login.jpg"
71 alt="Captura de pantalla de admin.login.php" />
73 <h2><a name="admin_logout_php">admin.logout.php</a></h2>
75 Esta página, al igual que <a href="#index_php">index.php</a>, no
76 tiene contenido propio, sino que se encarga de borrar todos los
77 datos de la sesión del usuario y luego muestra la pantalla de <a
78 href="#admin_login_php"><span lang="en">login</span></a>
79 ingresarse el código de usuario (sea socio o asesor) y el password.
80 Si el usuario no existe, o si está mal el password, etc, se muestra
81 el correspondiente mensaje de error.
83 <h2><a name="admin_asociarse_php">admin.asociarse.php</a></h2>
85 Esta página asocia a un integrante del grupo (presente en el archivo
86 int_2005.txt si es socio o ase_2005.txt si es asesor). Si el sistema
87 todavía no tiene 2 administradores asignados, los usuarios que se
88 asocien, serán administradores (el sistema lo advierte, si es el
89 caso). Una vez asignados 2 administradores, la única forma de
90 cambiarlos es a través de la <a href="#admin_admin_php">página para
91 ceder los permisos de administración</a> (accesible sólo por los
95 <img src="admin.asociarse.jpg"
96 alt="Captura de pantalla de admin.asociarse.php" />
98 <h2><a name="admin_log_php">admin.log.php</a></h2>
100 Esta página muestra el <span lang="en">log</span> de actividades del
101 usuario. Permite elegir la fecha desde la cual se quieren ver las
105 <img src="admin.log.jpg"
106 alt="Captura de pantalla de admin.log.php" />
108 <h2><a name="admin_creditos_php">admin.creditos.php</a></h2>
110 En esta página el administrador puede agregar créditos a los
111 usuarios. Para realizar esta tarea el administrador debe ingresar su
112 password para corroborar su identidad como un mecanismo de seguridad
113 extra (ya que de todas formas sólo un usuario con permisos de
114 administrador puede realizar esta tarea). De esta manera, si por
115 alguna razón un usuario se quedara sin créditos para preguntar,
116 podría solicitar al administrador que le asigne algunos créditos.
117 Las razones de aprobación y la cantidad de créditos otorgados, queda
118 enteramente a consideración del administrador.
121 <img src="admin.creditos.jpg"
122 alt="Captura de pantalla de admin.creditos.php" />
124 <h2><a name="admin_admin_php">admin.admin.php</a></h2>
126 A través de esta página un administrador puede <em>ceder</em> sus
127 permisos de administración. Una vez cedidos, este usuario dejará de
128 ser administrador y comenzará a serlo el nuevo usuario asignado.
129 Al ser esta acción de un compromiso considerable, el administrador
130 debe volver a ingresar su password para confirmarlo (aunque ya esté
131 logueado y sólo los administradores puedan realizar esta acción).
134 <img src="admin.admin.jpg"
135 alt="Captura de pantalla de admin.admin.php" />
137 <h2><a name="faq_listarPreguntas_php">faq.listarPreguntas.php</a></h2>
139 Esta página lista las preguntas ingresadas en el sistema. Para cada
140 pregunta, se muestra la fecha de creación, el nombre de autor, con su
141 correspondiente foto, la pregunta en si, la posibilidad de accederá a
142 todas las respuestas para dicha pregunta, así como también la posibilidad
143 de responder la pregunta ( solo en caso que quien esta logueado en el sistema
144 no sea el mismo usuario que formulo la pregunta ). El listado de preguntas
145 aparece paginado cada 2 ( se muestran dos preguntas por pantalla ). Debajo de
146 las preguntas aparece el navegador. En caso que el usuario logueado sea un
147 administrador, en la parte inferior de cada pantalla aparece un link que permite
148 acceder a la página de baja de preguntas.
151 <img src="faq.listarPreguntas.jpg"
152 alt="Captura de pantalla de faq.listarPreguntas.php" />
154 <h2><a name="faq_listarRespuestas_php">faq.listarRespuestas.php</a></h2>
156 El listador de respuestas muestra ordenadas por ranking las respuestas a una
157 pregunta seleccionada. Utiliza el paginador, al igual que el listador de preguntas,
158 y también lo hace de a dos respuestas por pantalla. Muestra la información del usuario
159 que genero la respuesta ( foto y nombre ), la respuesta y el ranking de la misma. Si la
160 respuesta todavía no fue evaluada por el autor de la pregunta, muestra un mensaje que
161 indica que no hay ranking para esa pregunta. Si el usuario que esta accediendo a la lista
162 de respuestas es el mismo que formulo la pregunta y todavía no calificó a la misma, aparece
163 un botón que lo redirecciona a la página de calificación de preguntas.
166 <img src="faq.listarRespuestas.jpg"
167 alt="Captura de pantalla de faq.listarRespuestas.php" />
169 <h2><a name="faq_ingresarPregunta_php">faq.ingresarPregunta.php</a></h2>
171 Desde el menú de la aplicación se puede acceder a esta página. En caso de que el
172 usuario logueado tenga los créditos para hacerlo, podrá formular una pregunta que
173 se publicara en la lista de preguntas ( faq.listarPreguntas.php ). Si el usuario no
174 contara con los créditos suficientes, un warning lo alertara y le sugerirá que
175 pida créditos al administrador del sistema. El usuario podrá ingresas desde esta pantalla
176 tantas preguntas como créditos tenga.
179 <img src="faq.ingresarPregunta.jpg"
180 alt="Captura de pantalla de faq.ingresarPregunta.php" />
182 <h2><a name="faq_responderPregunta_php">faq.responderPregunta.php</a></h2>
184 Desde el listado de preguntas se puede acceder a la pantalla que permite responder
185 la pregunta. La misma muestra en el encabezado la pregunta que se esta respondiendo.
186 Al lograr un ingreso satisfactorio de una respuesta, aparece un mensaje que avisa al
187 usuario que su respuesta fue dada de alta en el sistema. Esta respuesta quedara pendiente
188 de calificar por parte del autor de la pregunta que se esta respondiendo. Cualquier usuario
189 logueado en el sistema puede acceder a responder preguntas. Únicamente no podrá responder una
190 pregunta el autor de la misma
193 <img src="faq.responderPregunta.jpg"
194 alt="Captura de pantalla de faq.responderPregunta.php" />
196 <h2><a name="faq_calificarRespuesta_php">faq.calificarRespuesta.php</a></h2>
198 La pantalla de calificación de respuesta solo puede ser accedida por el autor de
199 la pregunta que tiene dicho ítem como respuesta. En esta pantalla, desde un combo, se
200 puede elegir alguna de las cuatro categorías de calificación ( a cada una le corresponde un
201 puntaje ). Inmediatamente se le acreditara a quien pregunta tantos créditos como puntos valgan la
202 calificación de la respuesta. La respuesta solo podrá ser calificada una vez, luego de ser calificada,
203 desaparecerá el botón que permite acceder a la pantalla para ese ítem.
206 <img src="faq.calificarRespuesta.jpg"
207 alt="Captura de pantalla de faq.calificarRespuesta.php" />
209 <h2><a name="faq_desactivarPregunta_php">faq.desactivarPregunta.php</a></h2>
211 Desde esta pantalla, los administradores pueden dar de baja una pregunta. De todas formas la pregunta
212 seguirá existiendo, con sus respuestas, pero no sera mostrada mas por el listador. Para acceder a la pantalla
213 de baja de preguntas, se debe hacer click sobre el link que aparece en la página listarPreguntas.php. Este link
214 solo aparece en caso que el usuario logueado tenga privilegios de administrador.
217 <img src="faq.desactivarPregunta.jpg"
218 alt="Captura de pantalla de faq.desactivarPregunta.php" />
220 <h2><a name="modulo_info">Modulo de Info</a></h2>
222 El siguiente menu es el que se le presenta al asesor o socio para
223 interactuar con el modulo de info.
226 <img src="info.menu.asesor.jpg"
227 alt="Captura de pantalla de info.menu.asesor.jpg" />
230 El siguiente menu es el que se le presenta al administrador para
231 interactuar con el modulo de info.
234 <img src="info.menu.administrador.jpg"
235 alt="Captura de pantalla de info.menu.administrador.jpg" />
237 <h2><a name="info_ingresarTemas_php">info.ingresarTemas.php</a></h2>
239 Desde aquí el usuario puede ingresar nuevos temas. (Solo pueden acceder
240 los usuarios administradores)
241 Los campos a completar son:
242 <strong>Tema</strong>: Nombre del Tema.
243 <strong>Icono</strong>: Cada Tema tiene un ícono asociado.
244 <strong>Descripción</strong>: Cada Tema tiene un descripción asociada.
245 Una vez completados se procede a "Guardar Tema".
246 Se mostrará un mensaje indicando si la operación fue exitosa o no.
247 Se mantienen los datos en los campos, y se permite la modificación de lo recien insertado.
248 De retirarse de la página, o presionar sobre "Nuevo Tema" se pierde la posibilidad de modificar.
251 <img src="info.ingresarTemas.php.jpg"
252 alt="Captura de pantalla de info.ingresarTemas.php" />
254 <h2><a name="info_listarTemas_php">info.listarTemas.php</a></h2>
256 Desde aquí el usuario puede ver la lista de temas disponibles para ingresar informaciones.
257 La página se muestra paginada de a 5 temas por vez, se puede acceder a las diferentes
258 páginas navegando el menu superior. (La página actual queda marcada en negrita).
261 <img src="info.listarTemas.php.jpg"
262 alt="Captura de pantalla de info.listarTemas.php" />
264 <h2><a name="info_ingresarInfo_php">info.ingresarInfo.php</a></h2>
266 Desde aquí el usuario puede ingresar nuevas informaciones.
267 Los campos a completar son:
270 <li><strong>Tema</strong>: se debe seleccionar el tema de la lista disponible.</li>
271 <li><strong>URL</strong>: es la URL hacia la información que se está ingresando.</li>
272 <li><strong>Comentario</strong>: una breve descripción de la información provista.</li>
275 Una vez completados se procede a "Guardar Información"
276 Se mostrará un mensaje indicando si la operación fue exitosa o no.
277 Se mantienen los datos en los campos, y se permite la modificación de lo recién insertado.
278 De retirarse de la página, o presionar sobre "Nuevo Información" se pierde la posibilidad de modificar.
281 <img src="info.ingresarInfo.php.jpg"
282 alt="Captura de pantalla de info.ingresarInfo.php" />
284 <h2><a name="info_listarInfo_php">info.listarInfo.php</a></h2>
286 Desde aquí el usuario puede ver la lista de informaciones disponibles.
287 La página se muestra paginada de a 5 informaciones por vez, se puede acceder a las diferentes
288 páginas navegando el menu superior. (La página actual queda marcada en negrita).
289 Se despliega el icono del tema al cual pertenece, así como la imagen del usuario que cargó
290 dicha información. A continuación se muestra la URL correspondiente, con su comentario.
291 Por último el ranking ( que es la cantidad de accesos que hubo a dicha URL ) y se puede
292 acceder finalmente a la sección de comentarios sobre la información haciendo click en
294 Esta sección está disponible ordenada por ranking de acceso a la URL, o, eligiendo en "Ver Tema",
295 se listan las informaciones del tema, y luego dentro de ahi las mismas ordenadas por ranking.
298 <img src="info.listarInfo.php.jpg"
299 alt="Captura de pantalla de info.listarInfo.php" />
301 <h2><a name="info_listarComentarios_php">info.listarComentarios.php</a></h2>
303 Esta página es accedida desde "Ver Comentarios" que se encuentra disponible para cada información presente.
304 La misma muestra los comentarios agregados hasta el momento.
305 La página se muestra paginada de a 5 temas por vez, se puede acceder a las diferentes
306 páginas navegando el menu superior. (La página actual queda marcada en negrita).
307 Se presenta el ícono del tema al cual pertenece la información, y por supuesto el comentario en cuestión.
308 Luego se presenta el ícono y apellido del usuario que cargó el comentario (si el usuario que cargó el comentario
309 es el mismo que cargó la información entonces se muestra solamente el apellido), y finalmente se muestra el comentario.
310 Se puede acceder a cargar un nuevo comentario desde "Ingresar Comentario" (esto solo puede ser realizado por los asesores
314 <img src="info.listarComentarios.php.jpg"
315 alt="Captura de pantalla de info.listarComentarios.php" />
317 <h2><a name="info_ingresarComentario_php">info.ingresarComentario.php</a></h2>
319 Desde aquí el usuario puede ingresar nuevos comentarios a informaciones existentes.
320 El campo a completar es:
323 <li><strong>Comentario</strong></li>
326 Una vez completados se procede a "Guardar Comentario".
327 Se mostrará un mensaje indicando si la operacion fue exitosa o no.
328 Se mantienen los datos en los campos, y se permite la modificación de lo recién insertado.
329 De retirarse de la página, o presionar sobre "Nuevo Comentario" se pierde la posibilidad de modificar.
332 <img src="info.ingresarComentario.php.jpg"
333 alt="Captura de pantalla de info.ingresarComentario.php" />
335 <h2><a name="info_mencionEspecial_php">info.mencionEspecial.php</a></h2>
337 En esta pagina se lista el o los usuarios que hayan publicado informaciones con alto ranking.
338 Se suma para cada usuario los rankings de las páginas publicadas, y luego se muestran aquellos que con el
339 ranking mas alto ( se muestra mas de uno cuando el ranking es el mismo para varios usuarios ).
342 <img src="info.mencionEspecial.php.jpg"
343 alt="Captura de pantalla de info.mencionEspecial.php" />
346 <h1><a name="desarrollo">Desarrollo</a></h1>
347 AGREGAR DESCRIPCION DE LO HECHO!!!!
348 <h2><a name="desarrollo_archivos">Formato de Archivos</a></h2>
350 Todos los archivos del sistema se almacenan en el directorio data.
351 Varios archivos son creados en <em>tiempo de ejecución</em> por el
352 servidor web, por lo tanto este directorio debe tener permisos de
353 escritura para el usuario con el que corre dicho servidor.
354 Además las fotos de los usuarios se guardan en el directorio fotos y
355 también se crean en <em>tiempo de ejecución</em>, por lo tanto este
356 directorio también debe tener permisos de escritura para el servidor
357 web. El nombre del archivo de la foto de un usuario es su número de
358 registro (si es socio) o código (si es asesor).
361 A continuación se describe el formato de cada archivo.
363 <h3><a name="desarrollo_archivos_int_2005_txt">int_2005.txt</a></h3>
365 Este archivo tiene formato <acronym lang="en"
366 title="Comma Separated Values">CSV</acronym> y está cargado previo
367 a la ejecución del sistema con todos los integrantes que
368 potencialmente serán <em>socios</em> del sistema.
369 Los campos del archivo son:
372 <li>Número de registro</li>
373 <li>Nombre del usuario</li>
374 <li>Apellido del usuario</li>
376 <h3><a name="desarrollo_archivos_ase_2005_txt">ase_2005.txt</a></h3>
378 Este archivo tiene formato <acronym lang="en"
379 title="Comma Separated Values">CSV</acronym> y está cargado previo
380 a la ejecución del sistema con todos los integrantes que
381 potencialmente serán <em>asesores</em> del sistema.
382 Los campos del archivo son:
385 <li>Código (formato A+año+número correlativo)</li>
386 <li>Nombre del usuario</li>
387 <li>Apellido del usuario</li>
389 <h3><a name="desarrollo_archivos_users_csv">users.csv</a></h3>
391 Este archivo tiene formato <acronym lang="en"
392 title="Comma Separated Values">CSV</acronym> y se crea en
393 <em>tiempo de ejecución</em>. En él se almacenan los usuarios
394 registrados en el sistema.
395 Los campos del archivo son:
399 Número de registro/Código (dependiendo de si es socio o
402 <li>Contraseña del usuario</li>
403 <li>Dirección de correo electrónico del usuario</li>
405 <h3><a name="desarrollo_archivos_admin_txt">admin.txt</a></h3>
407 Este archivo tiene formato de texto plano y almacena un número de
408 registro o código (según sea socio o asesor) por línea (aunque
409 también puede ser visto como un archivo <acronym lang="en"
410 title="Comma Separated Values">CSV</acronym> con un sólo campo).
411 Su función es almacenar los identificadores de los 2 administradores
412 del sistema y es creado en <em>tiempo de ejecución</em>.
414 <h3><a name="desarrollo_archivos_creditos_csv">creditos.*.csv</a></h3>
416 Este archivo tiene formato <acronym lang="en"
417 title="Comma Separated Values">CSV</acronym> modificado, ya que
418 incluye en los primeros 11 bytes un <em>índice</em> a la última
419 entrada. Es decir, en los primeros 11 bytes se almacena la posición
420 del archivo en la que se encuentra el último <em>registro</em> CSV.
421 Dicha posición, se almacena en codificación ASCII como un número de
422 10 cifras (con ceros delante) y un caracter de fin de línea al
423 final. Como normalmente sólo importa el último registro del archivo,
424 esto acelera mucho, ya que no hay que recorrerlo completo para
425 obtener dicho registro. De esta manera el acceso es casi directo y
426 se conserva la historia de la variación de los créditos.
429 Este archivo se crea en <em>tiempo de ejecución</em>, uno por cada
430 socio, en el momento en que se registra en el sistema. El nombre
431 del archivo incluye el número de registro del socio
432 (creditos.[nro_registro].csv) y en él se almacena la
433 historia de créditos de dicho usuario.
434 Los campos del archivo son:
437 <li>Timestamp con la fecha en la que se creó la entrada</li>
438 <li>Cantidad de créditos que tiene el socio</li>
440 Cantidad de respuestas con <span lang="en">ranking</span>
441 2 o más que le falta para obtener los 5 créditos extra
443 <li>Cantidad de días que lleva sin preguntar</li>
446 Este archivo se actualiza en etapas distintas (siempre que se
447 actualiza, se agrega un nuevo registro con los nuevos datos y se
448 actualiza el <em>índice</em>). Cuando el usuario ingresa al sistema,
449 se recalculan los créditos para ver si se le deben restar por
450 cantidad de días sin preguntar. Se resta 1 crédito por cada 30 días
451 sin responder. El cálculo realizado es el siguiente:
454 Llamaremos FECHA al campo 1 del registro del archivo leído, CREDITOS
455 al campo 2 y DIAS al campo 4. Llamaremos FECHA_ACTUAL a la fecha del
456 instante del login. Ambas fechas expresadas como timestamps. Para
457 calcular la diferencia en días entre 2 fechas, simplemente se restan
458 y se divide por 86400 (cantidad de segundos en un día). Entonces
459 para saber la cantidad de días que hace que no se pregunta en el
460 instante del login (DIAS_NUEVO), se realiza: <code>DIAS_NUEVO =
461 DIAS + (FECHA_ACTUAL - FECHA) / 86400</code>. Luego, si DIAS_NUEVO
462 es más que 30, se calculan los nuevos créditos (CREDITOS_NUEVO) como
463 <code>CREDITOS_NUEVO = CREDITOS - (DIAS_NUEVO / 30)</code> y la
464 nueva cantidad de días sin preguntar restantes (DIAS_RESTO) como
465 <code>DIAS_RESTO = DIAS_NUEVO % 30</code> (siendo % el resto de la
466 división entera), ya que estos días sin preguntar <em>extra</em> que
467 todavía no llegan a sumar 30 como para restar créditos, deben ser
468 considerados para futuros cálculos. Finalmente en el archivo de
469 créditos se guarda un nuevo registro con los datos CREDITOS_NUEVO y
470 DIAS_RESTO en los campos 2 y 4 respectivamente. El resto de los
471 campos (exceptuando la fecha, que siempre se guarda con la fecha de
472 modificación del archivo) quedan intactos.
475 El otro caso en donde se actualiza este archivo (se actualizan los
476 créditos) es cuando un socio realiza una pregunta. En este caso,
477 solamente se resta un crédito (campo 2) y pone se resetean los días
478 sin preguntar (el campo 4 se pone en cero).
481 Finalmente, el último caso en donde se actualiza este archivo (se
482 recalculan los créditos) es cuando un usuario califica una
483 respuesta. Se suma a CREDITOS la calificación de dicha respuesta y
484 si la respuesta está calificada con un valor igual o superior a 2
485 se suma uno al campo 3 (BONUS) y se verifica si es igual o superior
486 a 5 (en realidad jamás será superior a 5). Si lo es, se pone en cero
487 BONUS y se suma 5 CREDITOS.
489 <h3><a name="desarrollo_archivos_log_csv">log.*.csv</a></h3>
491 Este archivo tiene formato <acronym lang="en"
492 title="Comma Separated Values">CSV</acronym>. y se crea en
493 <em>tiempo de ejecución</em>, uno por cada usuario, en el momento
494 en que se registra en el sistema. El nombre del archivo incluye el
495 número de registro del socio o código del asesor según el caso
496 (log.[nro_registro/codigo].csv) y en él se almacena la el log de
497 actividades (es decir, cada vez que el usuario realiza una acción en
498 el sistema, se agrega una entrada a este archivo que la describe).
499 Los campos del archivo son:
501 <li>Timestamp con la fecha en la que se creó la entrada</li>
502 <li>Descripción de la acción realizada</li>
504 <h3><a name="desarrollo_archivos_preguntas_csv">preguntas.csv</a></h3>
506 Este archivo tiene formato <acronym lang="en"
507 title="Comma Separated Values">CSV</acronym>. y se crea en
508 <em>tiempo de ejecución</em>. A medida que se van dando de alta las
509 preguntas, se agrega una línea al final. Se guarda toda la información
510 necesaria para poder operar con las preguntas. Cuando una pregunta se
511 da de baja, <em>no</em> es eliminada de este archivo. De esta forma,
512 queda un registro histórico de las preguntas que fueron dadas de alta en
514 Los campos del archivo son:
516 <li>Id de la pregunta</li>
517 <li>Id del usuario autor de la pregunta</li>
518 <li>Timestamp con la fecha de creación de la pregunta</li>
519 <li>Texto de la pregunta</li>
521 <h3><a name="desarrollo_archivos_respuestas_csv">respuestas.csv</a></h3>
523 Este archivo tiene formato <acronym lang="en"
524 title="Comma Separated Values">CSV</acronym>. y se crea en
525 <em>tiempo de ejecución</em>. Cuando se da de alta una respuesta a una
526 pregunta, se da de alta un nuevo registro en este archivo. El id de las
527 respuestas es simplemente el orden en el que fueron loguadas. Se guarda información
528 de la pregunta que se esta respondiendo para que sea mas sencilla la operatoria con
529 las respuestas, y pueda trabajar de manera independiente a las preguntas.
530 Los campos del archivo son:
532 <li>Id de la pregunta que se esta respondiendo</li>
533 <li>Id del usuario autor de la pregunta que se esta respondiendo</li>
534 <li>Id del usuario autor de la respuesta</li>
535 <li>Timestamp con la fecha de creación de la respuesta</li>
536 <li>Texto de la respuesta</li>
538 <h3><a name="desarrollo_archivos_calificacion_csv">calificacion.csv</a></h3>
540 Este archivo tiene formato <acronym lang="en"
541 title="Comma Separated Values">CSV</acronym>. y se crea en
542 <em>tiempo de ejecución</em>. Cuando un usuario autor de una pregunta
543 califica las respuestas a dicha pregunta, se da de alta un registro en este archivo.
544 Luego, se asociara al calificacion a la respuesta correspondiente. Si una respuesta
545 no aparece en este archivo, es que todavía no fue calificada.
546 Los campos del archivo son:
548 <li>Id de la respuesta calificada</li>
551 <h3><a name="desarrollo_archivos_desactivadas_csv">desactivadas.csv</a></h3>
553 Este archivo tiene formato <acronym lang="en"
554 title="Comma Separated Values">CSV</acronym>. y se crea en
555 <em>tiempo de ejecución</em>. Cuando un administrador da de baja una pregunta,
556 simplemente se ingresa el id de la misma en este archivo. A partir de ese momento, el
557 listador la ignorará al momento de mostrar las preguntas por pantalla.
558 Los campos del archivo son:
560 <li>Id de la pregunta</li>
561 <li>Timestamp con la fecha de baja</li>
563 <h3><a name="temas_csv">temas.csv</a></h3>
565 Este archivo tiene formato <acronym lang="en"
566 title="Comma Separated Values">CSV</acronym>. Se va cargando por los administradores durante
567 la ejecución del sistema.
568 Los campos del archivo son:
571 <li>ID que identifica unívocamente a los temas.</li>
572 <li>Usuario que cargo el mismo.</li>
573 <li>Nombre del mismo.</li>
574 <li>Ruta al icono del mismo.</li>
575 <li>Breve descripción.</li>
576 <li>Fecha de alta/modificación.</li>
578 <h3><a name="infos_csv">infos.csv</a></h3>
580 Este archivo tiene formato <acronym lang="en"
581 title="Comma Separated Values">CSV</acronym>. Se va cargando por los asesores/socios durante
582 la ejecución del sistema.
583 Los campos del archivo son:
586 <li>ID que identifica univocamente a las informaciones.</li>
587 <li>ID del tema al cual pertenece.</li>
588 <li>URL (link) a la información otorgada.</li>
589 <li>Usuario que cargo el mismo.</li>
590 <li>Breve descripción.</li>
591 <li>Cantidad de visitas a la URL (link) proporcionada.</li>
592 <li>Fecha de alta/modificación.</li>
594 <h3><a name="comentarios_csv">comentarios.*.csv</a></h3>
596 Este archivo tiene formato <acronym lang="en"
597 title="Comma Separated Values">CSV</acronym>. Se va cargando por los asesores/socios durante
598 la ejecución del sistema.
599 Los campos del archivo son:
602 <li>ID que identifica univocamente a las informaciones.</li>
603 <li>Usuario que cargó el mismo.</li>
605 <li>Fecha de alta/modificación.</li>
607 <h1><a name="herramientas">Herramientas de desarrollo</a></h1>
609 Cada integrante eligió herramientas de desarrollo propias, más allá
610 de las herramientas obligatorias que había que usar
611 indefectiblemente para realizar el TP (como PHP y Apache).
612 A continuación se enumeran las herramientas utilizadas por cada
615 <h2>Leandro Lucarella</h2>
618 <dd><p>Mozilla Firefox, w3m</p></dd>
619 <dt>Editor de texto</dt>
622 <dd><p>Herramientas de w3c: tidy y el servicio de validación
623 online (http://validator.w3.org/)</p></dd>
624 <dt>Herramientas de diseño de HTML</dt>
625 <dd><p>Ninguna</p></dd>
627 <h2>Jonathan Schein</h2>
630 <dd><p>Mozilla Firefox, Internet Explorer 6</p></dd>
631 <dt>Editor de texto</dt>
632 <dd><p>HTML-Kit, Notepad</p></dd>
634 <dd><p>Herramientas de w3c: tidy y el servicio de validación
635 online (http://validator.w3.org/)</p></dd>
636 <dt>Herramientas de diseño de HTML</dt>
637 <dd><p>Ninguna</p></dd>
639 <h2>Sebastián Arena</h2>
642 <dd><p>Mozilla Firefox, Internet Explorer 6</p></dd>
643 <dt>Editor de texto</dt>
644 <dd><p>EmEditor</p></dd>
646 <dd><p>Herramientas de w3c: tidy y el servicio de validación
647 online (http://validator.w3.org/)</p></dd>
648 <dt>Herramientas de diseño de HTML</dt>
649 <dd><p>Ninguna</p></dd>
651 <h1><a name="configuracion">Configuración del servidor</a></h1>
653 El servidor no debe ser configurado de ninguna forma en particular,
654 sólo debe tener activado el módulo de PHP y la extensión user_dir de
655 apache si va a ser instalado en el directorio public_html de un
656 usuario. El resto de las configuración se realizan desde el mismo
657 sistema, por lo que no es necesario hacer modificaciones ni a la
658 configuración del apache ni a la del PHP.
661 Si no estuviera configurado el módulo user_dir, habría que agregar
662 al apache las siguiente líneas:
665 LoadModule userdir_module libexec/mod_userdir.so
666 AddModule mod_userdir.c
670 Si no estuviera configurado el módulo de php, habría que agregar
671 al apache las siguiente líneas:
674 LoadModule php4_module libexec/libphp4.so
676 AddType application/x-httpd-php .php
679 El archivo php.ini no necesita modificaciones a los valores por
680 omisión que trae cuando se instala.
682 <h1><a name="instalacion">Instalación</a></h1>
684 Sólo debe ejecutar el script ./install.sh que se encuentra en el
685 disquette. El script crea el directorio public_html en el directorio
686 del usuario actual (si no existiese) y copia los archivos
687 necesarios, con los permisos pertinentes para que el apache pueda
688 leer o escribir según corresponda. Una vez instalado, el sistema se
690 <a href="http://localhost/~sisdis10/">http://localhost/~sisdis10/</a>
691 (si se instala con el usuario sisdis10, por supuesto).
693 <h1><a name="uso">Modo de uso</a></h1>
695 COMPLETAR!!! Mucho de esto por ahora está en la descripción del
696 diseño... Habría que hacer una descripción de un circuito completo
697 que vaya por toas las páginas...
701 <!-- vim: set et sw=4 sts=4 : -->