Mosaic revoluciona la creació de pàgines en Plone


Des de fa anys, els creadors de webs han sospirat per disposar d’un sistema de gestió de continguts (CMS) prou flexible i potent que permeti gestionar de forma integrada tot el que es visualitza a les seves pàgines. El Mosaic Sprint de Barcelona, hostatjat per UPCnet del 10 al 13 de juny, ha aconseguit, finalment, fer realitat aquest vell somni amb una solució senzilla i modular.

D’aquesta manera la UPC reafirma un cop més el seu compromís amb el desenvolupament del software lliure i, més específicament, amb una comunitat com Plone amb la que porta col·laborant més de 6 anys.

De fet,  els ploners van estar molt a prop d’aconseguir el seu objectiu fa cinc anys amb la creació de Déco, però en aquella ocasió es va realitzar una aproximació massa àmplia que va fer impossible tancar el procés. Aquest cop, els participants en aquest codesprint han fet un esforç especial per focalitzar les seves energies en un únic objectiu: la composició flexible de les pàgines, un aspecte que resulta fonamental en la integració de landing pages i responsive design aplicats a la visualització en dispositius mòbils.

 

Pensant fora de la caixa

Una de les principals limitacions de Plone (i de la pràctica totalitat de CMSs) és que la gestió de continguts es limita a la “caixa”, la part central de la pàgina web anomenada “zona de contingut”. Tot el que en queda fora, les capçaleres i els peus, no tenen un comportament dinàmic  i, per tant no es poden modificar. Aquesta és una limitació important quan, per exemple, es vol crear una pàgina que presenti un aspecte totalment diferent del web en el qual s’allotja.

Conscients que l’única manera d’aconseguir un resultat diferent era pensar “fora de la caixa”, el grup de treball va decidir passar d’una a dues dimensions aquesta zona de contingut. Disposar d’una graella 2D fa possible situar-hi fragments de contingut (text, imatges, contingut dinàmic) a l’interior de cada pàgina. Aquestes “rajoles” (tiles) són en realitat widgets de JavaScript que permeten compondre la pàgina com si es tractés d’un mosaic. El sistema guarda aquestes configuracions per usos posteriors i, a més, es poden predeterminar disposicions diferents de pantalla per als dissenys adaptables (responsive).

Un dels condicionants previs en el desenvolupament és que l’edició de continguts havia de resultar intuïtiva i, al mateix temps, no intrusiva, és a dir que l’experiència d’usuari no s’hauria d’alterar substancialment. D’aquesta manera, la visualització WYSIWYG segueix oferint vistes de formulari en les que es van afegint o eliminant mòduls “drag & drop” que també es poden modificar.

Amb el nou Plone, doncs, serà possible canviar la capçalera o la part inferior d’una pàgina amb total llibertat, movent la seva posició o fins i tot redimensionant-la.

Més enllà d’aquesta fantàstica possibilitat, les “rajoles” poden incorporar comportaments intel·ligents, de manera que se’ls hi pugui assignar una posició fixa o bé definir les seves dimensions perquè un contingut determinat sigui  visualitzat en pantalles petites. Amb aquests comportaments es podria fins i tot mostrar vistes diferents d’una pàgina segons la tipologia d’usuari, com, per exemple, en el cas d’una intranet.

 

Un equip d’elit

Dels 5.000 membres que aproximadament formen part de  la comunitat Plone a escala mundial, només un 10% acostuma a participar activament en els codesprints. No es tracta d’una qüestió de voluntat: modificar el nucli d’aquest CMS requereix un alt nivell d’especialització i comporta responsabilitats respecte a la comunitat. Així, si durant el procés de desenvolupament un programador “trenca” algun dels components del sistema -cosa gens infreqüent- té l’obligació moral d’arreglar-ho i, a més, crear una eina de test que permeti comprovar que, efectivament, aquell element funciona correctament.

En el cas de la Mosaic Plone de Barcelona, un total de 16 ploners, liderats per en Víctor Fernández de Alba i en Ramon Navarro van aconseguir construir un prototip operatiu (plone.app.mosaic) en només tres dies que es va mostrar públicament el darrer dia de la codesprint.

Simone Orsi i Maurizio Delmonte ens ofereixen en el seus blogs una detallada crònica de l’evolució d’aquest treball (en italià) que us resumim a continuació.

En primer lloc, la tornada als orígens. Rob Gietema (Holanda) va revisar el codi i la documentació generada sobre Déco per adaptar-lo a la nova visió de Mosaic. Per la seva banda, Rob Gitema, Ramon Navarro, Víctor Fernández de Alba, Carles Bruguera i Simone Orsi s’han ocupat de l’editor de pàgines Mosaic, adaptant els fragments corresponents de Deco i inserint-los en un mockup.

Asko Soukka ha treballat en l’emmagatzemament del layout que pot aplicar-se a nivell global per tipus de contingut, una funcionalitat que en el futur es podria realitzar via web. La contribució d’en Ramon Navarro ha estat fer una transformació per blocs de manera que es pugui construir el layout de manera independent a la malla utilizada.

Paral·lelament, en Simone Orsi es va concentrar en fer possible la reutilització de cents de portlets existents, un aspecte fonamental per poder incorporar Mosaic en totes les instal·lacions de Plone existents.

Menció a part mereix el testeig, una activitat sovint feixuga i poc visible que, no obstant, resulta indispensable per garantir la seguretat, l’estabilitat i la qualitat del desenvolupament. S’hi van dedicar intensament en Gil Forcada, l’Arno Blumer i en Guido Stevens.

 

El futur del Plone 5

Després de l’èxit de la Mosaic codesprint, el primer pas serà reescriure la demo per a la nova versió Plone 5, ja que ha estat desenvolupada en la darrera versió estable disposible (4.3.3) per tal que funcionés en una demo real. Amb tota seguretat ja no s’arribarà a temps d’ incorporar aquesta nova funcionalitat en la primera versió de Plone 5 que es presentarà a finals d’aquest any, però sí que podem esperar que s’incorpori l’any vinent o, a tot estirar, l’any 2016.

Caldrà veure si aquestes noves versions incorporen també la capa social, una possibilitat que Guido Stevens ja anticipava en el seu llibre “Digital Workplace Technology Roadmap”. Així doncs, és probable que en un futur pròxim es celebri un nou codesprint per avançar en el plonesocial suite, una solució completa de microblogging que inclouria activity streams, perfils per seguir, etc.

Totes aquestes millores demostren, millor que cap argument, el dinamisme i la capacitat de lideratge de la comunitat Plone, que reverteix en un benefici indiscutible per als seus usuaris i obre importants oportunitats de desenvolupament de negoci per a la indústria del software lliure.