Archive

Archive for the ‘wikibook’ Category

Wikibook en Beta

January 8th, 2007 No comments

El wikibook ya vuelve a funcionar con nuestro webservice. Como todo esto se está acabando, hemos querido que el proyecto del wikibook no se quedase como un apartado muerto de nuestro proyecto, sino que fuese el principio de este gran proyecto.

Cuando empezamos a trastear el webservice para hacerlo compatible con tiddlywiki, no se tuvo en cuenta la compatibilidad con el wikibook y este libro wiki quedó “abandonado” hasta ahora.

El wikibook funciona con la última nwiki para moodle 1.6, y es totalmente compatible con los plugins realizados para tiddlywiki.

De momento sólo podemos cargar páginas wiki, crear capítulos y páginas del wikibook. Todo con AJAX. El resto estará en manos de los futuros miembros del dfwikiteam.

Categories: pfc, wikibook Tags:

Recta final

January 4th, 2007 No comments

Los bloques tendrán que esperar, ya que tal y como estaban las cosas implementadas, nuestros cambios serían demasiado grandes y largos como para poderlos acabar en este mes.

Así que, pensando en que esto debe acabarse en las próximas 3 semanas, y que todavía queda hacer la memoria, lo que haremos será arreglar el webservice para que sea compatible con el prototipo de wikibook que hicimos al principio del proyecto y luego acabar la memoria.

Y ya está. Quedará hacer la presentación y así habré llegado al final de ésta semi-infinita carrera. Pero que al final acabará más rápido de lo que me esperaba.

¿Y luego qué? Ya veremos.

Categories: pfc, wikibook Tags:

9ª Reunión PFC

November 22nd, 2006 2 comments

Jordi nos ha hecho una pequeña clase sobre RSS y atom. Resulta que RSS no es atom. Y atom es más “software libre” y moderno que RSS. Y que el creador de RSS le dió algo chungo en el corazón hace unos 4 años, paró el proyecto y de allí surgió el atom.

Interesante… Supongo que atom será el sistema de sindicación escogido, pero antes se debe saber qué hay que sindicar. Ya veremos.

Nuestro Export plugin parece ser que tendrá que esperar al parser de Dídac un poco más. La versión “definitiva” que enviamos ayer a Ludo ha petado al primer intento. Así que nada: Que la fuerza te acompañe Dídac!

Mientrastanto, nosotros debemos poder importar Html o Media Wiki, según lo que nos pasen y usando los plugins existentes para esto.

Y además empezaremos con La Sincronización.

Queremos poder sincronizar una tiddlywiki con una wiki (o server) de Moodle y viceversa. Esto se conseguirá gracias a los plugins realizados previamente y a nuevas funcionalidades que incluiremos en éstos.

Una vez esté listo (le damos optimísticamente una semana), iremos a por La Generación.

Esto consistirá en, dado un conjunto de wikis de Moodle, generar un archivo tiddlywiki con todas las wikis compiladas en él.

Y esto no es más que un preludio de los pensamientos más oscuros e intrincados de Ludo, ya que todo esto lo utilizaremos para… ¡El Wikibook!

Ahora mismo creo estar dentro de una novela de Neal Stephenson, donde no sabes lo que está pasando hasta que no llegas al final. ¡Y aún quedan dos meses!

Categories: exportdfwiki, pfc, reunion, wikibook Tags:

6ª Reunión PFC

October 18th, 2006 No comments

Y entonces llegó la tormenta.

Dejamos el wikibook por una semana (en teoría) para realizar una aplicación que exporte wikis de moodle a una Tiddlywiki. Y la semana que viene debe estar acabado. Ahora que íbamos tan bien con el wikibook…

En estos momentos me parece un trabajo inmenso, pero según Marc y Pigui, parece ser que no será para tanto.

La idea es utilizar el pequeño webservice que hicímos para el wikibook y usar el importador de tiddlywikis ImportTiddlersPlugin para realizar la aplicación.

Así que ahora toca volverme a mirar el tema de la tiddlywiki (tema que ya me miré éste verano, pero que al final no saqué nada en claro dado que apenas conocía el código de dfwiki), y tratar de implementar, junto con Alex, éste importador.

Dame fuerzas, oh gran Neal Stephenson.

Otros temas importantes de la reunión:

- El Internalmail se empieza des de 0 y se encargan los de UPC.net
- Debemos hacer manuales wiki en Crom’s Lair
- Las variables globales ya han sido eliminadas. Toca probarlo a fondo.
- Esta semana se juntará todo el trabajo hecho por los tunning coders para tener una versión estable de la NWiki sin variables globales y muchos menos bugs.
- Los cátaros se mezclan con María Magadalena, El Grial y Dan Brown.

Pues nada, ¡manos a la obra!

Categories: pfc, reunion, tiddlywiki, wikibook Tags:

Sincronizaciones con AJAX

October 17th, 2006 No comments

He solucionado un pequeño problema que teníamos cuando llamábamos a dos funciones que trabajan con un objeto XMLHttpRequest cada una.

La cosa es que teníamos un par de funciones que se llaman cuando se hace un click en un botón. De la siguiente manera:

código del botón:

código javascript:

function saveAndShowChapters() {
save_wikibook_chapter(instancia, valor, curso);
show_chapters(insancia, curso);
}

Con ésto consigo que, apretando dicho botón, se guarde el capítulo que quiera en la base de datos e inmediatamente despues se actualice la lista de capítulos por pantalla.

Parece precioso y perfecto ¿no?

Pues parece que no. Al objecto XMLHttpRequest no le gustaba tanto mareo junto. (Os recuerdo que éstas dos funciones envian y reciben información del servidor con el XMLHttpRequest, y que se llaman una despues de la otra).

La solución de poner un wait() entre las llamadas no entiendo porqué no parecía funcionar.

Así que he optado por poner la segunda llamada en el apartado donde se decide que la función del XMLHttpRequest ha finalizado. De la siguiente manera:


function stateSaveWikibookChapterChanged() {
if (xmlHttp.readyState==4 || xmlHttp.readyState==”complete”) {
document.getElementById(“saveChapter”).innerHTML=xmlHttp.responseText;
show_chapters(instancia, curso);
}
}

Entonces, en la función saveAndShowChapters() sólo tenemos que llamar a una función:

function saveAndShowChapters() {
save_wikibook_chapter(instancia, valor, curso);
//show_chapters(insancia, curso);
}

Y funciona de maravilla.

Pero, ¿y si alguna vez quiero salvar un capíulo sin mostrarlo? Pues puedo pasarle un parámetro a la funcion save_wikibook_chapter y listos. Cap problema.

AJAX power!

Categories: ajax, pfc, wikibook Tags:

Capítulos y Páginas

October 16th, 2006 2 comments

Nuestro wikibook avanza. Y como una imágen vale más que mil palabras, aquí tenéis:

Ahora ya podemos añadir capítulos y páginas. Queda todavía mucho camino. Hemos tenido varios problemas con el layout de la página (el cual está hecho totalment con div’s y ninguna tabla), pero ahora queremos centrarnos en las funcionalidades básicas y luego ya empezarán las “virguerías”.

Es una interfaz muy simple y no muy intuitiva, pero es todo provisional.

Lo de los índices en la base de datos comentado en el post anterior por uncnoun y luego por Ludo es algo a tener en cuenta. He visto que en las tablas de moodle se utilizan en algunos casos. Y mis profesores de diseño de bases de datos estarían orgullosos de mí si lo utilizo. Así que allá voy. Gracias uncnoun por notificarme!

Así que así están las cosas. La versión estable está subida al CVS de la Farga.

Seguiremos informando. ¡Buen trabajo Álex!

Categories: pfc, wikibook Tags:

Especificación del Wikibook

October 16th, 2006 3 comments

He hecho una primera aproximación al diseño de nuestro Wikibook. Aquí adjunto el boceto:


He dudado en implementar la base de datos tal y como me han enseñado en la facultad o hacerlo tal y como pone en la documentación de Moodle. La primera opción era crear 3 tablas:

-Wikibooks(id)
-WikibookChapters(id, wikibookid)
-WikibookPages(id, wikibookid, wikibookchapterid)

Los campos en negrita son las claves primarias.
Los campos en cursiva son las claves foráneas.

Ésta implementación está muy bien, pero según Moodle y su filosofía de obviar las claves foráneas (limitación impuesta por versiones anteriores de mySQL), no se puede implementar así.

Así pues, haré caso a Moodle y la implementación final que he decidio es básicamente la misma pero usando un id único para cada tabla, y que éste sea la única clave primaria. Quedando así:

-Wikibooks(id)
-WikibookChapters(id, wikibookid)
-WikibookPages(id, wikibookid, wikibookchapterid)

Los campos en negrita son las claves primarias.
No hay claves foráneas explícitas. Las joins se harán en php y no en sql.

Repito que es una primera aproximación, ahora me dispongo a hacer las primeras pruebas con ella.

Categories: pfc, wikibook Tags:

Interfaz Wikibook

October 11th, 2006 3 comments

Aquí el primer pantallazo de nuestro wikibook. El layout está con div’s (XHTML power), el acceso a la información de las Wikis funciona en AJAX y el montaje (todavía muy provisional) del Wikibook está en Javascript.

Categories: pfc, wikibook Tags: