28. Content Management Systems

Índex

 

Concepte

Amb el terme Content Management system o CMS (Sistema d'Administració de Continguts) es coneix qualsevol conjunt de recursos que permeti crear, publicar, modificar i suprimir contingut d'un web des d'una o més pàgines assolibles des d'un ordinador connectat a Internet, sense necessitat de coneixements especials d'informàtica i sense necessitat de transferir via FTP els documents originals fins al lloc de distribució. El procediment és ideal per a tasques de tipus col·laboratiu, des d'un fòrum o un blog fins a un diari digital, un catàleg de productes o un sistema de gestió de tràmits administratius.

L'acció sobre el contingut pot anar des dels casos més simples, en què tot es fa mitjançant formularis (és el cas vist en els temes anteriors) fins a l'ús de sofisticats editors de text. I molt sovint es combinen els dos procediments.

 

CMS administrat mitjançant formularis

Les taules d'una base de dades MySQL poden contenir diversos tipus d'informació: textos, referències a imatges, organització jeràrquica de la informació, forma de distribució de la informació en el document resultant, estil de la presentació, etc.

En els exemples vistos en els capítols anteriors només hi havia textos i la forma de presentació era molt elemental: o una taula o una llista.

Ara toca fer un pas més i aconseguir, amb la màxima economia de mitjans, els objectius següents:

Taula de MySQL, amb els camps següents:


Document que fa la lectura de la taula MySQL


Tres plantilles, de les quals una és

I dues més d'anàlogues, amb els canvis de distribució espacial i d'estil.


Vegeu-ne el resultat.

 

Ús d'editors wysiwyg

Amb el procediment anterior hem establert la disposició general dels elements i estils per a la presentació de cada un. Però no hi hem establert indicacions d'estil per a fragments d'elements; per exemple, destacar un blau una frase dins un paràgraf.

Hi ha molts editors wysiwyg, alguns d'ús lliure. El que fem servir aquí és el TinyMCE, basat en un complex programa de JavaScript.

Té un repertori molt complet d'icones i de desplegables, i permet que l'usuari l'adapti a les seves necessitats.

Pot vincular-se a un full d'estil; en bona lògica el mateix que el conjunt del web.

Les cel·les de les taules de MySQL poden contenir indicacions d'estil, per exemple <span style='color: blue'>...</span>, que serien interpretades correctament pel PHP. Però aquest recurs presenta l'inconvenient que qui ompli els camps de la taula ha de coneixer HTML i CSS.

Una solució alternativa és l'ús d'un editor wysiwyg. Aquest acrònim significa What you see is what you get, és a dir, allò que veus és allò que (finalment) obtens. L'ús d'aquesta mena d'editors s'ha generalitzat i en els fòrums i en els blogs entra en competència amb el procediment dels formularis.

Començarem fent servir un editor wysiwyg per a trametre text amb format i estil a un altre document, sense intervenció del MySQL.

Document que conté l'editor TinyMCE (adaptat a les ncessitats d'aquests exemples), vinculat al full d'estil general del web, i amb les indicacions adequades a FORM:


Document al qual van a parar les dades


  1. Escriu un text amb l'editor, fent ús discrecional de les icones d'estil.
  2. Fes clic a Submit.

Vegeu-ne el resultat.

 

Editor + base de dades

A l'exemple anterior les dades trameses per l'editor anaven a parar directament a un document PHP que les interpretava i les presentava en pantalla, però un cop tancat el document desapareixien per sempre. Una manera de fer-les permanents consisteix a desar-les en una taula d'una base de dades.

El procediment per a fer-ho no té res de substancialment nou, sinó que reuneix recursos ja vistos:


Taula continguts d'una Base de dades MySQL, amb dos camps, Id (Identificador autonumèric) i contingut (contingut del registre amb etiquetes HTML incloses).

Nota: Atesa la naturalesa d'aquest curs, la taula té només dos registres, un per a aquest exemple i un altre per al següent. Per aquest motiu la inscripció i la lectura posterior es fan sobre id='1' i no pas a partir d'una variable, com seria el cas en una situació real.


Document que conté l'editor TinyMCE, igual que en el cas anterior, amb la diferència que ara remet les dades al document 28e.php

Obriu l'editor i escriviu un text.


Document que recull les dades i les inscriu a la base de dades:


Document que fa la lectura sobre la base de dades i en presenta el resultat:


Vegeu-ne el resultat.

 

Retorn a l'editor

Un cop s'ha creat o actualitzat un document, es poden donar dos supòsits:

Sovint es preveuen totes dues coses: alguns usuaris autoritzats, dotats d'un nom d'usuari i d'una contrasenya, poden accedir a l'editor i modificar el document tantes vegades com vulguin; el públic en general, en canvi, només el pot llegir. Suposem el cas d'un blog: l'autor, en general, pot modificar la seva pròpia entrada, però els lectors del blog no.

Això implica presentar el contingut de dues maneres diferents: per al públic en general, com un document HTML sense formulari ni editor (és el que acabem de fer a l'apartat anterior). Per a les persones autoritzades, el contingut es presenta mitjançant un formulari (al tema 26 n'hem vist algun exemple) o mitjançant un editor, que és el que exposem a continuació.


Taula continguts d'una Base de dades MySQL, amb dos camps, Id (Identificador autonumèric) i contingut (contingut del registre amb etiquetes HTML incloses).

Nota: Atesa la naturalesa d'aquest curs, la taula té només dos registres, un per a l'exemple anterior i un altre per a aquest. Per aquest motiu la inscripció i la lectura posterior es fan sobre id='2' i no pas a partir d'una variable, com seria el cas en una situació real.


Document que conté l'editor TinyMCE, en el qual la presentació del contingut es fa dins l'editor, entre <textarea> i <textarea>:


Document que recull les dades i les inscriu a la base de dades (com en el cas anterior, però ara diu Id ='2'.


Vegeu-ne el resultat.

 

CMS d'ús lliure

S'ha popularitzat molt l'ús de paquets CMS d'ús lliure, posats a punt i renovats per assiciacions sense finalitat de lucre, com ara el WordPress, el Joomla i el Drupal.

Aquests paquets tenen una sèrie de punts en comú:

A Internet hi ha nombrosos manuals elementals i d'aprofundiment; per a un nivell introductori són molt recomanables els continguts a Siteground; en particular,