Joomla! Platform 0: Introducción

Joomla sí, Joomla no

¿Debo usar un CMS para montar una web? ¿O más bien debo programar desde cero? La gran pregunta a la hora de hacer una web. Leo en algunos sitios que no hay que “reinventar la rueda”, que ya tenemos disponibles unos CMS (gestores de contenido), que los ponemos online con un bonito diseño, rellenamos el contenido y ya tenemos lista una web. Pero ¿qué pasa a la larga con esa web si nos piden algo extraño?

Por otro lado podemos empezar desde cero, pero al final llegaremos tarde o temprano a usar herramientas que nos ahorrarán código como por ejemplo para enviar emails, generar PDFs o lo que sea que necesitemos. Al final podemos llegar a reunir tal conjunto de utilidades creando nuestro propio framework. Pudiera ser el caso de que disponemos de mucho tiempo, y llegásemos a desarrollar algunas de éstas utilidades nosotros mismos. Pero al final acabaríamos creando un CMS propio, con lo que estamos en el mismo punto en el que ya está Joomla! entonces pues lanzo la pregunta, ¿porqué no aprender y usar ya Joomla! y la Joomla!Platform?

Joomla y su Platform tienen detrás una gran comunidad que los mantiene. Algo bastante importante a tener en cuenta a la hora de elegir un framework. Casi toda la documentación que vengo encontrando está en inglés, así que manos a la obra me pongo a hacer mi versión en castellano, y la dejo aquí para el que le sea útil.

¿Hacia dónde va la Joomla!Platform?

Desde el 5 de Julio del 2011, el Joomla Framework se ha dividido del proyecto Joomla!, inagurando con su versión 11.1 de manera que ahora se llama Joomla!Platform y da pie a que su futuro no dependa directamente del desarrollo del CMS. Ya no sólo se va a usar para desarrollar el Joomla! Dará soporte al desarrollo del CMS pero también puede proporcionar utilidades que tal vez no se usen directamente en Joomla!.
Básicamente se trata de un conjunto de utilidades o librerías de programación, que podemos usar a la hora de crear un sitio. Se puede desarrollar una web completa, desde cero, pero dando saltos de gigante cada vez que uses las librerías del framework.

Materiales

Como mínimo necesitamos lo siguiente:
  1. Archivo comprimido con el J!Platform. Hacemos click en el botón que pone Download y nos los descargamos donde vayamos a construir nuestro sitio de pruebas.
  2. Un servidor de páginas web: Xampp para varias plataformas o Uniform Server para Windows, portable y sin instalador.
  3. Un entorno de desarrollo, Eclipse, Notepad++, o cualquier otro para PHP o edición de webs.
Supongo que nos manejamos bien con PHP, sabemos usar el editor que tengamos instalado y sabemos lo que es un servidor de páginas web, configurarlo y poner en marcha un sitio local para hacer nuestras pruebas. En un post anterior sobre montar un servidor propio con Joomla! y Uniform Server expliqué todo ésto para Windows, así que me remito a él para más información. Si estás en Linux o Mac, las ideas principales son las mismas, cambiarás el editor y el servidor web pero el J!Platform es el mismo y su uso será igual.

Primera aplicación Hola Mundo

Al descomprimir el fichero del framework veremos que tenemos los siguientes directorio:
  • build/     Contiene información relevante para crear informes de la plataforma, puede haber procesos que guarden datos en éste directorio.
  • docs/     Documentación.
  • libraries/     Todas las libreriras PHP de la plataforma.
  • media/        Archivos que se usan en la parte cliente de la plataforma, es decir, se usan en el navegador del visitante.
  • tests/          Tests unitarios.
…y otros archivos sobre la plataforma.
PHP se puede usar en línea de comandos con la salida estandar o en una web que viene a ser el caso más usual. Me voy a centrar pues en su uso en web.
Entonces creamos un fichero en el directorio principal de nuesta web, habiendo descomprimido el framework en dicho directorio tambien. Una primera aplicación podría ser creando un fichero con extensión .php como el siguiente:

 

<?php

// punto de entrada seguro a la Joomla! Platform
//define('_JEXEC', 1);

require "libraries/import.php";

// la clase que va a implementar el sitio web
class HolaMundo extends JApplicationWeb
{
    protected function doExecute()
    {
        $this->setBody("<!DOCTYPE html>
                                        <html>
                                        <head>
                                        <title>Título de la página</title>
                                        </head>
                                        <body>
                                        <h1>Hola Mundo!</h1>
                                        </body>
                                        </html>");
    }

}

// crea el objeto si no se ha creado antes
$app = JApplicationWeb::getInstance('HolaMundo');

// ejecuta y muestra por la salida la página
$app->execute();

 

Puedes descargar aquí el código. Y usarlo en tu servidor web para ver el funcionamiento. Al ejecutar en el navegador ésta pequeña aplicación debemos ver algo tal que así:

 

Hola Mundo!

Se puede ver que simplemente descomprimiendo el fichero e importando las librerias con el require ya podemos usar J!Platform en nuestra aplicación.

Árbol de clases del Framework

Podemos ver el árbol de clases disponibles de la Joomla! Platform en http://api.joomla.org/classtrees_Joomla-Platform.html
Para hacernos una idea de los tipos de utilidades disponibles podemos ver la organización de éstos en la documentación oficial:

 

 

Tenemos de todo, para enviar emails, manejar bases de datos, manejo de sesiones, las galletas, para manejar ficheros, etcétera… no tenemos más que crear objetos de las clases proporcionadas y a usarlos en nuestras aplicaciones.

Más información

Para más información hay muchas páginas de Internet que hablan de todo ésto, pero recomiendo además de las anteriores:
http://www.joomlaspanish.org/ <- Comunidad de Joomleros de habla castellana.
http://www.joomla.org/ <- La web principal de la comunidad Joomla.
http://joomla.github.io/joomla-platform/ <- Manual de la plataforma en Gihub.
http://docs.joomla.org/Portal:Platform <- Documentación oficial.
http://api.joomla.org/ <- Documentación de las API
Espero que haya dado una buena visión general de la Joomla!Platform.
Saludos!

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

2 ideas sobre “Joomla! Platform 0: Introducción”