martes, octubre 31, 2006

Feina per al DFWikiTeam1: Instal·lació de la Nwiki.

Comencem pel principi. Quan ens van dir que la DFWiki substituiria la e-Wiki de Moodle, ens van demanar una seguit de coses. La més rellevant per al cas que vaig a tractar ara, era que li canviessim el nom. La DFWiki tenia que deixar-se de dir així i ser només Wiki.


Quan era DFWiki no hi havia cap problema, aquesta i la e-Wiki convivien sense cap problema. Cada una estava dins de la seva carpeta del directori mod i tenia les seves taules. Ara la NWiki, està dins de la carpeta mod/wiki, on originariament hi havia la e-wiki i les seves taules comencen, tal i com diuen els estàndars, per “prefix”_wiki. Aquest últim fet porta bastants mal de caps.


Quin és el problema?

Quan es borra el directori mod/wiki antic i es fica el nostra, la versió de la wiki ha canviat. Per tant, quan s'accedeix a la pantalla d'administració, salta l'script d'upgrade (mysql.php). Aquest, serveix per que anem afegint el codi necessari per modificar la base de dades, és a dir, per que la gent que s'instal·la la NWiki de 0 i la gent que en fa un actualització tinguin una DB idèntica.


Però he dit que la wiki que hi havia instal·lada no era la nostra, no podem fer els alters tal qual, hi ha taules que tenen el mateix nom en les dues version, però n'hi ha que no son pas comunes. El procediement a seguir, abans de fer res, detectar quina wiki hi ha en els sistema. Si es la nostra contiunuar tranquil·lament, sino, procedir amb la migració.


Pot ser que la wiki antigua tingui instàncies en el sistema i pot ser que no. Per assegurar-nos, hem de fer una substitució del mòdul antic per el nostre sense que el sistema s'en adoni. Fins i tot l'identificador de mòdul, ha de ser el mateix.


Estat de la migració i feina a fer

Des de Maig d'aquest any, no es s'actualitza el protocol de migració de la e-Wiki i ara com ara, no funciona gents bé.



Primera cosa:
if ($oldversion < 2006042801 ..... wiki_synonimous...
mirar si existeix la taula de sinonims, és bona idea; haver de saber en tot moment la versió de ewiki és un merder. Realment cal tindre en compte aquest numero? No es pot fer directament? La taula wiki_synonymous ha existit sempre, no? Caldria comprovar-ho.


Suposem que això no és cap problema i seguim analitzant el codi. Es comprova si la dfwiki esta instal·lada. Si ho esta, es fan tot un seguit d'actualitzacions; sino s'instal·la una dfwiki temporal. Un cop fet, es migra tot el contigut de la e-Wiki a DFWiki i després de DFWiki a NWiki. Dos pajaros de un tiro.


Però cal tanta història? Suposo que si. Caldria analitzar-ho amb més profunditat. El que trobo lleig, és el tema de crear o actualitzar la DFWiki. Si per algun motiu, treiem una versió nova de la DFWiki(cosa poc probable), es tindria que actualitzar aquest codi. S'hauria de provar de treure el codi que actualitza la DFWiki fora del mysql.php i cridar a una altra operació que ho fés. La idea seria que poguessim incluir el mysql.php de la DFWiki en totes les releases de la NWiki per estalviar-nos feina i fer-ho tot més extensible. La majoria de problemes que tenim a la NWiki és mai pensem en fer les coses ampliables i sempre ho fem tot estatic. Es podria fer el mateix amb el mysql.sql de la DFWiki, per el cas que s'hagi de crear una DFWiki temporal.


Un cop tenim una DFWiki i una e-Wiki, s'ha de migrar tot d'un costat cap a l'altre. Es fa correctament? Quan això funcioni, s'han de migrar totes les DFWiki's a NWiki. En teoria, aixó està implementat correctament en l'operació del bloc d'administració, només deuen faltar els camps que guarden el tamany de l'editor.


Procediment a seguir

S'hauria de crear un servidor de Moodle 1.6 exclusiu per a aquestes proves.

El tema seria:

  1. Crear ewikis:

  • crear una ewiki amb varies pagines. Aquestes pàgines han de contindre tota la sintaxis d'aquesta wiki. També s'han de crear pàgines amb l'editor html. Hi ha d'haver attachments.

  • crear una ewiki per grups per a 3 o 4 grups amb varies pàgines. Aquesta wiki ha de tindre pagines comunes als dos grups i pagines propies. Ara ja no cal provar tant extensament la sintaxis.

  • crear una ewiki per usuaris per a 3 o 4 usuaris. Ha de tindre un contingut semblant a la wiki anterior.

  1. S'hauria de fer una copia d'aquesta instal·lació de Moodle (codi+dades). Aquesta copia de seguretat ens serviria per fer totes les proves a partir d'ara.

  1. Instal·lar la NWiki i trobar on falla.

  1. Restaurar la copia de seguretat, modificar el codi de migració i repetir 3. fins que funcioni correctament.

Una altra cosa a provar, és la correcta migració a UTF-8. Pot ser que la ewiki estigui en UTF-8 o en ISO-8859. Així doncs, caldria probar aquest dos casos.


Bueno, em sembla que no em deixo res. Si hi hagués alguna cosa que em descuidés, ja us la comentaria aquí o al fòrum.

No hay comentarios: