Per què

Per què Woost?

Woost comparat amb els CMS més populars

Introducció

Woost és una completa solució de gestió de continguts de codi obert impulsada per Whads des de fa més de 10 anys.

En moltes ocasions, els nous clients ens demanen que els argumentem perquè considerem que Woost és millor eina per a ells que altres alternatives més populars com DrupalWordpressJoomla Typo3.

Aquest document exposa els motius que ens van portar a crear aquesta solució, així com els que creiem que són els seus principals avantatges i inconvenients.

Abans de res volem aclarir que parlem amb ple coneixement de causa. A banda de les nostres realitzacions en Woost tenim una dilatada experiència en les plataformes DrupalWordpressTypo3 Joomla, ja sigui per exigències dels nostres clients, per l’aprofitament d’instal.lacions preexistents o per què, senzillament, hem cregut que alguna d’aquestes opcions era la que millor s’adaptava als requeriments concrets d’un projecte.

Un projecte necessari

Whads centra la seva activitat en oferir solucions online de qualitat. Això inclou aspectes com l’estratègia, el disseny o el posicionament i molt especialment, el desenvolupament tecnològic. En aquest aspecte, sempre que podem utilitzem aplicacions i serveis existents a la xarxa abans de fer qualsevol desenvolupament a mida.

Per aquest motiu, abans d’iniciar el projecte de Woost, vam avaluar desenes de solucions de software lliure. Vam detectar dues grans mancances generalitzades: falta de suport natiu per a continguts multilingües i molta rigidesa als models de dades, és a dir, molta dificultat per adaptar-se a les necessitats específiques que cada solució requereix. Entenent que aquestes dues funcionalitats eren irrenunciables, vam decidir iniciar el nostre propi projecte. 

Avui Woost és un projecte consolidat que impulsa un gran nombre de webs, entre les que destaquen el Palau de la Música, l’asseguradoraDAS o la Fundació Josep Carreras contra la leucèmia. Sobre aquesta base estable seguim incorporant millores regularment.

Gestió multidioma integral i productiva

Actualment, bona part dels gestors més populars disposen d’opcions per a gestionar continguts multilingües. No obstant, en la majoria dels casos, aquesta funcionalitat no forma part del disseny base de la solució, sinó que s’afegeix via mòduls o extensions desenvolupats per tercers.

En contrapartida, Woost va néixer amb el multilingüisme com a requeriment central, i això ha permès dissenyar i optimitzar la solució per a la gestió dels continguts multilingües des de la base.

Disposa, a més, d’una funcionalitat que pràcticament no hem trobat en cap altra solució: l’edició “costat a costat” o edició “en paral·lel”, que permet editar diversos idiomes simultàniament. Això suposa un increment molt notable de la productivitat dels editors que poden editar, comparar i esmenar diverses traduccions des d’una mateixa vista. En comparació, el circuït de traducció habitual de la resta de gestors (editar una traducció, desar-ne els canvis, commutar a la següent traducció...) resulta molt feixuc i poc usable.

Models de dades, adaptació total

Woost estructura el contingut d’un lloc web basant-se en models. Cada model descriu un tipus de dades específic, ja sigui una pàgina, una notícia, un llibre o un producte d'una botiga electrònica. El sistema permet definir nous models (o modificar els que proporciona ja de sortida) per satisfer els requisits de cada lloc web de forma precisa. Per exemple, una web per a una ONG podria necessitar tractar amb campanyes, socis i donatius, mentre que un portal per fer ressenyes de restaurants necessitaria models pels locals i les ressenyes.

Amb Woost, adaptar el gestor per donar cabuda a aquests continguts tant específics resulta summament senzill. Els desenvolupadors del web declaren els diferents models, els seus camps, les seves vinculacions amb altres models i les seves regles de validació. A partir d’aquesta informació, el gestor s’encarrega de generar la interfície d’edició, llistat i cerques de forma automàtica. Aquesta capacitat proporciona avantatges molt significatius: 

  • El personal tècnic s’estalvia aquesta tasca i pot concentrar tota la seva atenció en les necessitats específiques de la solució. D’aquesta manera hi ha una reducció dràstica dels temps d’implementació, a la vegada que s’obtenen resultats més robustos.
  • La interfície resultant és altament consistent: ja s’estiguin editant pàgines, notícies, llibres o receptes de cuina, tots els tipus es llisten, creen, editen o cerquen de forma molt similar, facilitant la formació dels editors.
  • El gestor incorpora de sèrie moltes funcionalitats avançades com les cerques de text lliure, les vistes en miniatura de documents PDF i vídeos, o l’exportació a Excel. En altres entorns, els desenvolupadors del web han d’implementar aquestes funcionalitats per cada model que afegeixen al gestor. 

En contraposició, quan treballem amb gestors de continguts més populars, l’adaptació a les necessitats específiques del projecte sol ser problemàtica. Normalment es resol mitjançant l’adopció d’una suma d’extensions de tercers i amb desenvolupament específic. Optar per una extensió implica invariablement resignar-se a compromisos i relaxar o alterar els requisits del projecte per alinear-los amb els previstos per l’autor de l’extensió, a més de suposar una feina d’integració i acondicionament que sovint sol derivar en codi poc rigorós i sòlid. Per contra, un desenvolupament propi esquiva aquests problemes, però introdueix costos i temps de desenvolupament addicional, a la vegada que incrementa la superfície de codi a provar i mantenir. 

Finalment, és rellevant comentar que alguns gestors com ara Drupal sí que incorporen sistemes de definició de models de plantejament similar a Woost. Tanmateix, solen ser molt rudimentaris, amb limitacions importants que comprometen la fidelitat del modelat als requisits del projecte.

Edició per blocs, llibertat sense errors

L'edició per blocs permet maquetar planes de qualsevol complexitat sense coneixements d'HTML afegint i movent (drag & drop) blocs funcionals i de contingut: textos amb imatges, galeries, vídeos, missatges de Twitter, llistats de notícies, o qualsevol altre.

A la majoria de gestors de continguts, l'única opció per realitzar aquest tipus de maquetació consisteix en editar directament el codi HTML i això comporta nombrosos problemes: introducció d'errors, variacions arbitràries de disseny, frustració dels editors, impossibilitat de realitzar modificacions de forma global, etc.

Amb el sistema de blocs, si es vol, per exemple, modificar la mida, el disseny i/o la funcionalitat del reproductor de vídeos de Youtube del web, és suficient amb redefinir el bloc de vídeo i, automàticament, totes les planes reflectiran els canvis. Si, per contra, el codi de Youtube s'havia introduït directament a cada plana, caldria buscar i revisar aquest codi plana a plana.

Woost és codi obert i gratuït

El software lliure és un model de desenvolupament i distribució del software que permet que els seu usuaris puguin estudiar-lo, modificar-lo i redistribuïr-lo. Molts dels projectes basats en aquest principi fomenten el creixement de comunitats d’usuaris que col·laboraren per millorar el projecte i donar suport i serveis per la solució. Els avantatges de cost i flexibilitat proporcionats per aquestes solucions fan que moltes empreses i institucions escullin gestors de software lliure per construir les seves webs.

Woost és software lliure. Es pot descarregar de forma gratuïta, i qualsevol usuari el pot utilitzar o modificar lliurement. Més enllà del codi del propi gestor, tots els mòduls i components de tercers que utilitza són a la seva vegada software lliure de disponibilitat gratuïta. D’aquesta manera, fins i tot en el cas que Whads deixés de prestar els seus serveis, els clients disposen d’accés complet a tot el codi de la solució.

Suport i temps de resposta

Els avantatges d’utilitzar solucions amb una base d’instal·lacions i usuaris considerable resulten obvis. En aquest sentit, Woost es troba en desavantatge respecte altres solucions més populars. Tot i que s’ha beneficiat de força anys de desenvolupament i s’ha utilitzat en un nombre molt respectable de projectes, els ordres de magnitud en que operen projectes com Wordpress, Drupal o Typo3 són incomparables. 

Tanmateix, el revers positiu d’aquesta condició és la proximitat i el nivell de suport que podem oferir. L’autoria de l’eina ens permet oferir unaatenció, una personalització i un temps de resposta que les empreses que es basen en solucions genèriques no poden igualar. De la mateixa manera, també podem guiar l’evolució del projecte regint-nos estrictament per aquelles necessitats i demandes sorgides de projectes reals dels nostres clients.

Seguretat

Un dels principals maldecaps de les instal·lacions web és la seguretat. La complexitat de la xarxa fa que segui molt complex gestionar i mantenir solucions de forma segura. Sovintegen els atacs que posen en compromís les dades, utilitzen els propis recursos per fer activitats massives d’spam, etc.

L’arquitectura de Woost, la seva situació al mercat i unes pràctiques de desenvolupament molt riguroses el fan molt molt poc vulnerable als atacs.

  • Immunitat contra injecció de SQL
    Woost no utilitza bases de dades SQL per a emmagatzemar les dades del lloc, pel que és immune a atacs basats en injecció de sentències SQL, molt freqüents en altres entorns web. En el seu lloc, s'utilitza ZODB, una base de dades orientada a objectes de codi obert.
  • Fitxers executables
    En molts entorns de desenvolupament web populars (PHP, ASP, JSP) les adreces (URLs) es corresponen directament a fitxers que contenen el codi a executar. Sota aquest model, qualsevol directori publicat al servidor web es converteix en un possible vector d'atac, si hi ha un mitjà per crear o modificar un dels seus fitxers. Per exemple, un formulari que incorpori un camp per a fitxers adjunts que no compti amb les mesures de validació adequades.
    Woost no és susceptible a aquest problema, ja que no es basa en el sistema de fitxers per publicar els seus continguts. Les pàgines resideixen íntegrament a la base de dades.
  • El preu de la popularitat
    Des del punt de vista de la seguretat, Woost es beneficia de ser una plataforma menys popular. Els problemes de seguretat de projectes com Wordpress o Drupal es publiciten àmpliament, i solen ser objecte d’atacs massius indiscriminats que recorren la xarxa a la recerca d’instal·lacions no actualitzades vulnerables a problemes coneguts. Tot i ser circumstancial, es tracta d’un punt molt rellevant.
  • Codi deficient de tercers
    La majoria de gestors populars ofereixen mecanismes d’extensibilitat que permeten que terceres parts en modifiquin el funcionament o incorporin noves característiques. La utilització d’aquests mòduls externs pot comprometre seriosament la seguretat de la solució, ja que resulta difícil garantir el rigor i qualitat del codi desenvolupat per aquestes terceres parts, així com la capacitat dels seus autors per respondre als problemes detectats i oferir i publicitar adequadament les actualitzacions pertinents.