¿Qué es Joomla?

Tal es su popularidad y utilidad en la última década que Joomla! es considerado uno de los CMS de código abierto de primer nivel en todo el mundo en este momento. Desde su inicio a partir del CMS de Mambo, en los últimos diez años, ha mejorado tanto que no es de extrañar que ya haya muchos premios en su gatito y que aún sigan contando..

Específicamente, si estás en el campo del desarrollo web, sin importar la tecnología con la que estés tratando, ¡es imposible escapar de la palabra Joomla! Si es así, estoy seguro de que perteneces a otro planeta. Puede parecer un poco abrumador, pero puedo asegurarle que vale la pena verlo si aún no lo ha hecho para su próxima solución de administración de contenido. De hecho, es más que solo un CMS; más adelante en este artículo analizaremos lo que Joomla! es capaz de.

En este artículo, discutiremos a fondo lo que Joomla! es y cómo podría ser útil para sus proyectos basados ​​en web. Comenzando con un vistazo del CMS básico, veremos las características de Joomla! A lo largo del artículo, y en la última sección, les dejo con algunos recursos útiles con referencias..

¿Qué es un CMS??

Un sistema de administración de contenido, conocido como CMS, es un sistema que le permite administrar la información de manera fácil y efectiva. La información puede ser cualquier cosa, ya sea un artículo simple o un sistema de administración de medios complejo. El objetivo de un CMS es proporcionar un flujo de trabajo efectivo que describa el estado claro de una entidad en cualquier momento dado. En términos simples, permite que la información pase a través de diferentes estados como borrador, revisión, edición y publicación..

Específicamente, los usuarios no técnicos que aman tener un sistema de este tipo a su disposición les permiten organizar el contenido fácilmente y hacen que todo el proceso sea alegre en lugar de ajetreado. En cualquier aplicación basada en web, hay tres operaciones básicas, que la mayoría de las veces los administradores se encuentran haciendo, realizadas en cualquier entidad determinada: agregar, editar y eliminar. Y para eso está diseñado un CMS. Ya sea que te permita hacerlo al proporcionar un editor WYSIWYG, una edición en línea o algunos otros complementos, la idea es hacer que todo el proceso sea fácil..

No se trata solo de la organización y la gestión de contenido, sino de lo bueno que es al proporcionar un control de acceso granular a diferentes grupos de usuarios, lo que se considera una de las funciones premium de cualquier CMS. Es obvio que le gustaría dividir las responsabilidades en diferentes roles como autor, editor y editor. La provisión de versiones de contenido también es algo que le gustaría mantener sus ojos puesto que le permite revertir artículos si las cosas no salen como se espera..

En su forma más básica, el flujo de trabajo típico de cualquier CMS podría ser algo como:

  • El autor inicia una conversación creando un artículo, y el estado predeterminado de un artículo es borrador en este punto en el tiempo. Por lo general, se necesitan un par de iteraciones para que un artículo se cambie de borrador a revisión estado.
  • Al Revisor se le otorga permiso para acceder a todos los artículos que tienen el estado establecido revisión. Nuevamente, se requiere un esfuerzo consciente por parte del revisor para revisarlos y enviarlos a los editores si cumplen con ciertas pautas que son una debe para un artículo para cambiar de revisión a edición estado. Por supuesto, el revisor podría enviarlos de vuelta a borrador Estado dejando comentarios apropiados si se espera una mejora del autor.
  • Pasando por todos los artículos en edición El estado y embellecerlos con toques finales es algo que se espera del Editor en su rutina diaria. Además, son responsables de empujar el contenido de edición al publicar cola.
  • Finalmente, es el trabajo del Editor asegurarse de que el contenido que se encuentra en el publicar la cola recibe el tratamiento adecuado programando su publicación en el front-end.

En términos generales, lo que hemos enumerado anteriormente es uno de los más simples hasta ahora.casos de uso efectivos a los que uno podría adherirse. Sin mencionar que en el mundo real, serás testigo de flujos de trabajo más complejos acompañados con funciones avanzadas como etiquetado, intercambio social y comentarios, entre otros..

Entonces, esa es una introducción rápida y con suerte útil de cómo podría ser un sistema CMS. A partir de la siguiente sección, nos centraremos en el tema principal de este artículo, Joomla !, que es algo que prometí explorar a lo largo de este artículo..

Joomla! -Un CMS galardonado

Desde su creación en 2005, Joomla! ha evolucionado a lo largo de los años, y el resultado final es uno de los CMS más potentes y ricos en funciones, descargado por millones de usuarios. Como dicen, ¡es realmente un CMS basado en la comunidad, administrado por y para la comunidad! Para cualquier proyecto de código abierto, como con Joomla !, el apoyo de los miembros de la comunidad es un factor importante en la persistencia y la sostenibilidad del proyecto..

Joomla! está construido utilizando algunas de las tecnologías web más utilizadas, como PHP, MySQL y Apache. Dicho esto, no solo se limita a las tecnologías mencionadas, también es compatible con otras bases de datos y servidores web populares. Si lo prefiere, puede elegir entre SQL Server o PostgreSQL en lugar del motor de base de datos MySQL. Por otro lado, Microsoft IIS y NGINX son candidatos para la elección del servidor web junto con Apache.

Para desarrolladores, Joomla! se construye utilizando el patrón de diseño MVC, un patrón popular que ya se usa en muchos otros marcos. Aunque la discusión del patrón de diseño de MVC está fuera del alcance de este tutorial, proporciona una separación de inquietudes, lo que permite que el desarrollador se concentre más en el desarrollo en lugar de preocuparse por cómo se vería en la interfaz..

No es de extrañar que la última versión importante de Joomla! La capacidad de respuesta es inmediata y móvil primero, ya que hoy en día es imposible ignorar eso, y podría ser costoso para cualquier marco que lo hiciera. A la hora de escribir esto, Joomla! 3.4.x admite la versión PHP 5.5+ pero no PHP 7. Sin embargo, el lanzamiento de la tan esperada versión de Joomla! 3.5 está a la vuelta de la esquina, y afirma ser compatible con PHP 7, lo que supondrá un gran aumento del rendimiento de forma nativa, si se cree en los expertos..

Entonces, si eso fue una descripción general de alto nivel de lo que Joomla! De todo esto, la siguiente lista resalta algunas de las características concretas que has estado esperando, ¡que se envían con Joomla! núcleo mismo.

  • Funciones de administración de contenido listas para usar
  • Organización de contenido utilizando niveles de categorías anidadas.
  • control de contenido y etiquetado
  • administración de medios
  • Gestión de usuarios
  • potente sistema ACL (listas de control de acceso)
  • función de búsqueda inteligente para la búsqueda de texto libre en todo el sitio
  • RSS Feeds
  • características multilingües
  • interfaz receptiva y amigable para dispositivos móviles

Por supuesto, es imposible discutir cada una de las características en detalle en un solo artículo, por lo que para aquellos usuarios curiosos les dejo algunos recursos útiles al final de este artículo..

Joomla! - Más allá del mundo CMS

Estás en el lado equivocado de la mesa si crees que Joomla! solo es útil para la administración de contenido, ya que se sorprenderá al escuchar que hay más de 7,000 extensiones disponibles en el sitio oficial de JED (Directorio de Extensiones de Joomla), que ofrecen características que van desde una solución de galería de imágenes simple hasta una reserva completa y sistema de gestión de reservas. De hecho, existe una gran posibilidad de que la extensión que busca desarrollar por su cuenta ya esté disponible en el JED.!

La arquitectura extensible de Joomla! Facilita el desarrollo de extensiones personalizadas. ¿Estás buscando un sistema que sirva de blog? Tal vez su nueva empresa requiera que construya un nuevo tipo de sistema de YouTube, ¡o está intentando construir el próximo Facebook! El JED proporciona extensiones para cada uno de los requisitos antes mencionados..

¡Echemos un vistazo al lujo que podrías tener si eliges a Joomla! como su solución:

  • un completo sistema de gestión de medios
  • soluciones de comercio electrónico
  • portales con características de la comunidad como compartir en redes sociales, comentar, etiquetar y similares
  • Reservas online y sistemas de reserva.
  • soluciones de clasificados
  • Calendario de eventos y RSVP tipo de sistemas.
  • directorios de negocios
  • sitios web educativos y gubernamentales
  • sistemas de cartera

Eso es solo para nombrar algunos, ya que es muy difícil enumerar todas y cada una de las posibilidades. Como dicen, la limitación es tu imaginación, tan cierta para Joomla.!

Joomla! como un framework web

En el día a día Joomla! desarrollo, hay ocasiones en las que siente que querría extraer una parte determinada del marco, la API de enrutamiento, por ejemplo, en lugar de un montón de funciones de CMS que están obsoletas para ese proyecto en particular. Para una aplicación simple basada en PHP, sería bueno tener aquellas características seleccionadas del marco que sean más adecuadas para su aplicación, en lugar de un CMS completo.

Por ejemplo, digamos que quieres construir un servicio que exponga a Joomla! Datos a una aplicación móvil de terceros. Para lograrlo, está completamente bien hacer una extensión personalizada que cumpla con la funcionalidad deseada, pero con el equipaje adicional de esas características de CMS no deseadas en su caso. En su lugar, lo que le hubiera encantado hacer es seleccionar las API de su necesidad al evitar el resto de las funciones, y el producto final es una aplicación web super-light..

Ese es el propósito de Joomla! Marco, antes conocido como Joomla! Plataforma. Te permite crear una aplicación utilizando un conjunto familiar de API, si vienes de Joomla! Fondo CMS. Proporciona un conjunto común de API, al igual que con otros marcos de trabajo de PHP, lo que le permite concentrarse más en las características específicas de la aplicación en lugar de reinventar la rueda para características como el manejo de entrada, la capa de abstracción de la base de datos, el enrutamiento y similares..

¡De ninguna manera debe confundirse con el Joomla! CMS, ya que hay una línea separada de desarrollo para ambas piezas de software. La idea principal es desacoplar los paquetes de software en módulos separados, en lugar de unirlos en un solo paquete, lo que les permite evolucionar por sí mismos. De hecho, podrías pensar en la Joomla! CMS como una combinación de Joomla! Framework y módulos CMS.

Un ejemplo prometedor de la Joomla! Marco es el Rastreador de problemas Aplicación de la Joomla! CMS en sí. De la misma manera, podría crear cualquier aplicación web con él que habría construido con cualquier otro marco basado en PHP. Descúbrelo y estoy seguro de que hay algo que ofrecer para todos..

Joomla! -Un vistazo rápido a los elementos principales

En esta sección, discutiremos los elementos importantes de Joomla! Arquitectura que sirve como bloques de construcción básicos en cualquier aplicación..

Componentes

Este es uno de los elementos más importantes e imprescindibles de la pila que proporciona la funcionalidad completa de cualquier sección específica. Le permite crear una base que se ocupa de la lógica empresarial de una aplicación. Además, es uno de los elementos que se extiende a Joomla! Si desea introducir alguna característica nueva.

Por ejemplo, si desea compilar una aplicación de directorio de negocios, debería poder agregar, editar y eliminar las entradas desde el back-end. Por otro lado, en la parte frontal debería mostrar una buena lista junto con las funciones de búsqueda avanzada, buscapersonas y clasificación. Entonces, es el componente que le gustaría compilar para envolver la funcionalidad antes mencionada..

Como regla general, cuando quiera crear una nueva funcionalidad en Joomla !, es el componente que viene al rescate.

Módulos

Antes de seguir adelante y explicar lo que es un módulo en Joomla, me gustaría darles un par de ejemplos para facilitar las cosas. Si alguna vez has visitado Joomla! front-end, verás muchos bloques como Inicio de sesión, Últimos artículos, Últimos feeds, etc. Para tu sorpresa, ¡son Joomla! Módulos asignados a diferentes posiciones en la plantilla! A Joomla! el módulo es un bloque móvil que construye la salida al obtener los datos del componente, la mayoría de las veces, y muestra la salida.

Complementos

La mayoría de las veces, deberá cambiar el comportamiento del marco central para satisfacer sus necesidades personalizadas, y ahí es donde los complementos entran en escena. A Joomla! El complemento le permite capturar ciertos eventos definidos por el sistema, abriendo la puerta para la personalización de algunos de los flujos de trabajo importantes.

Como ejemplo, supongamos que desea notificar a una aplicación de terceros en caso de que un nuevo usuario se registre en su sitio web. Por supuesto, hay una disposición para alterar los datos que transitan entre las llamadas de evento.

Plantillas

Como su nombre lo indica, trata con la capa de presentación de su sitio web y ayuda a estructurar el diseño de su sitio web. A veces, también se le conoce como Joomla! tema, ya que le permite cambiar la apariencia de su sitio web. Para cambiar el aspecto predeterminado de la Joomla! ¡Necesitas crear un tema personalizado de acuerdo con Joomla! la estructura del tema, y ​​eso es algo que encontrarás con frecuencia si eres un Joomla! desarrollador.

Sin mencionar que la última versión de Joomla! viene con un tema sensible en el front-end y back-end. Además, también es algo que esperan los diseñadores de temas durante el desarrollo del tema personalizado..

¡Qué es la Joomla! Directorio de Extensiones (JED)?

El JED es algo con lo que debería familiarizarse, ya que probablemente pasará bastante tiempo allí buscando una extensión para su propósito. ¡Es un oficial de Joomla! sitio que ofrece muchas extensiones para elegir en forma de componentes, módulos y complementos.

Las extensiones en JED se publican bajo dos tipos de licencia y comercial. Como puede haber adivinado, las extensiones comerciales son artículos pagados, disponibles ya sea en un modelo de suscripción o mediante el pago de una tarifa única. Como desarrollador, es un área en la que le gustaría obtener beneficios, desarrollando extensiones de calidad y liberándolas bajo una licencia comercial..

De hecho, la mayoría de las veces funciona de esta manera: la versión gratuita de una extensión está disponible con características básicas, y la versión de pago de la misma extensión se complementa con funciones de poder, en forma de complementos en algunos casos. Sin mencionar que el lujo del soporte técnico del proveedor de servicios de extensión viene con la versión comercial. Por lo tanto, es un modelo de negocio exitoso y probado para muchos proveedores de extensiones comerciales.

Dicho esto, no quitaré ningún crédito de esas extensiones gratuitas de calidad que sirven para este propósito, así como de cualquier extensión pagada. De hecho, es un conjunto de normas y reglas estrictas por las que debe pasar cada extensión que garantiza que las extensiones enumeradas en JED cumplan con los estándares de calidad deseados..

Así que, ese es el JED a tu disposición: siéntete cómodo con él y te alegrarás de haberlo hecho..

Donde debería empezar?

Para usuarios primerizos, siempre se recomienda instalar Joomla! en su sistema local y explore las características en el front-end y back-end para familiarizarse con el sistema. Aquí hay algunos recursos importantes para los novatos:

  • Guia de principiantes a joomla!
  • Empezando con Joomla!
  • Joomla! para los administradores
  • Joomla! Como a

Para desarrolladores de PHP con experiencia:

  • ¡Configura tu Joomla! Puesto de trabajo
  • Joomla! para desarrolladores
  • Joomla! Mejores prácticas

Es un tema tan amplio que encontrará muchos tutoriales y videos en línea a su disposición. Además, los miembros de Joomla! El foro de la comunidad es lo suficientemente amigable como para ayudarte a resolver cualquier problema..

Conclusión

Me complació presentar uno de los CMS de código abierto más populares en el campo del desarrollo web: ¡Joomla! ¡Aunque apenas hemos arañado la superficie de la Joomla! Mundo, espero poder hacer justicia al tema..

Comenzando con una introducción a los CMS, hemos pasado por los diferentes aspectos de Joomla !, seguido de una discusión de elementos arquitectónicos importantes. También examinamos el JED y proporcioné algunos recursos útiles en la parte posterior de este artículo..

No dude en ver lo que tenemos disponible para la venta y para estudiar en el mercado, y no dude en hacer cualquier consulta y proporcionar sus valiosos comentarios utilizando el siguiente feed.