[eside-ghost] Call for help -- Temario online - v0.01

Jon Valdés juanval en gmail.com
Jue Nov 6 02:20:59 CET 2008


Bueeenas,

Como comenté el otro día, estaba pensando en una herramienta para ir
preparando el temario de los cursos de forma un poco colaborativa (que
la gente pudiera votar sobre el temario, dar sugerencias y tal), y no
encontraba nada como lo que yo había pensado.

Así que me puse a programar una yo mismo.

Problema: hace 3 días no tenía ni guarra de PHP, HTML o JavaScript. Y
en este tiempo, como comprendereis, no es que me haya hecho un gurú,
precisamente.

Así que esta herramienta es un guarrohack bastante grande, hecha por
un novato absoluto en la creación de páginas web.

Como ejemplo, he intentado que sea lo más standards-compliant, pero
aún así el validator de w3c me pega 22 errores por la forma en la que
añado cosas a la url para simular una GET (si alguien me explica cómo
debería hacer esto, se agradecerá mil xD)

Por otro lado, tampoco tengo ni guarra sobre diseño con CSS, asi que
media página está hecha en ASCII xDDD Y la media que no lo está, he
copiado el diseño de otra página (el archivo styles.css es una copia
al 99.9% del de la página del libro Real World Haskell:
http://book.realworldhaskell.org/support/styles.css )

Ah, y tampoco tengo ni guarra de AJAX, asi que es prácticamente todo
html estático, lo cual hace que editar documentos sea bastante chapa
ahora mismo. Eso habría que cambiarlo fijo.

Bueno, a la herramienta en sí.

Podeis probarla en http://hombrealto.com/comment/doc.php

Aqui teneis un ejemplo de documento creado con esta herramienta (mis
disculpas a los escatológicamente sensibles):
    http://hombrealto.com/comment/doc.php?doc=1


Podeis crearos un usuario simplemente dandole a signup y metiendo un
nombre y pass, y luego podeis crear, modificar y borrar documentos a
vuestra bola.
Punto importante: ahora mismo no se comprueba si el documento que
quieres modificar es propiedad tuya, asi que todo el mundo puede
liarla con los documentos de los demás.

También, si alguien quiere probarla en otro servidor, sólo necesitais
un sitio con php y mysql, y cambiar los datos de la DB en
dbmanager.php. Luego entrais en doc.php?action=create y se crearán las
tablas de la base de datos.

Os podeis bajar el src de aqui: http://hombrealto.com/comment-0_0_1.tgz

Bueno, todo esto os lo comento porque yo no tengo ni idea de diseño
web, y necesitaría ayuda para llevar esto a un estado mínimamente
usable.

Problemas que tiene ahora mismo:
  - Que yo sepa, no evita problemas de SQL injection (aunque no he
conseguido producir ninguno hasta ahora), y me estoy temiendo que pase
una de estas: http://xkcd.com/327/

 - El diseño de la web es lo más horrendo del universo (exceptuando
los propios documentos, que creo que no quedan mal).

 - La edición de los documentos es bastante horrible porque cualquier
acción provoca una recarga completa de la página, y encima la vista
salta hasta el principio del documento de todas todas.

 - Ahora mismo se comprueba el ownership de los documentos para nada
(esto no debería costarme más de 20 minutos, pero es que se me había
olvidado).

 - Algunos detalles del css de los documentos, como que no consigo que
los textos del número de comentarios hagan caso al "text-align:right"

 - Las fechas aparecen en el huso horario del servidor, y no del usuario.

 - Bugs variados sin descubrir

Así que, ¿alguien se apunta a retocar un poco el diseño para poder
montar una web de temario de los cursillos majilla? De todo el tema de
PHP en principio pensaba encargarme yo (ponerse a entender los hacks
de un novato puede ser frustrante, pero si son los tuyos propios se
lleva mejor), asi que necesitaría ayuda sobre todo con el html y el
css.

Y si no quereis dedicarle un tiempo importante, si pudierais
cacharrear con la página, añadir comentarios, texto y tal, se
agradecería, para poder ir probando la aplicación en un entorno un
poco mas real. Ah, y los bugs que encontreis, mandadme un mail si
podeis, please :)

Mañana (si tengo tiempo) escribiré un resumen de la estructura del
programa, y por qué algunas cosas están hechas así (como la forma en
la que el contenido no se borra nunca de la base de datos, y todo va
con un timestamp). Si eso pondré un link por aquí para el que le
interese.

A ver si se anima alguien, que con un poco de esfuerzo creo que puede
quedar una cosa muy maja :)

Venga, taluegoooo


Más información sobre la lista de distribución eside-ghost