Estructura y Funciones de un portal joomla

Actualmente la versión 1.5.X de Joomla! se estructura en un sistema de 3 niveles:

El el primer nivel ubicamos la capa de las extensiones (Extension Layer) que se compone de Módulos, Componentes y Templates.

En el segundo nivel tenemos la capa de las Aplicaciones (Application layer) que está compuesta por aplicaciones que amplifican el Framework de la clase ***JApplication***. Actualmente contiene:

  • JInstallation: que es la responsable de instalar Joomla en el servidor web, aplicación que debe ser eliminada una vez que se concluye el proceso de instalación.
  • JAdministrator: que es responsable de administrar el BackEnd del sistema.
  • JSite: responsable de administrar el FrontEnd del sistema.
  • XML-RPC: que soporta la administración remota del sitio web Joomla!

En el tercer nivel, tenemos la capa del Framework propiamente tal, en donde encontramos:

  • El ***Framework*** de Joomla! en sí, con sus respectivas clases.
  • Las ***Librerías*** que son requeridas por el Framework o son instaladas por terceros (extensiones externas) para atender requerimientos de éstas.
  • Los ***Plugins*** (o plugines) que son los encargados de extender las funcionalidades del Framework.

 

 

Modelo Vista Controlador (MVC) de Joomla

La Arquitectura Model-View-Controller (Modelo Vista Controlador - MVC) es un patrón solicitado por Joomla a los desarrolladores de extensiones y a sus propios desarrolladores, como una manera de estandarizar la estructura de los componentes, módulos, plugines, etc. en tres dimensiones, separando:  los datos de una aplicación (modelo), la interfaz de usuario (vista) y la lógica de control (controlador).   De esta manera se tiene una arquitectura de software ordenada y limpia, que nos permite entender el código más rápidamente, crear extensiones con mucha facilidad, así como intervenir el código sin mayores complicaciones. 

El Patrón MVC opera separando

 

  • Controlador: el controlador es el punto de entrada de la aplicación, se mantiene a la escucha de todas las peticiones, ejecuta la lógica de la aplicación, y muestra la vista apropiada para cada caso.
  •  Modelo: el modelo contiene todo el código relacionado con el acceso a datos. Es importante que sea un código lo más genérico posible y se pueda reutilizar. Nunca incluiremos lógica en el modelo, solamente consultas a la base de datos y validaciones de entrada de datos. 
  • Vista: la vista contiene el código que representará lo que nosotros veremos por pantalla, en este caso se trata de código html.

 

Patrón MVC aplicado a un módulo:

 

Controlador mod_modulo.pho recibe la consulta, ejecuta la clase modelo y pasa el resultado al template
Modelo: encargado de acceder a los datos
Vista (Template): encargado de mostrar los datos

 

Funcionalidad CRUD

CRUD: Create (Crear), Read (Leer), Update (Actualizar), Delete (Borrar)

Funcionalidad que permite realizar automátizadamente cuatro operaciones básicas sobre una tabla de la base de datos MySQL: Crear, Leer, Actualizar y Borrar. Es una característica que posee Joomla! 1.5

 

 

.

.