Como funciona un Gestor de Contenidos.

Vamos a tratar de aclarar cómo funciona un gestor de contenidos (CMS) para usuarios sin ningún conocimiento técnico, es decir, para la mayoría de nuestros clientes. Que bastante tienen con dominar su negocio como para que encima tengan que entender de tecnología. Por lo tanto nos vamos a permitir ciertas licencias con el fin de facilitar la comprensión de muchos conceptos en muy pocas líneas de texto. Para ello vamos a hablar de uno de ellos, llamado Joomla, pero ya que el funcionamiento es muy similar en todos ellos, será muy facil extrapolar los conocimientos a cualquier otro.

Empezaremos por definir Joomla como un CMS, es decir un Gestor de Contenidos (de sus siglas en ingles Content Management System). Eso quiere decir que Joomla sirve… ¿para qué?

Es fácil: Joomla sirve para gestionar cualquier “contenido” en internet, y como cualquier cosa puede ser un contenido (sea del tipo que sea), podemos decir que sirve para mostrar cualquier cosa en Internet.

En sus inicios se basó más en los contenidos de texto, después fue incorporando los contenidos multimedia, y con el tiempo ha llegado a ser uno de los productos más completos existentes en internet para la gestión de cualquier contenido sea este del tipo que sea.

Pero ¿Cómo lo hace?

En este momento vamos a pensar en un ejemplo cualquiera de portal en Internet. Sea el ejemplo que sea es muy probable que el resultado de la gestión de los contenidos de vuestro portal sea mostrada en un navegador web. Es decir vamos a empezar por el final…

Habitualmente sabemos cómo queremos distribuir la información en el navegador web, antes de cerrar detalles como “si necesitamos gestión logística “, “el número de idiomas”, o “el número de intentos de acceso antes de bloquear el usuario”, y casi siempre antes de saber si vamos a crear veinte categorías, o dos centenas de ellas para organizar nuestros contenidos.

La información se muestra en Joomla a través de una plantilla. Y una plantilla es… imagina una hoja de papel puesta frente a ti… eso es una plantilla.

En la imagen anterior la plantilla es todo lo que podemos ver a través de nuestra hoja de papel.

¿Cómo?¿que no se ve nada?

¡Claro que no! Para que se vea algo es necesario que el programador de plantillas (maquetador) le haga los “agujeros” necesarios para que la información se muestre en los lugares que como clientes necesitamos… Un sitio para el “titulo”, otro para la información “destacada”, otro hueco para el “acceso” de usuarios registrados, quizá otro para mostrar “información” de una forma más genérica…un montón de agujeros en la hoja de papel.

Ahora si podemos ver a través de los huecos de nuestra hoja de papel.

Podemos dar a nuestra hoja un aspecto general decorándola a nuestro gusto. Bueno en realidad pidiéndole al programador de plantillas que la decore para nosotros. En nuestro caso y con el fin de distinguirlas bien del fondo que se ve a través de ella… la dejaremos en blanco. Para facilitar la lectura de los visitantes, a los que seguramente les resulte más cómodo leer sobre un fondo blanco, a lo que ya están acostumbrados, que sobre otro color o diseño.

Y ahora empezaremos a mostrar información por ellos… en Joomla eso se hace normalmente con lo que se denomina un “Módulo”.

Usaremos el módulo de “acceso registrados” comprobando que hace lo que deseamos, o mejor aun pidiéndole a los expertos en Joomla que comprueben que su comportamiento sea el que nosotros deseamos.

Una vez comprobado que hace lo que deseamos lo incluimos en nuestra plantilla en uno de los huecos que dejamos preparados.

¡Ya tenemos nuestro primer módulo visible en la plantilla!

Continuamos…

Vamos al gestor de “artículos”, que veremos más adelante lo que es… y escribimos cuatro o cinco artículos, indicando que todos ellos sean “no publicados en la página principal” y únicamente un par sean de la categoría “destacados”. (Aún no sabemos lo que son las categorías, pero no te preocupes lo veremos más adelante)

Ahora publicamos otro módulo, uno donde podamos ver únicamente los contenidos destacados. A nuestro programador de extensiones le hemos pedido que el módulo de destacados muestre el título de los mismos, sus primeros cien caracteres y la primera foto del artículo; y que al pinchar sobre el titulo o la foto este pase al espacio central de la plantilla ya de forma completa.

Una vez activada la visibilidad de ese módulo, este se encargará de que veamos los contenidos en el hueco de nuestra plantilla que hemos dejado preparado para ello.

Pero ya hemos publicado cinco contenidos, y solo dos de ellos se están viendo de una forma o de otra en nuestro portal. ¿por dónde podemos seguir?

¿Dónde se publicarán estos contenidos que no están dentro de un módulo sino que se están gestionando desde un “Componente”?

Efectivamente, en el espacio que el programador de nuestro “componente” (en este caso viene por defecto con Joomla) y el de nuestra plantilla dejó preparado para ello.

El componente de “gestionar los artículos” está en el “back-end” de nuestro portal, en lo que llamamos el portal del “Administrador”.

Y ¿en qué se diferencia un “componente” de un “módulo”?

El objetivo principal de un módulo es mostrar “algo” (normalmente contenidos, pero puede ser la hora u otra información) a través de la plantilla, mientras que el de un “componente” suele ser el gestionar esos contenidos o información (crear los artículos, introducir los multimedia en el portal, etc…).

En el caso de los módulos, la configuración también se hace desde el back-end, pero suele ser mucho más ligera que en un componente, así que lo habitual es que desde el back-end usando un “Componente” se genere la información necesaria para que varios “módulos” la muestren en distintos sitios del portal, de diferentes maneras y formas.

Además los contenidos publicados desde los “Componentes” pueden varias en el tiempo dependiendo de la lógica de negocio que estos soporten, con lo que por ejemplo, al llegar la noche puede verse un contenido diferente a través del hueco de la plantilla por el que nuestro “componente” de publicar contenidos está trabajando.

Y que a su vez este cambio en los contenidos o en su manera de visualizaros ocasione que un nuevo módulo nos facilite el acceso a determinada información que antes no teníamos en el portal.

Como podéis ver, el contenido mostrado por este último módulo es diferente a los anteriores, un ejemplo real podría ser un contenido en otro idioma que se está mostrando al coincidir que mi navegador está en ese idioma y que el contenido principal tiene que ver con un producto determinado. Un “plugin” se ha encargado de modificar el comportamiento de una extensión ya existente sea esta un “componente” o un “módulo”. Ha realizado una pequeña acción, variando el comportamiento de uno de sus hermanos mayores.

Ya hemos visto que existen diversas “cosas” a las que hemos llamado:

  • Plantilla
  • Componente
  • Módulo
  • Plugin

Si esta tarta fuera Joomla, el “núcleo” (Core en inglés) del mismo sería la piña y la fresa sobre ella (seguridad, acceso a BBDD, etc…), algo a lo que no hay acceso por la parte del usuario de una forma directa. A lo que si tenemos acceso es al kiwi del exterior, a las “extensiones” que muestran información a través del navegador (módulos, plantillas, idiomas, componentes). Y en medio quedan todas las extensiones que ampliando la funcionalidad del núcleo le proporcionan la información lista para ser mostrada a las capas exteriores de nuestro “Joomla” (componentes, plugins, etc…)

Bueno y finalizada la explicación de la estructura “visual” del CMS iba a comenzar con la parte de como estructura Joomla la información, y como nos facilita la explotación de la misma, pero me he dado cuenta de que iba a ser demasiado espeso para un artículo. Así que si lo que has leído ha despertado algún interés en ti y quieres que continuemos en esta línea, en el próximo número continuaremos viendo que son las “categorías”, “categorías anidadas”, “menús”, “acciones asociadas a los elementos de menús”, “usuarios”, “permisos”, etc…

Vamos a continuar con nuestro artículo de Joomla para no tecnólogos. En el apartado anterior vimos que son las “extensiones”, como plantillas, componentes, módulos o plugins para nuestro CMS. En este vamos a comenzar por entender que ocurre al instalar nuestro Joomla en un servidor y después llegaremos algo más lejos en alguno de aquellos conceptos que muchas veces los técnicos consideramos claros pero que no lo suelen ser tanto para todo el mundo. Comencemos…

Joomla es un gestor de contenidos, es decir es un producto informático que permite que almacenemos, gestionemos y mostremos a los usuarios, información de todo tipo. ¿De todo tipo? Efectivamente, aunque no tienen el mismo tratamiento los datos multimedia que los datos de texto, nuestro amigo Joomla está pensado para trabajar con cualquier tipo de datos.

Los datos tipo texto, y en algunos casos los multimedia se almacenan en un gestor de base de datos.

Hasta hace poco Joomla solo permitía que este fuera uno denominado MySQL, pero hoy por hoy se puede instalar Joomla para que use cualquier motor de bases de datos como Oracle, Postgresql, o cualquier otro tanto open source como privativo. Pero ¿que es un gestor de base de datos? Imaginemos una nave industrial que se use como almacén en un polígono …

Ese edificio sería el servidor sobre el que se ejecuta el motor de la base de datos. En nuestra imagen anterior podemos ver que en un único edificio (servidor) pueden existir diferentes motores de base de datos conviviendo. Por defecto nuestro Joomla intentará configurarse para trabajar con el motor de base de datos que la gente de MySQL nos facilita.

Pero abramos la puerta de nuestro motor de base de datos…

Noten que siempre he usado la expresión “motor de base de datos” para referirme al almacén y no “base de datos”… ¿por qué? Sencillo porque una Base de Datos es un espacio reservado para un proyecto (normalmente) dentro de ese almacén, dentro de ese motor para bases de datos.

En el interior de nuestro motor de base de datos hemos creado cuatro espacios para cuatro bases de datos. Normalmente nuestro proveedor de hosting nos facilitará el acceso a un motor de base de datos y dependiendo del tipo de alojamiento contratado con el, podremos crear un número determinado de bases de datos dentro del espacio de nuestro “almacén”.

Si Joomla necesitara una base de datos para cada instalación que hiciéramos en nuestro servidor, el número de CMS que podríamos montar estaría limitado por el número de bases de datos que pueda soportar nuestro “almacén”… Pero Joomla está mejor pensado que todo esto… está pensado para que podamos optimizar todas nuestras inversiones, también las del alojamiento para nuestros proyectos. Veamos como…

En cada instalación de una instancia de Joomla debemos indicar no solo el nombre del servidor (almacén), de la base de datos (el espacio que hemos reservado dentro del almacén) , sino que también nos solicita el “prefijo” que le queremos asignar a las tablas que compondrán nuestro proyecto. Este prefijo se antepondrá a los nombres de todas las tablas que contendrán nuestra información (ahora veremos lo que son estas tablas)

Es como si colocáramos la información en estanterías identificadas por ese prefijo dentro de cada zona especial, de cada almacén… pero ¿en qué tipo de recipiente se almacena esa información? En lo que informáticamente se llama “tablas”, o en lo que en nuestro ejemplo serían “cajas”. Las cajas contienen información normalizada, es decir, información que tiene relación entre ella y que junta compone un “elemento informativo” o “ficha”. Por ejemplo una caja contendrá la información de los usuarios, otra la de los grupos, o los artículos, los menús, sus elementos, etc… cada caja (nombrada por el prefijo del proyecto, más un texto que ayude a identificar su contenido) almacenará por lo tanto un conjunto de datos sobre una necesidad concreta de nuestro proyecto.

En esta imagen podemos ver dos instancias de Joomla (que deben estar en bases de datos diferentes (espacios dentro del almacén) ya que su prefijo es el mismo y por lo tanto el nombre de JOS_Usuarios (tabla que contienen los usuarios, y sus permisos) tendría el mismo nombre en los dos grupos de cajas (de tablas). En el segundo grupo de tablas JOS_Usuarios está englobado en el “etc…” En el primer grupo de cajas solo hay una caja… ¿es posible eso en una instancia operativa de Joomla?… ¡No! Este sería un ejemplo de una instancia de Joomla incompleta o a medio instalar. Sin embargo en el segundo grupo de tablas, podemos ver muchas… pero muchas… eso si puede ser una instalación completa y funcional de Joomla.

Hay una tipo de datos que normalmente (salvo que el presupuesto lo permita) se suele almacenar fuera de la base de datos. Estos son los multimedia (videos, imágenes, música, firmas electrónicas, etc…), al tener la forma de un fichero por si mismos se suelen almacenar como tales fuera del motor de la base de datos. Es decir es como si hubiera una gran finca (espacio FTP) alrededor de la nave industrial, donde pudiéramos depositar nuestros ficheros (como troncos de leña apilada fuera del motor de la BBDD). Cada uno de estos ficheros tendrá un nombre, y si necesitamos hacer referencia a él dentro de alguno de las “fichas” que tenemos en las cajas lo haremos utilizando ese nombre. De esta manera el programador de Joomla ha preparado el producto para que pueda accederse a esos ficheros de una forma ágil, localizándolo con solo leer su nombre en la “ficha” que corresponda y cogiéndolo de la “finca” donde están los ficheros en nuestro hosting.

Es mucho más económico alquilar espacio libre (finca) que motor de base de datos (almacén). Además de que a la hora de usar sistemas de cache que proporcione una mayor optimización en los tiempos de creación de nuestras páginas, podemos separar el comportamiento de nuestra información “dinámica” (la de las bases de datos) de la estática (la del espacio FTP).

Como vemos Joomla de nuevo se preocupa por nuestra economía.

Esta estructura nos permite dimensionar nuestro Joomla para proyectos de todos los tamaños, desde proyectos de los de “siguiente-siguiente” (es decir mantenidos por no tecnólogos) a proyectos de gran envergadura que tengan sus bases de datos repartidas en distintos continentes y creados, mantenidos y gestionados por personal altamente especializado.

Por eso Joomla es una buena elección en proyectos tanto que manejen pocos datos, como para aquellos más exigentes con cientos de millones de usuarios.

Ahora ya sabemos un poco más sobre cómo se almacena la información por parte de Joomla, ya tenemos la información suficiente para que en el próximo artículo podemos atrevernos a comprender la forma en que desde las opciones de administración hacemos uso de la misma. Será el momento de relacionar los menús con las categorías, los artículos, y el resto de “herramientas” de las que Joomla nos dota para hacer cada día portales web más y más potentes e imaginativos.

Hemos hablado sobre qué es y cómo funciona un sistema de base de datos y en concreto los relacionados con Joomla y su proceso de instalación. Y ahora… ¿Qué vamos a tratar en las siguientes líneas? Vamos a razonar que proceso genera la página web que Joomla me muestra a través de mi navegador al hacer click en cualquier lugar de mi portal.

Distinguiremos tres maneras de generarse la página web.

  • La primera, la carga inicial de la página antes de que pinchemos en ningún sitio, cuando escribimos solo el nombre del dominio (por ejemplo: www.osiberia.es).
  • La segunda cuando pinchamos en algún enlace reconocible como tal en la página (sobre una imagen, un botón, un texto).
  • Y la tercera, y por la que empezaremos nuestro razonamiento… La que se carga después de hacer click en algún elemento de un menú.

Hacer click sobre un “elemento” de menú. Los angloparlantes lo denominan “ítem”, nosotros (ignorando un poco al diccionario) lo denominaremos “elemento”, y como nos referimos a los “menu’s ítem” lo traduciremos como “elementos de menú”.

Pero antes de saber que es un “elemento de menú”, vamos a aclarar que un “menú” es una extensión de Joomla, como lo eran los módulos o los componentes. Una extensión con un formato especial que permite que desde el back-end (www.midominio.es/administrator) podemos dotar al mismo de elementos, y a estos de las propiedades necesarias para que al pinchar sobre ellos ocurra algo.

En la imagen anterior vemos un menú (recuadrado en rojo) compuesto de cinco elementos, todos visibles y que por defecto tiene pulsado el primero de ellos denominado “Joomla”.

Joomla permite que de una forma muy sencilla, anidemos los elementos de los menús, unos dentro de otros como puede verse dentro del cuadro rojo de la siguiente imagen.

En esta última imagen podemos ver que se ha hecho click sobre el elemento “EXTEND” del menú de primer nivel (el de la foto anterior). Esta acción ha desplegado un segundo nivel donde hemos situado el ratón sobre el elemento de menú “Resorce Directory”. No habiendo pinchado aún sobre él, por lo que aún no se ha desencadenado la acción que este último elemento de menú tenga asociada. De manera que aun con el árbol del menú desplegado sobre nuestra pantalla principal, aún seguimos viendo la página por defecto del portal y no la que se generará al hacer click sobre “Resorce Directory”.

En la imagen anterior podemos ver la pantalla del administrador de Joomla donde una vez seleccionado un menú, se nos muestran para que trabajemos los elementos del mismo. En principio no parece nada complicada, una columna con el estado con el que indicamos si esta publicada o no, un título (y debajo la acción que desencadena este elemento al ser pinchado), si es la página por defecto (¡Oído!, ¡Oído!, prestemos atención a este punto…. Pero no ahora… ahora sigamos con nuestro razonamiento), la siguiente columna indica que tipo de usuarios puede ver ese elemento en el menú (púbico, registrado, etc…). La penúltima indica el idioma que tiene que tener configurado el navegante en su perfil para ver ese elemento, y por último un identificador único para cada uno de ellos.

Al hacer click en uno de los elementos de menú, veremos una pantalla similar a esta:

Donde hemos remarcado en rojo el “Tipo de elemento de menú” es decir la ACCIÓN que se desencadenará al pulsar sobre ese elemento de menú.

El abanico de ACCIONES a desencadenar es muy amplio. Incluso sin instalar nuevos componentes podemos hacer que al pinchar en una opción de menú se muestre en la parte principal de la plantilla (revisa la parte “I” de la saga de artículos, del mes Noviembre de 2013) lo que indiques como “Tipo de elemento de menú”.

Échale un ojo por ejemplo a las posibilidades que se abren sólo en relación con la posibilidad de mostrar “Artículos”

Como ves puedes decirle que al hacer clic en ese elemento de menú sólo se muestre un artículo, o todos los de una categoría, incluso en formato blog o como una lista secuencial, etc…

Ya tenemos identificado que un menú se compone de elementos y que estos al pinchar sobre ellos producen una acción que llena de información la parte principal de nuestra página web, pero ¿y el resto de la plantilla como se rellena?

¿Recordáis que era un módulo? Era el tipo de extensión que permitía mostrar información a través de uno de los huecos de la plantilla (excepto en la parte principal que ya hemos visto como se llena de información).

Pues en la configuración de los módulos una de las cosas que podemos configurar es la posición de la plantilla donde queremos que este se visualice.

Como podemos ver en la siguiente imagen remarcado en rojo.

En esa misma ventana vemos que el propio módulo en su configuración tiene una pestaña que se denomina “Asignación del módulo” en la que le decimos si queremos que este módulo se vea en todas las opciones de menú, en ninguna, en todas menos en las que indiques o solo en las que indiques. En cualquiera de estas dos posibilidades debes indicar una por una cuales son las opciones de todos los menús (que Joomla te va a mostrar amablemente) quieres que sea la que desencadene que este módulo se vea al hacer click en ella.

Ya tenemos casi toda la información que necesitamos para que nuestra página se complete.

Repasemos lo que ocurre con los módulos al hacer click en un elemento de menú.

Hacemos Click en un elemento de menú y la acción asociada a ese elemento crea el contenido de la parte principal. Después los módulos configurados para visualizarse al hacer click en ese elemento de menú se muestran en los huecos de la plantilla que indique en su parametrización… ¡Y ya tenemos una página cargándose en nuestro explorador web!

Si esto fue un poco complejo vamos a terminar con un poco más de “magia”: ¿Recordáis que al principio hablamos de que había tres formas de crear una página? ¿Y que sobre la primera opción dijimos algo así: “La primera, la carga inicial de la página antes de que pinchemos en ningún sitio”? Y un poco más adelante hemos comentado “si es la página por defecto (¡Oído!, ¡Oído!, prestemos atención a este punto…. Pero no ahora…)”, pues ¡AHORA! es el momento de recordarlo. El elemento de menú que tiene marcada esta opción, un único elemento de entre todos los menús que tengamos en nuestro portal que la tenga marcada, será en el que nuestro Joomla hará click por nosotros cuando pidamos que se cargue la página principal de nuestra web escribiendo solo el nombre del dominio (Por ejemplo: https://www.osiberia.es). Así que cambiando ese marcador, el de “Página por defecto”, eligiendo otro elemento de cualquier menú en su lugar, la acción que éste desencadene será la que cree la nueva página principal de nuestro portal.

Y de nuevo me he enrollado mucho para explicar algo que seguro que ya sabías antes de que empezara a contártelo… pero bueno… ¿y el buen rato que hemos pasado juntos, yo al escribirlo y tú al leerlo?

2 comentarios en “Como funciona un Gestor de Contenidos.”

  1. Pagina web tarragona

    Es difícil encontrar a escritores con conocimientos sobre este mundillo , pero creo que sabes de lo que estás escribiendo. Gracias compartir un articulo como este.

  2. empresa apps reus

    Hace poco he comenzado un web, la información de tu blogg me proporciona mucha ayuda. Gracias por todo tu tiempo y trabajo.

    Saludos

Dejar un comentario