Sync Released!!
Finalmente, la release de nuestro synchronize es una realidad. Tambien nuevas versiones del export y el import.
Todo en http://moodle.tiddlyspot.com/.
Finalmente, la release de nuestro synchronize es una realidad. Tambien nuevas versiones del export y el import.
Todo en http://moodle.tiddlyspot.com/.
Me he estado peleando con la interfaz del Synchronize, muy parecida a la del PluginsManager. He tratado de buscar una manera para crear un campo que nos diga cuando ha sido la última vez que se ha sincronizado. Y he encontrado una, pero no es correcta, puesto que, al no guardar la información en el tiddler de manera física, al recargar la página se pierde.
Después de varios días, he llegado a la conclusión que para poderlo hacer, es necesario modificar la estructura interna de un tiddler añadiéndole el campo “sync”, pero esto conllevaría a modificar el diseño interno de la Tiddlywiki y esto es algo que no creo oportuno hacer.
Así que la interfaz quedará reducida y sólo aparecerán los tiddlers que se han sincronizado. Además, podremos seleccionarlos y quitarlos de la sincronización si así lo deseamos. O incluso borrarlos.
Así queda la interfaz final:

Por cierto, ya he enviado el webservice a Ludo. Cuando lo haya colgado en Crom subiré los tres plugins a la web de TiddlySpot.
Seguimos documentando.
Ya está implementada la función de comparar tiempos. Se tenía que formatear el formato de Tiddlywiki con el de Moodle para poderlos comparar.
Así que ya está. Está hecho. La primera versión del plugin de sincronización está acabada!
Alex encontró unos errores en la búsqueda de los cursos cuando sincronizamos. Hoy me lo he estado mirando y parece ser que ya estan solucionados.
El tema de los tiempos va adelante, y ésta tarde espero poderlo acabar. Una vez tenga esto, publicaremos una primera versión pública del sincronismo.
Mientrastanto, josear necesita una ayudita para sus cosas móbiles y el webservice, así que voy a programar las funciones que me pida y las voy a incluir en el webservice.
Doncs vinga.
Siguen las novedades. Hoy Ludo ha presentado su arsenal (presente, pasado y futuro) a los candidatos del dfwikiteam del próximo cuatrimestre. En él ya ha aparecido la palabra Open Office y su C++, que ha escandalizado a más de uno.
Y es que, para el próximo cuatrimestre, se buscan proyectistas para realizar un plugin de integración entre Wiki, TiddlyWiki y.. Open Office!
Madre mía, ¿de dónde saca estas ideas este hombre?
Sobre lo nuestro: Aparte de acabar el plugin de sincronización con las funcionalidades de grupos tanto para export como para import, debemos documentarlo todo de manera clara y fácil. Debemos explicarlo tanto para los usuarios como para los futuros desarroladores.
Lo del tema de los plugins tendrá que acabarse rápido, puesto que hay presión. Ya he solicitado el user para trabajar en Tiddlyspot.
También tendremos que “sincronizarnos” con josear y sus mobilidades. Nos ha pedido una función nueva en el webservice para recoger información de la bd. La haremos en cuanto podamos.
Parece ser que nuestros plugins no funcionan ni con Konqueror ni con Opera. La solución de Dídac ha sido: En la documentación de los plugins se pone una línia que no funciona ni con Konqueror ni con Opera. Bona.
Y finalmente, cuando acabemos todo esto llegará el momento de…
.
Pero de ésto ya hablaré en otro post. Ya tengo suficiente trabajo por ahora.
Nuevo tiddler creado para facilitar el manejo del plugin del Sincronismo. Aquí se encuentra la información de los tiddlers sincronizados, el user y el pwd de nuestro servidor de moodle.
Ya he implementado los cambios necesarios para que no falten elementos HTML cuando se aprieta el botón de syncrhonize. Así, cuando éste se aprieta, se abren automáticamente los tiddlers:
Esto va cobrando buena forma.
Mientrastanto, Alex se ha encargado de la gestión de grupos. Mañana haremos el merge de todo.
Finalmente, ya tenemos una primera versión funcional del plugin de sincronismo. La cosa ya funciona casi casi casi. Queda implementar una función “casi” implementada para chequear los tiempos de modificación. Después de eso será el plugin funcionará al 100% (sin contar bugs, claro).
Lo siguiente que queda es:
Tela con lo de importar, el código que he reutilizado del import plugin original para poder sincronizar estaba totalmente ofuscado y en ocasiones he visto muertos en forma de código javascript.
Pero ya está. Es nuestro.
Limpiamos bien con AJAX (o fuimos los grandes guerreros AJAX, depende del punto de vista y el nivel de frikismo) en SafeLayer el viernes pasado. Ludo y yo hicimos una clase sobre Web 2.0 a los ingenieros de dicha empresa. Parece que agradó y, además, me dio una experiencia laboral realmente buena. Gracias Pablo y Ludo por darme ésta oportunidad!
Y después de esto, vuelvo a la carga con nuestra querida Sincronización.
Me he estado peleando con el tema de hacer coincidir las wikis con los tiddlers, pero muchas funciones del webservice tienen que ser reescritas para obtener la información correcta.
Además, antes hacía coincidir el nombre del tiddler con el nombre de la wiki. Esto es incorrecto, puesto que lo que interesa es hacer coincidir los tiddlers con los nombres de página de una wiki.
Así que en esto estoy trabajando ahora mismo. Espero poder aprovechar el grande y bienvenido acueducto para terminar todo el tema de la sincronización.
Nuestros plugins de importar y exportar ya pueden hacerlo usando el formato HTML o el parser de Media Wiki si se desea.
Han habido problemas con el tema, y ha sido Alex el que se ha peleado con todo ello, pero al final se ha conseguido.
Mientras tanto yo me he enfrentado con El Sincronismo (Nota Mental: No abusar de tanta negrita y Mayúsculas).
He sufrido intentando hacer compatibles los dos plugins de importación y exportación con el nuevo plugin de sincronismo. Pero finalmente he conseguido hacerlo usando los propios campos del DOM que usan el import y el export.
De momento, cuando sincronizas un tiddler, comprueba que éste se encuentre en el servidor de Moodle. Es un gran paso, puesto que he usado las funciones de export sin apenas modificarlo.
¿Y qué queda por hacer?
Mucho:
En fín, mañana reunión, nos repartiremos el trabajo con Alex.
Yo ahora voy a preparar la sesión de AJAX de éste viernes.
Siguiendo los deseos de Ludo, he implementado un pequeño panel para tener constancia de los tiddlers a sincronizar, saber su última sincronización, y saber qué parser ha sido utilizado.
De momento la sincronización está por implementar, pero ésta pequeña herramienta nos irá de maravilla para ir probando el plugin.
Cada vez que apretamos el botón “synchronize” encima de un tiddler, éste se añade automáticamente al panel. Una vez allí, se puede quitar el sincronismo o borrar el tiddler directamente si se desea.
Para hacerlo, he asignado un tag llamado “synchronized”, que servirá para marcar todos aquellos tiddlers que estén sincronizados con el servidor de Moodle.
Esto pinta bien.