Mostrando entradas con la etiqueta migració. Mostrar todas las entradas
Mostrando entradas con la etiqueta migració. Mostrar todas las entradas

jueves, septiembre 06, 2007

NWiki 2.0

Ja esta!! Per fi he acabat de rescriure tota la instal·lació i tota la migració utilitzant les noves llibreries de XMLDB.

He publicat una release. Ara només queda esperar el feedback de la comunitat amb els possibles bugs.

A partir de demà ja em podré posar a treballar en coses més "importants" de cara a entrar a la versió 2.0 de Moodle, i al projecte Campus i l'OKI

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.

viernes, octubre 27, 2006

Okay, East Perth, we've had a problem here.

'Okay, East Perth, we've had a problem here.'
'This is East Perth HQ. Say again please.'
'East Perth, we've had a problem. We've not updated ewiki migration protocol in some months.'

No voldria dir que tenim un problema tant gran com els tripulants de l'Apollo13, però en tenim un dels cabrons.

Com a introducció a aquesta nova història per no dormir diré, per a qui no ho sapiga, que durant la instal·lació de la NWiki es migra tot el contingut de les eWikis ja creades en el site a NWikis. No volem pas putejar a ningú, si hi ha gent que faci servir la versió que incorpora Moodle, té tot el dret a conservar el seu treball (inclús incluem un parser de ewiki para nostagicos).

Resulta que la última vegada que es va revisar el protocol a seguir en la instal·lació de la NWiki va se el Maig passat. Les modificacions les va fer l'Eloy Lafuente (uno de los grandes de Moodle) i ho va fer basant-se en l'script de creació de les taules de la NWiki que hi havia al repositori de Sourceforge. Per aquelles epoques, nosaltres haviem abandonat aquell servidor i ens haviem mudat a LaFarga. Això significa que fa nosequantes versions de la NWiki que no es fa la migració de eWiki o no es fa correctament.

He estat mirant per sobre el mysql.php i vaya tela. No se si intentar arreglar el codi o si començar-lo de zero... Em sembla que a partir de la setmana vinent ens haurem de replantejar algunes prioritats.