Los Sistemas de Gestión de Contenidos (Content Management Systems o CMS) son un software que se utiliza principalmente para facilitar la gestión de webs y, por esto, también son conocidos como gestores de contenido web (Web Content Management o WMS). Es un programa que permite crear una estructura de apoyo (framework) para la creación y administración de contenidos por parte de los participantes, principalmente en páginas web.
Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido de la web. 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 a la web sin tener que darle formato al contenido nuevo, además de permitir la fácil y controlada publicación en la página web a varios editores. Un ejemplo clásico es el de editores que cargan el contenido en el sistema y otro de nivel superior que permite que estos contenidos sean visibles a todo el público.
Podemos dividir las funciones de los sistemas de gestión de contenidos en cuatro categorías: creación de contenidos, gestión de contenidos, publicación y presentación.
Creación de contenido
Un CMS aporta herramientas para que los creadores sin conocimiento técnicos en páginas web puedan concentrarse en el contenido. Aportan herramientas para definir la estructura, el formato de páginas, el aspecto visual, el uso de patrones, y un sistema modular que permite incluir funciones no previstas originalmente.
Gestión de contenido
Los documentos creados se depositan en una base de datos central donde también se guardan el resto de datos de la web, como son los datos relativos a los documentos (versiones hechas, autor, fecha de publicación y caducidad, etc.), datos y preferencias de los usuarios, la estructura de la web, etc. La estructura de la web se puede configurar como una herramienta que, habitualmente, presenta una visión jerárquica de la página web y permite modificaciones. Mediante esta estructura se puede asignar un grupo a cada área, con responsables, editores, autores y usuarios con diferentes permisos. Este punto es imprescindible para facilitar el ciclo de trabajo (workflow) como un circuito de edición que va desde el autor hasta el responsable final de la publicación. El CMS permite la comunicación entre los miembros del grupo y hace un seguimiento del estado de cada paso del ciclo de trabajo.
Publicación
Una página aprobada se publica automáticamente cuando llega la fecha de publicación y cuando caduca se archiva para futuras referencias. En su publicación se aplica el patrón definido para toda la página web o para la sección concreta donde está situada, de forma que el resultado final es una web con aspecto consistente en todas sus páginas. Esta separación entre contenido y forma permite que se pueda modificar el aspecto visual de una web sin afectar a los documentos ya creados y libera a los autores de preocuparse por el diseño final de sus páginas.
Presentación
Un CMS puede gestionar automáticamente la accesibilidad de la web, con apoyo de normas internacionales de accesibilidad, y adaptarse a las preferencias o necesidades de cada usuario. También puede proporcionar compatibilidad con los diferentes navegadores disponibles en todas las plataformas (Windows, Linux, Mac, Palm...) y su capacidad de internacionalización le permite adaptarse a la lengua, sistema de medida y cultura del visitante.
El sistema se encarga de gestionar otros muchos aspectos como son los menús de navegación o la jerarquía de la página actual dentro de la web, añadiendo enlaces de forma automática. También gestiona todos los módulos, internos o externos, que incorpora en el sistema. Así por ejemplo, con un módulo de noticias se presentarían las novedades aparecidas en otra web, con un módulo de publicidad se mostraría un anuncio o mensaje animado, y con un módulo de foro se podría mostrar, en la página principal, el título de los últimos mensajes recibidos. Todo con los enlaces correspondientes y, evidentemente, siguiendo el patrón que los diseñadores hayan creado.
Se podría pensar que no es necesario para una web relativamente pequeña o cuando no se necesitan tantas funcionalidades. Esto sólo podría ser cierto para una web con pocas páginas estáticas para la que no se prevea un crecimiento futuro ni muchas actualizaciones. De todas formas, la flexibilidad y la escalabilidad que permiten estos sistemas, justifican su utilización en prácticamente cualquier tipo de web. En los siguientes puntos se muestra qué hace útil y necesaria la utilización de un CMS:
Inclusión de nuevas funcionalidades en la web. El sistema puede crecer y adaptarse a las necesidades futuras.
Mantenimiento de gran cantidad de páginas. En una web con muchas páginas hace falta un sistema para distribuir los trabajos de creación, edición y mantenimiento con permisos de acceso a las diferentes áreas.
Reutilización de objetos o componentes. Un CMS permite la recuperación y reutilización de páginas, documentos y, en general, de cualquier objeto publicado o almacenado.
Páginas interactivas. Las páginas estáticas llegan al usuario exactamente como están almacenadas en el servidor web. En cambio, las dinámicas no existen en el servidor tal y como se reciben en los navegadores, sino que se generan según las peticiones de los usuarios. De esta manera cuando, por ejemplo, se utiliza un buscador, el sistema genera una página con los resultados que no existían antes de la petición. Para conseguir esta interacción, los CMS conectan con una base de datos que hace de almacenador central de todos los datos de la web.
Cambios del aspecto de la web. Si no hay una buena separación entre contenido y presentación, un cambio de diseño puede comportar la revisión de muchas páginas para su adaptación. Los CMS facilitan los cambios con la utilización, por ejemplo, del estándar CSS (Cascading Style Sheets u hojas de estilo en cascada) con lo que se consigue la independencia de presentación y contenido.
Consistencia de la web. La consistencia en una web no quiere decir que todas las páginas sean iguales sino que hay un orden (visual) en lugar de un caos. Un usuario nota enseguida cuando una página no es igual que el resto de las de la misma web por su aspecto, la disposición de los objetos o por los cambios en la forma de navegar. Estas diferencias provocan sensación de desorden y dan a entender que la web no la han diseñado profesionales. Los CMS pueden aplicar un mismo estilo en todas las páginas con el comentado CSS, y aplicar una misma estructura mediante patrones de páginas.
Control de acceso. Controlar el acceso a una web no consiste simplemente en permitir la entrada a la web, sino que comporta gestionar los diferentes permisos a cada área de la web aplicados a grupos o individuos.