Dedicatoria:
A todos los desarrolladores de Joomla y extensiones, por la inestimable y brillante contribución al mundo del GNU.
A los fundadores de Juuntos.org por el apoyo y el empuje que me han dado para la redacción de este tutorial.
A mi compañera de vida por el aliento y el aguante.
A La Madre que me asiste, me da luz, me reconforta y hace que me divierta aprendiendo y enseñando.
Los que somos usuarios y desarrolladores de Joomla hemos visto progresivamente la evolución del CMS que pasó de ser un Gestor de Contenidos más, aunque con niveles de excelencia, hacia una plataforma de desarrollo sin parangón y con una difusión a nivel mundial con muy pocos precedentes.
Sin embargo, una cuestión que nos aqueja, nos angustia y nos limita, a nosotros latinoamericanos e hispanoparlantes, es la escasa, dispersa y, en algunos casos, nula documentación en nuestro idioma. Esto constituyó desde sus comienzos una gran barrera de acceso que no solo nos impide crecer entorno a su desarrollo sino que además bloquea la posibilidad de aportar lo nuestro.
Para partir con una base de entendimiento común vamos a explicar a continuación algunos conceptos básicos que giran entorno a Joomla! y que están presentes en la gran mayoría de los nuevos programas para la creación de webs como: Drupal, Wordpress, Nuke y sus variantes, Spip, etc., conocidos con el término genérico de "CMS".
CMS y frameworks
Una primera y escueta definición de CMS sería:
software que nos permite crear y mantener los contenidos de un sitio web de forma estructurada, amena y sencilla independizando su gestión de la presentación física en el navegador.
Antes de adentrarnos del todo en la plataforma en si, vamos a ver cómo está armada la estructura que le da vida a Joomla! y su funcionamiento. Para ello me serviré de lo mismo que hay en el sitio de documentación aunque haré algunas ampliaciones al respecto para que sea mejor entendido, evitaré también lo más que pueda usar términos técnicos.
El CMS Joomla! divide su gran paquete en tres grandes cuerpos, llamados "layers" (capas) que interactúan entre si y que dan como resultado lo que vemos en el navegador.