Debilidades
- Mala documentación del código.
- Curiosa implementación de HTML5.
-
Vulnerabilidades.
- Complejo para el usuario.
Debilidades
Mala documentación de código
Aunque es una tarea odiada por los programadores, cualquier proyecto de software libre que se precie debe tener una buena y extensa documentación de código.
Sólo es necesario comparar el código con WP o Drupal, para que las diferencias se hagan evidentes. En un CMS con los premios que tiene Joomla! a su espalda es, simplemente, inadmisible.
Debilidades
Curiosa implementación de HTML5
En su versión 3, Joomla! incluye los templates en HTML5.
A la hora de implementar el HTML5, no sigue el mismo criterio
en los tres templates que vienen por defecto (beez3, protostar, system).
El template protostar directamente no utiliza HTML5 (aunque pase el validador) y utiliza hacks de CSS (práctica nada recomendable).
Debilidades
Vulnerabilidades
Como es habitual en los CMS, Joomla! no está libre de vulnerabilidades, aunque en contraste con otros CMS
más populares, acutalmente su númeor de vulnerabilidades
es reducido.
Sin embargo, algunas de las opciones de Joomla! tiene (como almacenar los datos del FTP) son claramente inseguras y la necesidad de que estén o no son, cuanto menos cuestionables.
Debilidades
Complejo para el usuario
La administración y gestión de Joomla! es, de entrada, altamente compleja.
No es una administración intuitiva, todo lo contrario. Las primeras horas e incluso días son cruciales ya que las tareas más básicas, al principio, conllevan una inversión de tiempo elevada, ya sea probando o buscando por Google la solución.
Las extensiones
En Joomla!, todo lo que instales son extensiones.
Estas extensiones se agrupan en grandes bloques:
-
Componentes
- Lenguajes
-
Módulos
-
Plantillas
- Plugins
Las extensiones
Componentes
Joomla! denomina componente a aquella extensión que tiene por finalidad "presentar el contenido principal de la página". Son funcionalidades completas que presentan una solución global como:
-
Contactos
-
Noticias Externas
-
Banners
-
Encuestas
Esto puede ser confuso ya que componente es, básicamente, lo que en otros CMS se denomina módulo.
Las extensiones
Lenguajes
Joomla! es multi-idioma y multi-lenguaje gracias a este tipo de extensión, que permite empaquetar los lenguajes como paquetes de lenguaje o paquetes de extensión de lenguaje.
Esto permite internacionalizar tanto el núcleo de Joomla! como los componentes y módulos de terceros.
Las extensiones
Módulos
De forma muy básica, un módulo es una extensión ligera destinada a presentar contenido. O sea, sería algo parecido a los Widgets en WordPress o a los bloques en otros CMS ya que suelen destinarste a mostrar información "secundaria" en bloques.
Las extensiones
Plantillas
Estas extensiones son las que se encargan de implementar
la apariencia gráfica en Joomla!
Las extensiones
Plugins
Esta extensión fue una auténtica revolución en su momento.
Un plugin es una porción de código que se ejecuta cuando
tiene lugar un evento predefinido en Joomla!
Es muy habitual que a la hora de agregar contenido existan "tags" destinados a activar o desactivar un determinado plugin, de forma que uno pueda indicar dónde se ha de ejecutar un plugin y dónde no.
Un paseo por Sistema
Nada más conectarnos a la administración veremos nuestro Panel Principal, donde tendremos un resumen de nuestro sitio web.
Veremos una serie de accesos rápidos para gestionar nuestro sitio web y un menú secundario para adentrarnos en las opciones de sistema:
-
Configuración Global
-
Información del sistema
-
Vaciar la caché
-
Global check-in
-
Instalar Extensiones
Un paseo por Sistema
Configuración Global
La configuración global se agrupa en diferentes pestañas según la afinidad de su contenido.
-
Sitio
-
Sistema
-
Servidor
-
Permisos
-
Filtro de textos
Un paseo por Sistema
Configuración Global
Sitio
En este apartado tenemos las opciones de configuración relacionadas con el sitio web de forma general, entre otras:
- Nombre del sitio.
- El editor WYSIWYG a utilizar.
- Elementos a mostrar por página.
- Configuración SEO
- Metadatos
Un paseo por Sistema
Configuración Global
Sistema
En este apartado tenemos las opciones de configuración relacionadas con el funcionamiento "a bajo nivel" del sitio web.
- Ubicación de los logs de Joomla!
- Activación del sistema de caché.
- Activación del modo de depuración (debug).
- Configuración de sesión
Un paseo por Sistema
Configuración Global
Servidor
En este apartado tenemos las opciones de configuración destinadas a comunicar nuestro Joomla! son los servicios que necesita apra funcionar correctamente.
- Ruta del directorio temporal
- Configuración FTP (no configurar)
- Configuración de la base de datos.
- Configuración E-mail (si se va a usar un servicio de correo remoto como gmail a través de PHP Mail o SMTP es recomendable utilizar una dirección exclusiva para ello).
Un paseo por Sistema
Configuración Global
Permisos
Común tanto para la configuración global como para los diferentes componentes instalados en nuestro Joomla!, desde aquí se puede controlar el nivel de acceso a las diferentes opciones en base al sistema de grupos de usuarios.
Esta opción es la que permite establecer contenido y acciones diferenciadas según el tipo de usuario conectado.
Un paseo por Sistema
Configuración Global
Información del sistema
Este apartado nos muestra datos interesantes de nuestro espacio web y, sobre todo, el estado de los permisos de los directorios de nuestro Joomla! Desde aquí podremos ver en qué directorios no podrá escribir nuestro Joomla!, algo especialmente importante para la subida de archivos (imágenes, videos, etc) y para la instalación de las diferentes extensiones.
Un paseo por Componentes
Los componentes son un tipo de extensiones de Joomla! Como, por así decirlo, un componente agrupa un tipo de contenido en Joomla! (como serían los artículos) suelen tener su propia zona para configurar y para gestionar el contenido vinculado con el componente.
Por defecto, tras instalar nuestro Joomla! tenemos varios componentes activados:
Actualización / Anuncios / Buscar / Búsqueda inteligente /
Canales electrónicos / Contactos / Enlaces web / Mensajería /
Redirección
Un paseo por Componentes
Actualización de Joomla!
Este componente nos informa si tenemos nuevas actualizaciones disponibles de Joomla.
En sus opciones podemos establecer el servidor de actualizaciones a utilizar para realizar las comprobaciones:
-
Versión con soporte de larga duración
-
Versión con soporte de corta duración
-
Versión en desarrollo
-
Servidor ajeno a Joomla!
Un paseo por Componentes
Anuncios
Es habitual, en los sitios web con relativo tráfico, la existencia de publicidad a modo de banners. Joomla! incorpora un sistema de gestión de anuncios para cubrir esta necesidad.
- Permite categorizar los anuncios.
- Permite vincular los anuncios con clientes.
- Los anuncios creados pueden guardar estadísticas de clics e impresiones.
Para visualizar los banners en el sitio web, se utilizará el módulo de anuncios incluido en Joomla!
Un paseo por Componentes
Buscar
Joomla! posee un buscador interno y gracias a la configuración de este componente se puede guardar un registro de las búsquedas para poder ser consultado desde la administración.
Habitualmente este tipo de opciones consumen gran espacio en la base de datos, por lo que salvo necesidades concretas se recomienda no activar el registro de búsquedas.
Un paseo por Componentes
Buscar
Joomla! posee un buscador interno y gracias a la configuración de este componente se puede guardar un registro de las búsquedas para poder ser consultado desde la administración.
Habitualmente este tipo de opciones consumen gran espacio en la base de datos, por lo que salvo necesidades concretas se recomienda no activar el registro de búsquedas.
Un paseo por Componentes
Canales electrónicos
Siguiendo la ya habitual clasificación del contenido por categorías, Joomla! nos permite incorporar direcciones RSS para transformar nuestro Joomla! (o parte de él) en un lector de feeds.
Enlaces web
Las habituales secciones que actúan como recopilaciones de enlaces web también son posibles, por defecto, en Joomla! Como no, organizado con un sistema de categorías.
Un paseo por Componentes
Mensajería
Un sistema de mensajes privados, muy habitual en los foros web. A día de hoy se ha visto substituidos por "chats individuales" en tiempo real.
Redirección
Componente muy interesante que permite crear redirecciones web. Es muy útil cuando se realizan cambios en los alias o cuando se quiere migrar parte del contenido de tu sitio web a otras secciones evitando que los motores de búsqueda se encuentren con un error404 al acceder a las direcciones indexadas.
Joomla! y el multi-idioma
Una de las mayores barreras que se encuentra un administrador nobel en Joomla! es la activación y uso del multi-idioma.
Por defecto el multi-idioma viene desactivado. Vamos a detenernos en el proceso para activar y trabajar con el multi-idioma ya que no es un proceso sencillo ni intuitivo.
Joomla! y el multi-idioma
Activando los módulos
Ruta: Extensiones => Gestor de módulos => Administrador
Publicamos el módulo Multilanguage status.
Activando los plugins
Ruta: Extensiones => Gestor de plugins
Publicamos "Sistema - Filtrar idiomas"
Publicamos "Sistema - Código del idioma"
Joomla! y el multi-idioma
Activando los plugins
Ruta: Extensiones => Gestor de plugins
Publicamos "Sistema - Filtrar idiomas"
Publicamos "Sistema - Código del idioma"
En la configuración de "Filtrar idiomas", dentro de opciones básicas activamos la "Asociación de elementos".
Joomla! y el multi-idioma
Estado tras la activación
Tras activar los módulos y plugins multi-idioma podemos detectar una nueva opción a la hora de gestionar nuestros artículos:
Asociaciones
Gracias a las asociaciones, podemos crear un artículo en español y vincularlo (manualmente) con otro en inglés indicando así que ambos son el mismo artículo sólo que en diferentes idiomas.
Sin embargo, aún no tenemos nuestro sitio en multi-idioma.
Joomla! y el multi-idioma
Creando el módulo selector de idioma
Accedemos a Extensiones => Gestor de módulos => Sitio
Si no tenemos dentro de los módulos disponibles el selector de idioma, tenemos que crearlo. Uno de los puntos más interesantes de joomla es que los módulos se pueden crear.
Cuando se instala una extensión de tipo módulo, realmente se está permitiendo crear módulos de esa extensión, lo que viene a significar que podemos tener varios módulos que muestren la misma información. Esto es muy útil para tener la misma información en diferentes áreas de la web según la página cargada.
Joomla! y el multi-idioma
Creando el módulo selector de idioma
Tras clicar en nuevo, nos sale el listado de tipos de módulos que tenemos disponibles para su uso, aparecerán tanto los módulos por defecto de Joomla! como los incorporados en las diferentes instalaciones de extensiones.
Buscamos el "Selector de idioma" y clicamos en su título. Veremos la pantalla de configuración del módulo que, como viene siendo habitual en Joomla!, viene cargadita de opciones.
Joomla! y el multi-idioma
Creando el módulo selector de idioma
Detalles
- Título: Campo obligatorio, el nombre de nuestro módulo.
- Mostrar el título: Nos permite ocultar el título cuando se muestre en nuestro sitio.
- Posición: La posición que va a ocupar este módulo en nuestro sitio web. Como vamos a colocarlo en la parte superior derecha y nuestra plantilla es el Protostar, buscamos la opción "Buscar [position-0] dentro del grupo de Protostar.
- Estado: Como siempre, podemos tenerlo publicado, sin publicar o enviado a nuestra papelera.
Joomla! y el multi-idioma
Creando el módulo selector de idioma
Detalles
- Acceso: Nivel de acceso del usuario para poder ver este módulo.
- Inicio de publicación: Podemos crear el módulo y decidir que empiece a mostrarse en el sitio en cualquier momento futuro.
- Finalización de la publicación: Si nuestro módulo fuese temporal, como podría ser un área promocionando una feria, podríamos indicar que al día siguiente de que finalice dicha feria, nuestro módulo de despublique.
- Idioma: Podemos indicar si este módulo debe mostrarse para todos los idiomas o si sólo ha de visualizarse cuando la página sea de un idioma concreto.
Joomla! y el multi-idioma
Creando el módulo selector de idioma
Opciones
- Texto inicial: Como su valor indica, permite colocar texto en el módulo antes de su contenido.
- Texto final: Como el inicial, pero al final.
-
Usar lista de selección: Nos generará una lista de los idiomas disponibles, no podríamos personalizar su visionado.
- Usar la imagen de banderas.
- Mostrar horizontalmente.
- Idioma activo.
- Nombres completos del idioma.
Joomla! y el multi-idioma
Creando el módulo selector de idioma
Opciones Avanzadas
- Presentación alternativa: Algunos módulos (especialmente los de listados) tienen diferentes vistas para mostrar el contenido, aquí se podría seleccionar la deseada.
- Clase CSS del módulo: Gracias a este campo, podremos tener nuestro módulo bajo una clase de CSS única (o compartida) pudiendo así personalizar la vista de un solo módulo o de un grupo de módulos concreto a través del CSS.
Joomla! y el multi-idioma
Creando el módulo selector de idioma
Asignación del módulo
En las opciones hemos podido decidir en qué zona del sitio se mostrará nuestro módulo. Esta opción obtiene mucha potencia combinada con la asignación del módulo.
La asignación del módulo nos permite decidir si ha de verse en todas las páginas, ninguna, sólo en unas cuantas o en todas exceptuando las que se especifiquen.
Joomla! y el multi-idioma
¿Hemos terminado?
Podríamos pensar que por fin ya está todo listo para tener funcionando nuestro multi-idioma, pero no es así.
Si acudimos a nuestro sitio web, veremos que no aparece el selector de idioma por ninguna parte, aunque tengamos todo activado, incluso el selector de idioma!
Y es aquí donde encontramos uno de las principales barreras que se encuentran los usuarios cuando les toca gestionar su primer Joomla!
Joomla! y el multi-idioma
El menú
Realmente es en menús dónde creamos nuestras secciones públicas.
Sí, el menú es la clave. Si entramos en Menús, vemos que tenemos un main menú que Joomla! nos creó por defecto. Como hemos visto, es en el menú dónde definimos realmente el contenido que se va a ver en nuestro sitio web.
Joomla! y el multi-idioma
El menú
Podemos tener infinidad de menús secundarios que estén repletos de elementos que sean redirecciones de otros elementos de menú o incluso contenido propio, pero hay un mínimo necesario.
Como la web va a estar en español e inglés, necesitaremos un menú dedicado exclusivamente a cada idioma. Sin esto, no veremos las tan preciadas banderitas para el cambio de idioma.
Así pues, vamos a aprovechar el menú creado para que sea nuesto menú en español.
Joomla! y el multi-idioma
El menú
Accedemos a Menús => Main Menu y editamos la entrada "Home" para configurarlo correctamente.
Tenemos que entender que cada elemento de un menú es una pantalla de nuestro sitio web, por lo que tanto al crear como al editar un elemento del menú estamos determinando qué contenido se mostrará en la URL asociada (alias) al elemento de menú en cuestión.
Joomla! y el multi-idioma
El menú
Detalles
- Tipo de elemento del menú: Aquí establecemos qué tipo de página será este elemento. Vemos una serie de opciones agrupadas por, a grosso modo, componentes, en nuestro caso, por ahora, tenemos mostrar todos los artículos destacados.
- Título de elemento del menú: Cómo se llamará nuestro elemento de menú.
- Alias: El alias para su URL.
- Idioma: ¿En qué idioma mostraremos la información? Spanish
Joomla! y el multi-idioma
El menú
Opciones avanzadas
En las opciones avanzadas tendremos la posibilidad de sobreescribr prácticamente toda la configuración tanto del elemento del menú como del contenido que se va a visualizar.
En esta pantalla, además de personalizar, según el componente seleccionado también se tendrán valores de configuración necesarios para determinar qué contenido mostrar (no sólo el cómo).
Joomla! y el multi-idioma
El menú
Asociaciones
Por ahora no tenemos con qué asociar nuestra home, pero aquí se podrá vincular una pantalla con sus correspondientes en los demás idiomas, de forma que al cambiar de un idioma a otro en nuestro sitio web, nos lleve a la versión de nuestra pantalla, pero en el idioma seleccionado.
Joomla! y el multi-idioma
El menú
Asignación de módulos para este elemento del menú
Cuando creamos un módulo podemos escoger en qué lugar de nuestro sitio web se va a mostrar, pero como casi todo en Joomla! no es el único lugar dónde se puede llevar a cabo esta acción.
Cuando editemos/agreguemos un elemento de menú podremos acceder al listado de módulos existentes y modificar las opciones de visualización de cada módulo clicando simplemente en su nombre.
Joomla! y el multi-idioma
El menú
Bien, ya tenemos todo así que guardamos y...
Se ha producido un fallo al guardar con el siguiente error: El parámetro del idioma para este elemento del menú debe estar asignado en 'Todos'. Siempre y cuando que el sitio esté configurado para funcionar con múltiples idiomas, por lo menos un elemento del menú predeterminado debe tener asignado en 'Todos' el campo del idioma.
Joomla! y el multi-idioma
El menú
¿Al menos un elemento del menú debe estar asignado a todos los idiomas?
Bueno, para evitar confusiones cuando nuestro sitio web crezca en estructura y contenido, vamos a crear un nuevo menú para el español que, por ahora, tenga una home al igual que el existente.
Una vez creado hacemos lo mismo con el inglés, esta vez asociando nuestra home inglesa con la española.
Joomla! y el multi-idioma
El menú
Con nuestros dos menús de idioma creados, si vamos a nuestro sitio web veremos que ya tenemos las banderas de idioma!
Pero nos falta un detalle. Si acudimos a Menús => Gestor de menús, veremos que en el listado tenemos para nuestros nuevos menús lo siguiente:
Añadir un módulo para este tipo de menú
Joomla! y el multi-idioma
El menú
Añadir un módulo para este tipo de menú
Necesitamos tener un módulo creado que muestre los elementos de nuestro menú, para que el contenido de nuestro sitio web sea navegable. Así pues, tendremos que clicar en el texto para cada uno de nuestros menús de idioma.
Lo crearemos con las siguientes características
Joomla! y el multi-idioma
El menú
Añadir un módulo para este tipo de menú
- Título oculto
- Posición Protostar / Navegación [position-1]
- Estado publicado
- Sólo para el idioma del menú
- Mostrar elementos del menú: Sí.
Una vez terminemos, desactivaremos el módulo "Main Menu"
Joomla! y el multi-idioma
El menú
Ahora sí que, por fin, tenemos nuestro sitio web multi-idioma y configurado para que la navegación sea como debe ser.
Todo super-sencillo y muy intuitivo ¿verdad?
Bueno, Joomla! nos proporciona un grado de personalización a través de la administración que nuestro WordPress no puede igualar, de hecho ni siquiera se acerca. Sin embargo, tanta opción y tanta posibilidad ha terminando generando una administración difícil de gestionar, no como en WP donde todo es prácticamente "Plug'n'Play"
Las extensiones
Ya conocemos los diferentes tipos de extensiones y desde dónde las podemos instalar en nuestro backend. Lo que aún no conocemos es dónde las vamos a encontrar.
En WordPress vimos que todo estaba integrado en la administración, pudiendo buscar nuestros plugins y widgets sin salir de nuestro sitio web, mostrando la misma información que vemos en el sitio oficial de WP.
Esto, en Joomla! no existe. Tenemos que ir a buscar nuestras extensiones a la red y luego utilizar una de las opciones que nuestro backend ofrece para instalarlas.
Las extensiones
Joomla! tiene el sitio web
http://extensions.joomla.org/ dónde podemos encontrar las extensiones que la comunidad ha aportado para "extender" la funcionalidad de Joomla!
Este sistema es muy habitual, Drupal también agrupa sus módulos en su sitio web y nosotros debemos descargarlos y subirlos al espacio web para poder activarlos desde la administración (aunque se está avanzando hacia un sistema de instalación más cercano al de WordPress)
Las extensiones
Joomla! ha intentado mantener un sistema de clasificación complejo para que el acceso a las extensiones sea sencillo, de hecho su búsqueda avanzada es muy interesante. Sin embargo, la sensación de mercadillo o de bazar chino es algo bastante latente.
Cada extensión tiene asignada una serie de imágenes según su compatibilidad (Joomla! 2.5 o 3.x) y según su contenido, ya que una extensión puede llevar uno o varios tipos de extensiones.
Las extensiones
Hay dos grandes características nefastas del directorio de extensiones que Joomla! nos proporciona.
- Las descargas no están en los servidores de Joomla!
- Incluye tanto extensiones gratuitas como extensiones de pago.
Las extensiones
Las descargas no están en los servidores de Joomla!
Tanto WordPress como Drupal, nos ofrecen un repositorio real de extensiones (plugins, módulos, themes...) de forma que nos descargamos los complementos de sus propios servidores, incluso en el caso de Drupal cada complemento tiene su propia zona de documentación, gestión de bugs, etc.
En Joomla! no es así, los que nos ofrecen es un directorio de extensiones, pero a la hora de descargar una extensión, nos va a llevar a una URL ajena a Joomla! desde donde descargaremos la extensión.
Las extensiones
Las descargas no están en los servidores de Joomla!
¿Por qué es malo? Sólo un par de apuntes:
- La descarga no suele ser directa y, o bien tenemos que dar muchas vuelvas para conseguirla o bien nos piden un registro previo.
- Para subir la extensión a nuestro Joomla! tiene que ser un ZIP con una estructura concreta, pero nos encontraremos que descargamos la extensión y tenemos que descomprimirla en local porque lo que necesitamos subir está dentro del zip descargado.
Las extensiones
Incluye tanto extensiones gratuitas como extensiones de pago
Todo lo que descargamos desde WordPress o desde Drupal es gratuito, puede ser que descarguemos un complemento que se conecta con un servicio externo de pago, pero la descarga en sí es gratuita. Esto no pasa con el directorio de extensiones de Joomla!
Nos vamos a encontrar que un gran número de extensiones interesantes son de pago, lo cual puede llegar a ser frustrante. Como mínimo tendría que poder filtrarse claramente el contenido de pago.