CMS introducció

Índex
- Introducció
- 1.Definició de CMS
- 2.Frameworks enfront de CMS
- 3.Ús dels CMS
- 4.Components del servidor necessaris per a instal·lar CMS
- 5.Característiques d’un bon CMS
- 5.1.Separació de contingut i presentació
- 5.2.Facilitat d’ús del panell d’administració
- 5.3.Seguretat
- 5.4.Extensibilitat (plug-ins o mòduls)
- 5.5.Escalabilitat
- 5.6.Estàndards
- 5.7.Sindicació de continguts (RSS i Atom)
- 5.8.Accessibilitat
- 5.9.Estabilitat
- 5.10.Facilitat d’instal·lació i manteniment
- 5.11.Facilitat d’adaptació i personalització
- 5.12.Interconnectivitat
- 5.13.Possibles aplicacions integrades en un CMS
- 6.Altres característiques dels CMS
- 6.1.HTML5/CSS3
- 6.2.JavaScript
- 6.3.Suport per a plataformes mòbils
- 6.4.Optimització per a SEO
- 6.5.Microformats i RDF
- 6.5.1.Microformats
- 6.5.2.RDF
- 7.Tipus de CMS
- 7.1.Genèriques
- 7.1.1.OpenCms
- 7.1.2.Joomla
- 7.1.3.Plone
- 7.1.4.El Drupal
- 7.1.5.Google Sites
- 7.2.Fòrums
- 7.2.1.phpBB
- 7.3.Blogs
- 7.3.1.El WordPress
- 7.3.2.PivotX
- 7.4.Wikis
- 7.5.Aprenentatge electrònic
- 7.5.1.Moodle
- 7.6.Xarxes socials
- 7.1.Genèriques
Introducció
1.Definició de CMS
“Un sistema de gestión de contenidos (en inglés Content Management System, abreviado CMS) es un programa que permite crear una estructura de soporte (o framework) para la creación y administración de contenidos, principalmente en páginas web, por parte de los participantes.
Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio. El sistema permite manejar de manera independiente el contenido y el diseño. Así, es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio sin tener que darle formato al contenido de nuevo, además de permitir la fácil y controlada publicación en el sitio a varios editores. Un ejemplo clásico es el de editores que cargan el contenido al sistema y otro de nivel superior (directorio) que permite que estos contenidos sean visibles a todo el público (los aprueba).”
1.1.Avantatges i desavantatges de les opcions de codi obert respecte a les propietàries
-
Cost nul o baix.
-
Cost d’allotjament més baix que en les solucions propietàries, ja que les aplicacions del servidor també es basen en plataformes de codi obert, com LAMP (Linux, Apache, MySQL, PHP).
-
Accés al codi font per a fer qualsevol modificació que considerem convenient.
-
Possiblement la més important: en molts casos hi ha una comunitat de desenvolupadors que s’encarreguen de mantenir i d’actualitzar el codi permanentment.
-
Generalment, la comunitat també crea i manté extensions (plug-ins) d’aquests CMS que ens permeten augmentar les funcionalitats.
-
Solució de dubtes per mitjà d’aquesta comunitat.
-
Si el nostre projecte no s’adapta a l’estructura de continguts o al cicle de treball (workflow) del CMS, els canvis poden ser molt difícils de fer.
-
Depenem de la comunitat per a actualitzar la programació.
-
Sovint la configuració del sistema és molt laboriosa i requereix bastant temps.
1.2.Avantatges i desavantatges empresarials de l’ús d’un CMS de codi obert respecte a altres alternatives
-
Un CMS permet a l’organització o empresa concentrar-se en la creació de contingut o en la funció específica que es busca per al lloc web, en lloc del disseny o el desenvolupament de l’eina, que normalment ocuparia gran part del temps.
-
Perfils no necessàriament tècnics de l’organització poden editar i publicar continguts. Normalment, perfils amb coneixements d’usuari poden ser formats sense gaires dificultats en la majoria dels CMS.
-
Tots els continguts queden allotjats en un sol lloc centralitzat, en la base de dades, controlada per la mateixa empresa. Això, a més, té un potencial en el moment d’ampliar o d’interconnectar aquesta informació amb altres sistemes de l’organització (intranet, etc.).
-
Es poden fer cerques sobre el contingut, filtrant per data, tipus de contingut, autor o qualsevol altre camp.
-
Normalment, els continguts es poden programar per a ser publicats en una hora i una data determinades.
-
Diversos autors o traductors poden treballar simultàniament sense dificultats. Per a cada perfil d’usuari, es poden definir uns permisos específics, per exemple, publicant el contingut només en el moment en què un perfil determinat (per exemple, el perfil “editor”) ho aprova.
-
Es poden ampliar funcionalitats com calendaris, fòrums, galeries de fotos, etc. Es tracta de funcionalitats que moltes vegades estan incloses en els CMS, directament o per mitjà d’ampliacions (connectors o plug-ins, extensions o mòduls segons la denominació específica de cadascun dels CMS).
-
Un CMS es pot integrar amb altres sistemes de l’organització, com per exemple newsletters de clients o altres.
-
Atès que el contingut i la presentació estan separats, canviar l’aparença (o look and feel) del lloc web és molt més fàcil que usant un sistema fet a mida. Aquesta és una de les característiques més importants que ha de tenir qualsevol CMS i, de fet, depèn en gran part de la recomanable separació entre HTML i CSS.
-
Encara que sovint codi obert s’equipara a gratuït, pensar això és un error. Probablement s’haurà de fer una inversió inicial apreciable, tant en diners com en temps. Encara que podem abordar un projecte amb molt poc desenvolupament, sovint qualsevol CMS requereix molt temps per a la configuració, adaptació i integració de continguts.
-
Hi ha una corba d’aprenentatge inicial en l’equip que s’encarrega d’actualitzar els continguts.
-
Usualment, una persona (o més) de l’organització s’ha de convertir en l’administrador de webs o webmaster del CMS per a prendre la responsabilitat del seu manteniment.
-
Un CMS no converteix mals continguts en bons, ni converteix un mal escriptor/editor en un de bo. Els continguts han d’estar escrits correctament. El CMS només s’encarrega de gestionar els continguts, però no els pot corregir.
-
Traslladar un CMS d’una plataforma a una altra pot ser complex i costós en temps i diners. Sempre cal intentar anticipar-se a noves necessitats per a poder fer les transicions d’una manera gradual.

2.Frameworks enfront de CMS
“En el desarrollo de software, un framework es una estructura conceptual y tecnológica de soporte definida, normalmente con artefactos o módulos de software concretos, con base en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros programas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.”
2.1.El paradigma model/vista/controlador
-
El model correspon a les dades. La connexió amb la base de dades, l’emmagatzematge, la recuperació i, també, la lògica de negoci, etc.
-
La vista s’encarrega de la presentació, és a dir la interfície d’usuari (correspondria a la plantilla o al tema d’un CMS). Es basa en HTML i CSS però amb instruccions del llenguatge de servidor per a inserir els continguts dinàmics.
-
El controlador es correspon amb la interacció amb els usuaris a força d’esdeveniments. Decideix a partir de paràmetres enviats a la pàgina web quin model i vista ha de cridar.
-
Millora la claredat del codi.
-
Es pot reutilitzar i ampliar més fàcilment.
-
Es pot canviar la presentació de manera independent sense afectar la resta (només és necessari modificar la vista).
2.2.Diferències entre un framework i un CMS complet
-
Panell d’administració per a totes les opcions del CMS.
-
Activació de temes.
-
Gestió dels menús de l’aplicació.
-
Gestió dels blocs de continguts en les pantalles.
-
Model/vista/controlador. Estructuració en la programació de l’aplicació en tres capes que corresponen a les dades, la presentació i la interacció amb l’usuari.
-
Seguretat. Disposar de mecanismes de protecció contra atacs de hackers, spam, etc.
-
Mapatge d’URL netes (URL mapping). Per exemple, mostrar en l’URL “llista_productes”, en lloc d’”index.php?id=234124&op=234”. Això és important per a l’accessibilitat i el posicionament en cercadors.
-
Accés a la base de dades. Eines per a facilitar l’accés a la base de dades i fer-ho independentment del servidor concret de bases de dades (per exemple, MySQL, PostgreSQL, Oracle, etc.).
-
Templates. Plantilles (o temes) per a facilitar la separació de contingut i presentació.
-
Encauament (caching) de les pàgines per a augmentar-ne el rendiment. Aquesta opció permet desar una versió creada pel llenguatge de servidor i la base de dades de la pàgina en la base de dades, de manera que en recuperar-la l’accés és molt més ràpid.
-
AJAX. Petició i visualització de dades del servidor sense haver de recarregar la pàgina mitjançant JavaScript.
-
Autenticació d’usuaris. Implementació d’inici de sessió (login), registre, dades de perfil, rols i permisos d’usuaris.
2.3.Avantatges d’utilitzar un CMS respecte a altres alternatives
-
Possibilitat d’instal·lar i configurar l’aplicació sense tenir coneixements de programació en el servidor, HTML o CSS (encara que moltes vegades aquests coneixements són els que permeten ajustar perfectament la nostra solució als requisits i personalitzar les funcionalitats detalladament).
-
Temps de desenvolupament més curt que implementant la solució des de zero o mitjançant un framework (sempre que s’ajusti a les funcionalitats del projecte).
-
Llibertat total per a definir el disseny visual, ja que el CMS ha de separar la presentació del contingut. Normalment, la presentació es defineix a partir de temes (themes). Una personalització professional requereix crear o modificar plantilles mitjançant HTML, CSS i, probablement, PHP (o un altre llenguatge de servidor).
-
Seguretat garantida en tenir una comunitat pendent d’oferir actualitzacions no sols per al nostre projecte, sinó també per a tots els que hi hagi basats en la mateixa plataforma. Si ens n’haguéssim d’encarregar nosaltres, aquest seria un procés laboriós, costós i continu en el temps. Probablement és un dels avantatges més importants.
-
Possibilitat d’afegir extensions (segons el CMS es denominen plug-ins o mòduls) que augmenten les funcionalitats.
-
Estructura de navegació coherent implementada per defecte. En mantenir la mateixa plantilla per a tots els continguts, s’afavoreix la coherència en la navegació.
-
Validació HTML+CSS (almenys, l’hauria de garantir el mateix CMS).
-
Crear diferents rols per al flux de treball en la publicació (per exemple, administrador, editor, membre de la comunitat, etc.).
-
Disminuir el temps de desenvolupament. Moltes funcionalitats ja estan implementades.
-
Disminuir el cost de desenvolupament.
-
Facilitar la generació i edició de continguts.
-
Manteniment. L’equip de desenvolupament i la comunitat d’usuaris del projecte de codi obert s’encarreguen de mantenir el codi de l’aplicació i d’oferir actualitzacions.
3.Ús dels CMS
-
S’adapta a les necessitats i funcionalitats que volem implementar?
-
Tenim disponibilitat en el nostre servidor de la plataforma tecnològica en la qual està basat?
-
Podrem aconseguir per mitjà del panell d’administració l’estructura de continguts i el flux de navegació que es requereix?
3.1.Tipus de CMS i característiques
-
Segons la plataforma (inclòs el llenguatge de programació emprat).
-
Segons el tipus de llicència (propietat del codi: propietari o de codi obert).
-
Segons el tipus d’aplicació que volem desenvolupar (fòrum, blog, portal, etc.).
3.1.1.Segons la plataforma
-
El servidor de pàgines web (per exemple, Apache).
-
El llenguatge de programació del servidor (per exemple, PHP).
-
El servidor de bases de dades (per exemple, MySQL).
-
ASP.NET (propietari Microsoft)
-
Java
-
PHP
-
Ruby On Rails
-
Python
3.1.2.Segons la propietat del codi
-
De codi obert. Són les que permeten l’accés al codi font de manera que, si és necessari, es pot modificar qualsevol fragment o fins i tot crear noves aplicacions (nous CMS) a partir de la versió original.
-
De codi privatiu. Només el seu creador o empresa poden desenvolupar o modificar el codi base de l’aplicació.
3.1.3.Segons el tipus d’aplicació a desenvolupar
-
Creació i administració de blogs
-
Portals d’empreses
-
Entorns educatius
-
Xarxes socials
4.Components del servidor necessaris per a instal·lar CMS
-
Sistema operatiu: Linux, MacOS, Windows, etc.
-
Servidor de pàgines web: Apache (el més utilitzat), IIS (Microsoft), lighttpd, etc.
-
Llenguatge de servidor (o servidor d’aplicacions): PHP, ASP, Java, Ruby, Python, etc.
-
Servidor de base de dades: MySQL, PostgresSQL, Oracle, etc.
4.1.LAMP
-
Linux: sistema operatiu de codi obert amb el qual funcionen actualment una bona part dels servidors web a Internet.
-
Apache: servidor web de codi obert, també dels més usats actualment, encara que n’hi ha molts d’altres.
-
MySQL: servidor de base de dades SQL de codi obert, actualment propietat de l’empresa Oracle.
-
PHP: extensió del servidor web per a poder interpretar el llenguatge.

4.2.Servidors web
4.3.Panell de l’allotjament web
-
Tipus de plataforma
-
Bases de dades (i comptes associats)
-
Configuració del servidor
-
Gestió de comptes de correu i FTP
-
Accés per FTP al servidor (compte associat).
-
Accés a la base de dades (per exemple, mitjançant “phpMyAdmin” si usem PHP+MySQL). Necessitarem el nom i el compte associat a la base de dades.
-
L’adreça pública des de la qual puguem accedir al contingut del web (per a poder-lo provar). Per exemple, “elmeullocweb.com” pot correspondre a l’adreça del servidor FTP o és possible que aquest es trobi en un altre URL. Ens hem d’assegurar d’aquest punt.
4.4.Accés per FTP
4.5.Gestors de bases de dades
4.6.Llenguatges de programació
-
Active Server Pages (ASP, ASP.net). Solució propietària de Microsoft.
-
Java. De Sun Microsystems (actualment, Oracle).
-
PHP. Llenguatge dissenyat inicialment per a crear pàgines dinàmiques, el més usat en els CMS actuals.
-
Ruby. Un dels més recents (va aparèixer el 1995). Sovint s’usa Ruby en un framework de programació anomenat Rails (Ruby on Rails).
-
Python. Llenguatge de sintaxi simple i senzilla.
4.7.Allotjament web (hosting-housing)
-
Els data centers (com es diuen les instal·lacions on s’allotgen els servidors de les empreses d’allotjament) estan preparats per a mantenir una temperatura òptima per al funcionament dels servidors i per a fer front a possibles talls del subministrament elèctric.
-
Disposen de personal preparat en cas d’incidències.
-
Disposen de bons canals de comunicació amb gran amplada de banda.
-
Optimitzen recursos en compartir-los entre diversos clients.
-
Servidor compartit. En aquest cas, diversos llocs web són allotjats en el mateix servidor físic. És una opció menys costosa però no té el rendiment necessari en projectes amb un gran nombre de visites. A més, no tenim accés a la configuració bàsica de la màquina i, per tant, no podem instal·lar aplicacions que no vinguin per defecte.
-
Servidor virtual privat. Es tracta d’una màquina virtual que funciona com un servidor privat complet i que s’executa com a tal. Té els avantatges d’un servidor dedicat però amb un cost més baix; el rendiment no és tan alt com en el cas del servidor dedicat.
-
Servidor dedicat. Consisteix a llogar una màquina física completa, de manera que es pot configurar a mida. Es tracta de l’opció més cara, que només s’utilitza en llocs amb un gran nombre de visites o necessitats molt especials.
4.8.Manteniment, còpies de seguretat
4.9.Servidor de proves local
-
És molt més eficient i ràpid, podem editar els arxius en local (no necessitem accedir a Internet), per la qual cosa podem provar qualsevol canvi amb més rapidesa.
-
El nostre projecte no serà públic (accessible des d’Internet) mentre l’estem desenvolupant i, per tant, serà més segur si volem mantenir la privacitat del projecte.
-
Si volem, podrem visualitzar el lloc web des de la xarxa local de la nostra organització. Si el servidor forma part de la xarxa local, podrem accedir des de qualsevol ordinador de la xarxa usant adreces IP locals (com, per exemple, “192.168.1.10”).
-
Xampp (http://www.apachefriends.org/es/xampp.html) (vàlid tant per a Mac com per a Windows i Linux).
-
EasyPHP (http://www.easyphp.org/) (només Windows).
-
Wamp (http://www.wampserver.com/en/) (només Windows).
-
Mamp (http://www.mamp.info/en/index.html) (només Mac).
5.Característiques d’un bon CMS
5.1.Separació de contingut i presentació
-
Assegurar la validació correcta de l’HTML i el CSS, encara que modifiquem el contingut, ja que la validació només depèn de la validació del tema que estiguem usant.
-
Poder visualitzar correctament el contingut en diferents plataformes, com les mòbils (només haurem d’activar un tema diferent en aquest cas).
-
Assegurar-nos que l’editor del contingut no modificarà el codi HTML o CSS, impossibilitant trencar la validació d’HTML i CSS.
-
Poder canviar el disseny del nostre lloc en qualsevol moment i per qualsevol causa, sense haver de modificar els continguts per a res.
5.2.Facilitat d’ús del panell d’administració
-
Administrador. Les opcions enfocades a l’administrador del lloc s’han de configurar en el moment de desenvolupar, però normalment després no es modificaran. Aquest seria el cas d’opcions avançades com la configuració de la memòria cau (cache), sobre si es publiquen per defecte els continguts en la portada o no, blogs en la pantalla, construcció del lloc en general, etc.
-
Editor. Les opcions que apareixen per a aquest perfil són les referents al contingut i les que s’usen mentre s’estan actualitzant i mantenint el contingut durant la vida útil del lloc, sense afectar ni el funcionament ni l’estructura del lloc.
-
Ser intuïtiu. Les opcions han de ser autodescriptives. Idealment, no hauríem de necessitar un manual per a poder començar a usar-lo (encara que sempre hi haurà una corba d’aprenentatge).
-
Proporcionar un editor WYSIWYG (what you see is what you get), de manera que no es necessitin coneixements bàsics d’HTML i, més important, evitar errors pel tancament incorrecte d’etiquetes HTML, per exemple, o la inclusió d’elements que podrien modificar el disseny. En aquests editors és convenient poder activar l’ús de determinades etiquetes (com capçaleres, llistes, strong o em), però no d’altres que podrien afectar la presentació de l’HTML.
-
Permetre la previsualització. Opció de poder previsualitzar el contingut abans de publicar-lo definitivament, en la plantilla (tema) que tinguem activada, de manera que puguem visualitzar el contingut tal com el veurà l’usuari final. En alguns CMS el panell d’administració té un aspecte diferent del lloc final (és el cas de WordPress), per la qual cosa això és especialment important.
5.3.Seguretat
-
Extreguin informació privada dels comptes dels usuaris del lloc.
-
Publiquin continguts directament sense permís (spam).
-
Utilitzin l’allotjament web per a altres propòsits no desitjats.
5.3.1.Algunes amenaces a la seguretat
-
Cross side scripting (o XSS). Es tracta d’executar instruccions en la part del client del navegador (mitjançant JavaScript o Flash, per exemple) des de llocs remots simulant que s’executen en el mateix domini, amb l’objectiu de tenir accés a informació del nostre lloc o modificar informació, falsificar galetes (cookies) per a simular sessions d’usuaris ficticis, etc.
-
SQL injection. Aquesta tècnica consisteix a “injectar” instruccions d’SQL en les variables de l’URL amb l’objectiu de tenir accés a la base de dades del lloc. Per exemple, passar en l’URL com a variable alguna cadena de l’estil de “?q=delete from usuaris..” podria tenir efectes directes sobre la base de dades si el codi no està protegit contra això.
5.4.Extensibilitat (plug-ins o mòduls)
5.5.Escalabilitat
-
Nombre de peticions (hits). És a dir, el nombre d’arxius que el servidor ha hagut de proporcionar (incloent HTML, CSS, imatges, etc.).
-
Nombre de pàgines vistes.
-
Nombre de visites úniques. Aquest és un dels paràmetres més utilitzats per a mesurar l’audiència d’un lloc web.
-
Caché. Alguns CMS emmagatzemen les pàgines en la base de dades en comptes de generar-les cada vegada mitjançant PHP i accés a la base de dades. D’aquesta manera es pot incrementar enormement el rendiment i assumir un nombre de visites molt més gran. No és el mateix haver de fer vint peticions a la base de dades que només una (recuperar la pàgina ja construïda de la base de dades o de la memòria).
-
Throttle. És la capacitat d’alguns CMS de desactivar algunes funcionalitats (no bàsiques) en el moment en què es detecta un augment important de peticions al lloc web, i d’aquesta manera garantir que la resta del sistema continua funcionant.
5.6.Estàndards
-
El codi HTML pot ser més ordenat i semàntic.
-
Millora el manteniment futur. És més fàcil d’actualitzar i probablement funcionarà millor en navegadors que encara no han aparegut.
-
Faciliten que les pàgines es vegin bé en qualsevol navegador.
-
És una condició necessària per a fer el contingut accessible.
-
Millora el posicionament en cercadors.
-
El codi HTML/CSS de la plantilla que hem escollit o desenvolupat és estàndard.
-
L’editor no permet introduir codi HTML no vàlid (la qual cosa trencaria la validació).
-
Formació en estàndards web del personal que s’encarrega de l’actualització. Aquest és un tema molt important, ja que, si no, el lloc web podria deixar de ser vàlid en qualsevol moment.
5.7.Sindicació de continguts (RSS i Atom)
-
Els usuaris es poden subscriure als continguts usant un lector de feeds, eina que, com acabem de dir, permet visualitzar automàticament el contingut nou que es genera en les fonts d’informació a les quals s’està subscrit.
-
Millora la indexació en els cercadors (especialment en els cercadors específics de blogs com Google Blog Search).
-
Permet que la gent agregui la informació del nostre blog en altres llocs web. Per exemple, creant una pàgina personalitzada en serveis com Netvibes o similars, o en el seu propi blog o pàgina web.
5.8.Accessibilitat
-
El CMS i el tema que estiguem utilitzant ha de ser accessible en la mesura del possible.
-
L’editor ha de permetre introduir contingut sense perjudicar-ne l’accessibilitat.
-
Per a assegurar-nos que el lloc continua essent accessible en el temps, cal preveure un pla de formació sobre accessibilitat del personal que manté el lloc web.
5.9.Estabilitat
-
El CMS que hem triat té una base d’usuaris i desenvolupadors prou gran? En cas contrari és difícil que s’hagi verificat encara a fons en diverses situacions.
-
Estem fent servir una versió etiquetada com a estable? No una versió beta o alfa que encara no està comprovada totalment.
-
El servidor que estem fent servir compleix els requisits mínims d’instal·lació? Si, per exemple, la versió del llenguatge de servidor que utilitzem no compleix amb els requisits, és possible que el sistema funcioni però amb errors.
5.10.Facilitat d’instal·lació i manteniment
5.11.Facilitat d’adaptació i personalització
-
Funcionalitats. Incorporant extensions, que permeten modificar-les o augmentar-les.
-
Aspecte. Mitjançant temes que permeten personalitzar la presentació.
5.12.Interconnectivitat
-
Compartir recursos.
-
Tenir accés instantani a bases de dades compartides.
-
Administrar la xarxa de manera centralitzada.
-
Reduir pressupostos (temps, diners).
-
Optimitzar recursos humans.
5.13.Possibles aplicacions integrades en un CMS
-
Blogs.
-
Xats.
-
Calendaris d’esdeveniments.
-
PMF o preguntes més freqüents (en anglès, FAQ o frequently asked questions).
-
Newsletters. Sistema automàtic per a enviar correus electrònics a subscriptors.
-
Galeries de fotos.
-
Cercador. Amb indexació de tot el contingut del lloc.
-
Sitemap. Mapes del lloc en format HTML o XML.
-
RSS. Sindicació de continguts.
-
Wiki. Pàgines editables amb historial.
-
E-commerce o comerç electrònic.
6.Altres característiques dels CMS
-
HTML5/CSS3. Els navegadors moderns ja accepten els nous formats HTML5 i CSS3. Per a poder-los aprofitar bé, el nostre CMS ha de ser capaç d’adaptar-se.
-
JavaScript. Avui dia la gran majoria de llocs web tenen algun tipus de programació en JavaScript, des de validació de formularis fins a refrescar dinàmicament la informació de la pàgina (AJAX). En HTML5 el paper de JavaScript es veu reforçat amb més funcionalitats. Tot sovint s’utilitza JavaScript mitjançant la biblioteca jQuery.
-
Marcació semàntica. Hi ha diversos formats acceptats per a la marcació semàntica del contingut en pàgines web. En el futur això cobrarà cada vegada més importància. Això es pot fer amb RDF o microformats.
-
Optimització per a cercadors. És un factor molt important; no es tracta només de presentar adequadament el contingut en formats estàndard, sinó també que els cercadors indexin fàcilment aquests continguts, de manera que puguem atreure visitants que estan interessats en la informació que publiquem.
6.1.HTML5/CSS3
6.2.JavaScript
-
En els editors de textos incrustats en la pàgina.
-
En visualitzadors de fotos tipus Lightbox.
-
En qualsevol efecte interactiu que no estigui usant Flash.
-
Una de les possibilitats més interessants de JavaScript és sol·licitar informació al servidor sense haver de tornar a recarregar la pàgina (AJAX). Això permet millorar el flux d’enviament d’informació per part dels usuaris del web.
6.2.1.jQuery
-
Abstreure el comportament dels diferents navegadors. Un dels problemes principals és que el JavaScript d’un navegador pot ser diferent del d’un altre, o variar entre les implementacions d’un navegador per a diferents sistemes operatius. jQuery intenta separar aquestes diferències sota una capa comuna.
-
Simplifica enormement les instruccions que podem usar per a aconseguir funcionalitats o efectes en nostre lloc web.
-
És ideal per a desenvolupar aplicacions usant AJAX/JSON.
-
Té plug-ins (normalment desenvolupats per la comunitat) que permeten ampliar les funcionalitats.
-
Selecció d’elements DOM.
-
Interactivitat i modificacions de l’arbre DOM, incloent suport per a CSS 1-3 i un plug-in bàsic de Xpath.
//Afegeix un element p després de tots els h2 $('h2').append("<p class='more'>More</p>");
-
Esdeveniments.
$('#info').click=function( console.log("element clicat");
-
Manipulació dinàmica del full d’estils CSS.
// eliminar l'estil "actiu" amb removeClass() // i aplicar-ne un de nou amb addClass() $(".actiu").removeClass("actiu").addClass("inactiu");
-
Efectes i animacions.
//amaga l'element amb id="avís" lentament $("#avís").hide("slow");
-
AJAX.
//exemple de crida a un arxiu JSON $.getJSON('ajax/test.json', function(data) {
-
Diverses utilitats, com obtenir informació del navegador, operar amb objectes i arrays, funció trim (elimina els espais en blanc del principi i final d’una cadena de caràcters), etc.
6.2.2.AJAX/JSON
6.3.Suport per a plataformes mòbils
-
Ordinadors de sobretaula.
-
Tauletes (iPad, Android, Windows 8, etc.).
-
Mòbils (telèfons intel·ligents o smartphones).
-
Aplicar tècniques de disseny responsive. Mitjançant media queries, en el CSS podem variar la composició i les propietats dels elements segons la mida de la pantalla actual.
-
Detectar el dispositiu que està accedint al lloc i activar un tema especialment dissenyat per a cada cas (per exemple, un tema per a mòbils i un altre per a tauletes i ordinadors de taula).
-
Aplicar tècniques de detecció del tipus de dispositiu en el servidor de manera que les plantilles del tema estiguin adaptades a les diferents mides de pantalla. Aquesta tècnica té l’avantatge respecte a l’opció responsive de poder variar realment la mida de les imatges o de no servir part dels continguts si en algun cas ho considerem necessari (cosa impossible en responsive, perquè és una tècnica que s’aplica en el client). Això és possible gràcies al user-agent que envia el navegador en les peticions. Hi ha bases de dades i biblioteques que ens permeten detectar el tipus de dispositiu a partir d’aquest user-agent, com wurfl (http://wurfl.sourceforge.net), i extensions i mòduls en els CMS que ens permeten modificar les plantilles del tema en funció del tipus de dispositiu que hi està accedint.
6.4.Optimització per a SEO
-
Tots els continguts han de tenir una pàgina única amb un títol descriptiu. Així, un portal de notícies amb mil notícies ha de tenir almenys mil pàgines úniques amb títol únic.
-
Emprar codi estàndard, vàlid segons el W3C. D’aquesta manera, assegurem almenys en part que el contingut es podrà extreure fàcilment pels motors de cerca.
-
És necessari que les plantilles del CMS validin i que les etiquetes CSS siguin semàntiques. El volum de continguts no hauria d’afectar aquesta validació, ja que la presentació sempre ha d’estar separada del contingut, i les plantilles sempre haurien de ser les mateixes.
-
Usar adequadament els encapçalaments (h1, h2, h3, etc.).
-
Afegir sempre l’etiqueta “alt” a les imatges. Especialment important per a la cerca d’imatges.
-
Crear un mapa del lloc. Molts gestors de continguts permeten crear un mapa del lloc (de base o mitjançant extensions).
-
L’existència d’un mapa de navegació facilita que els cercadors puguin rastrejar el contingut.
-
URL amb noms “amigables” i semàntics. Tots els continguts haurien de tenir una pàgina única amb un títol que els defineixi i, si pot ser, amb un URL que també els descrigui mínimament.
-
Limitar el nombre de subdirectoris. Els cercadors donen més importància als continguts que estan a un nivell superior.
-
Evitar enllaços inexistents. Si els usuaris generen continguts, cal assegurar-se que els URL que hi pugui haver existeixen realment; en cas contrari, pot ser motiu de penalització de posicionament pels cercadors.
-
Evitar URL duplicats.
-
Textos descriptius en enllaços, en lloc de “cliqueu aquí”, “informe comptable 2011”.
6.5.Microformats i RDF
6.5.1.Microformats
6.5.2.RDF
7.Tipus de CMS
-
genèriques
-
fòrums
-
blogs
-
wikis
-
aprenentatge electrònic (e-learning)
-
xarxes socials
-
comerç electrònic (e-commerce)
7.1.Genèriques
-
Gestió d’usuaris, rols i permisos.
-
Gestió de l’estructura de continguts (tipus de continguts, camps, taxonomies).
-
Possibilitat d’afegir mòduls per a cobrir aplicacions més específiques (com tendes en línia, etc.).
7.1.1.OpenCms
-
Panell d’administració basat en un navegador web.
-
Gestió d’actius, per exemple, imatges, documents PDF, enllaços externs, etc.
-
Editor de text WYSIWYG.
-
Control de versions de contingut amb roll-back (possibilitat de recuperar versions anteriors).
-
Vista prèvia de pàgines.
-
Suport als continguts estructurats i no estructurats.
-
Gestió integrada d’usuari i permisos del sistema.
-
Plantilles basades en JSP (Java server pages).
-
API de Java.
-
Suport a la internacionalització.
-
Publicació de continguts en mode estàtic i dinàmic.
-
Possibilitat d’afegir mòduls.
-
Funció de recerca.
-
Pensat per a funcionar sobre molts tipus de servidors web i de bases de dades diferents.
-
Possibilitat de tenir pàgines estàtiques i dinàmiques.
-
API en Java que permet personalitzar l’aplicació.
-
Ús de JSP per a incloure elements dinàmics en la pàgina.
-
Extensió mitjançant mòduls opcionals que es poden reutilitzar.
-
Facilitat d’instal·lació (només les dades imprescindibles d’ubicació, base de dades i contrasenya).
-
És una mica complex.
-
Falta d’una bona documentació i d’una bona comunitat de desenvolupadors. El fet que estigui desenvolupat per una empresa i no una comunitat és la causa d’aquest problema.
-
En escriure una plantilla de JSP, els desenvolupadors han d’utilitzar l’editor de textos bàsics que es troben dins d’OpenCms. A diferència de les eines convencionals IDE com Eclipse, l’editor natiu d’OpenCms no ofereix cap comprovació de sintaxi ni ajudes sobre l’API. Tampoc hi ha depurador integrat per a ajudar en la solució de problemes complexos.
-
OpenCms només proporciona una funcionalitat limitada de flux de treball entorn de contingut.
-
Com en la majoria de CMS, les funcionalitats es poden ampliar instal·lant mòduls o extensions; no obstant això, el seu nombre no és tan elevat com en altres CMS.
7.1.2.Joomla
-
Encauament de pàgines.
-
Pensat per a optimitzar la indexació en cercadors.
-
Genera feeds RSS.
-
Versions per a imprimir de totes les pàgines.
-
Generació de blogs.
-
Fòrums.
-
Enquestes.
-
Calendaris.
-
Cercador integrat.
-
Internacionalització.
-
Components.
-
Mòduls.
-
Plantilles.
-
Plug-ins.
-
Llenguatges.
7.1.3.Plone
-
Edició inline.
-
Control de versions.
-
Revisió de la integritat dels enllaços.
-
Editor HTML visual.
-
Capacitats de cicle de treball.
-
Capa d’autenticació.
-
Indexació de documents Word i PDF.
-
Cercador basat en el protocol sitemap.
-
Suport per a wikis.
-
Navegació endavant/endarrere automàtica.
-
Generació automàtica de taules per al contingut.
-
Suport per a continguts multilingües.
-
Publicació diferida.
-
URL nets.
-
Editor gràfic.
-
Compressió de recursos.
-
Encauament amb integració de proxy.
-
Reordenació de continguts amb arrossegar i deixar anar.
-
Exportació de la configuració del lloc en XML.
-
Format automàtic per a impressió.
-
XHTML i CSS estàndard.
-
Compleix criteris d’accessibilitat.
-
Exportació automàtica de feeds RSS.
-
Escalat automàtic d’imatges i generació de miniatures (thumbnails).
-
Multiplataforma.
-
Suport de microformats.
-
Possibilitat d’afegir comentaris en qualsevol contingut.
-
Suport per a FTP i WebDAV.
-
Edició in-context.
-
Suport per a backups.
-
Operació de tallar/copiar/enganxar (cut/copy/paste) en els continguts.
-
Basat en ZODB (base de dades orientada a objectes no relacional).
-
Python sol ser més fàcil de programar que altres llenguatges, com el PHP.
-
Usa un bon sistema de plantilles anomenat TAL ( template attribute language)
-
És flexible.
-
La documentació no està gaire actualitzada.
-
La importació de dades no està gaire ben resolta.
-
Les tecnologies sobre les quals se sustenta encara no són gaire conegudes per la comunitat de desenvolupadors.
7.1.4.El Drupal
-
Accés a estadístiques.
-
Cerca avançada en el lloc.
-
Publicar en mode blog, “Llibre”, fòrums i enquestes.
-
Gestió de blocs i regions de contingut.
-
Encauament i throttling.
-
URL nets.
-
Sistema de menús multinivell.
-
Suport per a múltiples llocs amb la mateixa instal·lació.
-
Suport per a múltiples usuaris.
-
Integració amb OpenID.
-
Publicació en RSS.
-
Possibilitat d’agregar feeds.
-
Notificacions d’actualitzacions de seguretat.
-
Perfils d’usuari.
-
Rols d’usuari.
-
Eines de cicle de treball.
-
Multiidioma.
-
Plataforma altament verificada.
-
Una mateixa instal·lació per a diversos llocs.
-
S’adapta bé a aplicacions no solament de gestió de continguts, sinó també de comunitats.
-
Sistema potent de plantilles. Qualsevol XHTML o CSS plantilla es pot convertir fàcilment a Drupal.
-
Fàcil d’usar amb les opcions bàsiques.
-
API.
-
Si no compleix perfectament amb els requisits del nostre projecte, l’adaptació pot ser difícil (probablement requerirà la programació de mòduls a mida).
-
El panell d’administració no és gaire intuïtiu.
-
És necessari buscar i provar en la llista de milers de mòduls disponibles.
-
Cal anar amb compte amb el gran nombre de mòduls disponibles, ja que molts no són estables.
7.1.5.Google Sites
-
Qualsevol persona pot crear molt fàcilment una pàgina web amb continguts actualitzables.
-
Es poden usar temes intercanviables (presentació).
-
Exportació de feeds RSS.
-
Subscripció per correu electrònic als canvis de la pàgina.
-
Integrat amb tots els serveis de Google, incloent AdSense, Google Docs, Calendar, Maps, Picasa, Analytics.
-
Control de revisions dels continguts.
-
Diferents layouts possibles.
-
Possibilitat d’afegir ginys (gadgets).
-
No es mostren anuncis (a diferència d’altres serveis de Google).
-
És una solució molt senzilla; el panell d’administració, per exemple, no és gens complex.
-
Podem triar entre un gran nombre de plantilles que, en molts casos, estan implementades per altres persones.
-
Si s’implementa un projecte usant Google Sites es pot “alliberar” el projecte perquè altres persones el puguin reutilitzar, passant des d’aquest moment a ser una altra plantilla de les disponibles. Aquest component social fa possible que hi hagi una gran quantitat de plantilles disponibles.
-
Falta de privacitat i, sobretot, les dades estan emmagatzemades en els servidors de Google i no en la nostra organització.
-
Està limitat a 100 Mb d’emmagatzematge en la versió gratuïta.
-
No es pot afegir CSS en els temes i l’HTML està limitat.
-
No es poden afegir comentaris anònims.
7.2.Fòrums
7.2.1.phpBB
-
Gratuït i de codi obert.
-
Suport per a diversos servidors de bases de dades (MySQL, SQL Server, Oracle, etc.).
-
Creació il·limitada de fòrums i subfòrums.
-
Millora del rendiment respecte de la versió anterior.
-
Ús de caché per a tots els arxius del fòrum.
-
Registre d’usuaris i personalització de cada camp.
-
Missatges privats a múltiples usuaris i carpetes de missatges.
-
Cerca de temes i usuaris.
-
Panell d’administrador i de moderador per separat.
-
Creació d’enquestes amb múltiples opcions.
-
Perfil per a cada usuari amb les seves dades personals.
-
Aplicar “Ban” per temps definit o indefinit.
-
Els usuaris poden tenir “Amics” o “Ignorats”. Els missatges d’”Ignorats” s’oculten automàticament.
-
Personalització de BBCode.
-
Creació de grups d’usuaris, moderadors o administradors.
-
Advertiment i reports d’usuaris a moderadors davant d’apunts (posts) indeguts.
-
Possibilitat de crear nous camps per al perfil d’usuari.
-
Possibilitat d’editar, des del panell d’administració, els arxius del tema usat.
-
Múltiples arxius adjunts.
-
Modificacions i estils gratuïts desenvolupats per la comunitat.
-
Fàcil creació i assignació de rangs per apunts o per grups.
-
Log d’accions d’usuaris, moderadors i administradors.
-
És una eina molt completa per al seu propòsit, difícilment trobarem un CMS que tingui més funcionalitats en aquest sentit.
-
La comunitat aporta MOD, modificacions que estenen les funcionalitats o que canvien la presentació.
-
Si el nostre projecte es desvia del propòsit principal d’un fòrum, no serà la solució òptima.
-
Hi ha multitud de CMS orientats a la gestió de fòrums a Internet, phpBB només n’és un.
7.3.Blogs
-
Sindicació en RSS/Atom de les entrades i els comentaris.
-
Ping. Mecanisme pel qual el blog avisa determinats servidors que s’ha publicat un nou contingut.
-
Blogroll. Possibilitat de mantenir una llista d’enllaços a altres blogs que l’autor considera interessants.
7.3.1.El WordPress
-
Sistema de ginys (widgets) que permet afegir funcionalitats mitjançant arrossegar i deixar anar.
-
Activació senzilla de temes (themes).
-
Plug-ins que afegeixen funcionalitats.
-
Instal·lació i actualització de temes i plug-ins directament des del panell d’administració (sense haver de descarregar arxius).
-
Múltiples categories per als articles.
-
Definició de diferents tipus de contingut.
-
Trackbacks i pingbacks.
-
Aplicacions natives per a actualitzar el WordPress des d’Android i iPhone.
-
Actualització remota del blog.
-
Enfocat a un ús senzill. El panell d’administrador és molt intuïtiu.
-
Optimitzat per a cercadors (SEO).
-
Les pàgines de WordPress poden tenir “pares”, de manera que es pot crear una jerarquia (seccions i subseccions).
-
Hi ha infinitat de plug-ins que afegeixen funcionalitats.
-
Encara que és bastant flexible, si les necessitats del lloc van més enllà de les pròpies de WordPress pot ser problemàtic; no és, per exemple, la millor opció per a un lloc de comerç electrònic.
-
No és la millor opció per a un lloc amb milers de pàgines (pel seu rendiment).
7.3.2.PivotX
-
Sistema de plantilles basat en Smarty.
-
Múltiples blogs amb una sola instal·lació.
-
Múltiples autors.
-
Possibilitat d’incrustar imatges i fins i tot usar l’extensió picnik, que permet editar les imatges.
-
Extensions.
-
Possibilitat d’usar un arxiu per a emmagatzemar les dades o una base de dades MySQL.
-
Sistema antiinundació (spam).
-
Optimitzat per a cercadors (SEO).
-
Basat en un framework que permet crear extensions.
-
És senzill.
-
És una bona opció si no disposem de base de dades.
-
La comunitat de PivotX encara és molt incipient.
-
Poques extensions i temes disponibles.
7.4.Wikis
7.4.1.MediaWiki
-
Es poden definir tipus de pàgines.
-
Cada pàgina del wiki té una pàgina de discussió pròpia.
-
Suport de TeX per a visualitzar fórmules matemàtiques.
-
Sistema de plug-ins que permet estendre fàcilment les funcionalitats.
-
Capacitat de bloquejar temporalment usuaris o pàgines.
-
Suport de plantilles personalitzades amb paràmetres.
-
Creació de línies de temps mitjançant codi wiki.
-
Sistema de categories jeràrquic, que permet crear llistes d’articles o de miniatures d’imatges.
-
Admet diversos nivells d’usuari.
-
Suport per a emmagatzemament de memòria virtual o cau (caché), també coneguts com memcached i el sistema de caché Squid.
-
Skins personalitzables per cada usuari.
-
A diferència dels wikis clàssics, no és necessari que els noms de les pàgines estiguin en CamelCase, la qual cosa permet tenir noms més naturals.
-
És un sistema altament provat, ja que és la base de la Viquipèdia.
-
Un wiki és una bona eina de treball col·laboratiu; no obstant això, no és la millor opció per a personal amb coneixements a nivell d’usuari perquè el format de text requereix un temps d’aprenentatge.
-
Cal tenir en compte que l’estructura d’un wiki s’adapta només a cert tipus de projectes i que requereix coneixements avançats d’edició (almenys més alts que en CMS, en què s’actualitza el text en camps sense cap tipus de format).
7.4.2.Tiki Wiki
-
Possibilitat de crear diferents tipus de contingut com articles, fòrums, butlletins, blogs, galeries d’imatges i, per descomptat, wikis.
-
Possibilitat de crear dibuixos mitjançant una miniaplicació (applet) de Java.
-
Rastrejadors.
-
Sondejos, enquestes i qüestionaris.
-
FAQ.
-
PMF.
-
Xat.
-
Sistema de gestió de bàners.
-
Integració amb sistemes de correu.
-
Calendari.
-
Mapes i gràfics.
-
Versió per a mòbils: Tiki mòbil.
-
Feeds RSS.
-
Sistema de categories.
-
Activació de temes.
-
Flux de treball.
-
Shoutbox.
-
ACL (sistema estàndard de permisos sobre objectes en una xarxa).
-
No solament és un CMS per a wikis, sinó que aporta diverses eines útils per al treball col·laboratiu; possiblement, és un dels CMS més complets en aquest sentit.
-
Pot funcionar amb un gran nombre de servidors de bases de dades.
-
El rendiment i l’escalabilitat necessiten millores.
-
Featuritis. Tiki Wiki ofereix tantes funcionalitats que és difícil que totes es puguin ajustar bé als nostres requisits.
-
La gran quantitat de funcionalitats que implementa fa difícil la traducció de totes als diferents idiomes.
7.5.Aprenentatge electrònic
7.5.1.Moodle
-
Vénen donades pels mòduls.
-
Tasques i qualificacions per als alumnes.
-
Consultes. Funcionen com una votació.
-
Fòrum. Exclusius per a professors, per a alumnes o per a tots.
-
Diari. Informació privada entre el professor i l’alumne.
-
Qüestionari. Definició de preguntes en qüestionaris.
-
Recursos. Continguts digitals en format Word, PowerPoint, vídeo, etc.
-
Enquestes.
-
Wiki. Per a treball col·laboratiu en documents.
-
Hi ha una gran comunitat darrere de Moodle, la qual cosa fa que hi hagi una gran quantitat d’extensions i que molts problemes es puguin solucionar buscant informació a Internet.
-
És molt configurable gràcies a l’existència de molts plug-ins.
-
No hi ha un sistema d’avisos general per a tots els cursos, és necessari anar d’un en un per a veure’ls.
-
El control de grups d’estudiants és per curs, no general.
-
La instal·lació es podria simplificar.
7.6.Xarxes socials
-
Pligg (http://www.pligg.com/). Implementa una xarxa social basada en un sistema de recomanació (de tipus “digg.com” o “meneame.com”). És un CMS complet amb possibilitat d’afegir mòduls.
-
Meneame.com (http://www.meneame.com). Basat en el mateix principi, també és una eina de codi obert i de fet ja hi ha clons d’aquesta aplicació en altres idiomes o amb altres temàtiques.
-
Elgg (http://elgg.org/). És una eina més completa, ja que no sols és una xarxa de recomanacions, sinó que el seu objectiu és poder funcionar com a base d’una xarxa dins d’una organització (dins d’una universitat, per exemple, o simplement un grup de gent amb els mateixos interessos).