Presentacion Joomla Phpconference Barcelona 2009

58
Jordi Catà Castillo - [email protected] D-Unlock Ingeniería Web - www.dunlock.com PHP Barcelona Conference 2009 Gestor de Contenidos Web Joomla

description

taller de joomla en las phpconference Barcelona 2009

Transcript of Presentacion Joomla Phpconference Barcelona 2009

Page 1: Presentacion Joomla Phpconference Barcelona 2009

Jordi Catà Castillo - [email protected] Ingeniería Web - www.dunlock.com

PHP Barcelona Conference 2009

Gestor de Contenidos Web Joomla

Page 2: Presentacion Joomla Phpconference Barcelona 2009

¿ De qué hablaremos ?

●¿Qué es Joomla?●¿Qué podemos hacer con Joomla?●Funcionalidades●Instalación y configuración: lenguage, plantillas●Gestión de Contenidos, menús●Gestión de usuarios●Instalación y uso de extensiones comunes

● Documentos● Imágenes● Foro

●Joomla como Framework: introducción

Joomla: CMS

PHP Barcelona Conference 2009

Page 3: Presentacion Joomla Phpconference Barcelona 2009

-La web puede crecer, podemos añadir nuevas opciones, por ejemplo: +idiomas, usuarios, foros, etc.

-Podéis gestionar la información de vuestra web

-Tecnología multiplataforma: Linux, Windows, Mac

-Cumple estándares de accesiblidad, usabilidad

Cosas a tener en cuenta para una web

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

PHP Barcelona Conference 2009

Joomla: CMS

Page 4: Presentacion Joomla Phpconference Barcelona 2009

Es un sistema gestor de contenidos dinámicos (CMS) que permite crear sitios web de elevada interactividad, profesionalidad y eficiencia.

Administrar fácilmente una web, desde añadir contenido y imágenes hasta actualitzar un catálogo de productos o gestionar reservas online.

¿ Qué es Joomla ?

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

PHP Barcelona Conference 2009

Joomla: CMS

Page 5: Presentacion Joomla Phpconference Barcelona 2009

Solución de Gestión de Contenidos Web que permite construir Webs y aplicaciones online.

Para usuarios

Permite gestionar toda la información como textos, fotos, documentos, etc de una web de forma sencilla

Para desarrolladores

Framework de desarrollo

¿ Qué es Joomla ?

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

PHP Barcelona Conference 2009

Joomla: CMS

Page 6: Presentacion Joomla Phpconference Barcelona 2009

-Multiidioma, Localización en más de 75 lenguas

-Software Libre: libertades del software

-Gran comunidad de desarrolladores-200.000 personas en todo el mundo-> Joomla evoluciona muy y muy rápido,

constantmente se están haciendo mejoras, corrigiendo errores, problemas de seguridad, etc.

Sobre Joomla: ¿ Por qué es interesante ?

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 7: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Premios

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 8: Presentacion Joomla Phpconference Barcelona 2009

Què és Joomla ?Què és Joomla ?Joomla ? En números...

- > 15 millones de descárgas >= 2005- 5 TB de tráfico/mes en los sites principales )- > 140.000 usuari0s registrados en el foro- 42 subforos internacionales- 9500 desarrolladores- 3000 extensiones

Alexa Ranking -> top 750 de totes las webs mundiales

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: CMS

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Page 9: Presentacion Joomla Phpconference Barcelona 2009

Con el Joomla! podemos crear desde sitios web personales hasta sitios corporativos. Algunas de las cosas para las que se puede utilizar el Joomla! son:

-Web Presenciales -Web Corporativas-Reservas Online -Diarios online, publicaciones-Portales comunitarios -Web de Organitzaciones no lucrativas-Web de Escuelas -Web Personales-Web de Turismo -Redes Sociales-Intranets -Extranets

Sobre Joomla: Lo que podemos hacer

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 10: Presentacion Joomla Phpconference Barcelona 2009

Ejemplos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: CMS

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Page 11: Presentacion Joomla Phpconference Barcelona 2009

-Gestor de usuarios -Gestores de Documentos-Galeria de Imágenes -Foros y chats-Tienda Virtual -Boletines de noticias-Calendarios -Generadores de Formularios Dinámicos-Blogs -Subscripciones-Baners -Comentarios/valoraciones de noticias-Multitud de diseños -Directorios de Empresas o

Organizaciones

...y mucho más

más de 3000 extensiones ...

Sobre Joomla: algunas funcionalidades

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 12: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Instalación

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Requisitos de Joomla:

PHPMysqlApache

La forma fácil de empezar es instalar

Windows XAMPP

Linux urpmi apache mysql php5 o bienapt-get apache mysql php5

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 13: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Instalación

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Descargar la última versión de Joomla: actual 1.5.14

http://joomlaspanish.org http://joomla.org

Descomprimimos el paquete a /var/www/hmtl/joomla1.5.14

Accedemos con un navegador al directorio:

http://localhost/joomla1.5.14

-> se ejecuta el instalador de Joomla

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 14: Presentacion Joomla Phpconference Barcelona 2009

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: CMS

Sobre Joomla: Instalación

Page 15: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Panel de administración

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Frontend Backend

Page 16: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Funcionalidades Básicas

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Veremos:

-Gestión de idiomas-Gestión de plantillas-Gestión de Contenido, secciones, categorías, textos, imágenes, -Gestión de Menús-Gestión de Contactos-Gestor de usuarios

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 17: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Plantillas

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Separación del contenido del diseño

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Contenido

Page 18: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Plantillas

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Instalación de una plantilla

Instalación y configuración de idiomas

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 19: Presentacion Joomla Phpconference Barcelona 2009

Componentes, Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Joomla se divide en una serie de funcionalidades:

-Componentes: se encargan de mostrar información referente al apartado dónde nos encontramos de la web.

-Módulos: “cajas” para mostrar información en la web

-Plugins: para ampliar el buscador, editores, etc

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 20: Presentacion Joomla Phpconference Barcelona 2009

Componentes, Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

COMPONENTE

Módulos

Page 21: Presentacion Joomla Phpconference Barcelona 2009

Componentes, Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Los mòdulos se pueden colocar en diferents posiciones

Page 22: Presentacion Joomla Phpconference Barcelona 2009

Instalación de componentes

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Ejemplo de instalación componentes y módulos

JoomFish : multiidioma

Jevents: Calendario de Eventos

Rokdownload: Documentos

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 23: Presentacion Joomla Phpconference Barcelona 2009

-Calendarios: gestionar categorías y eventos

Sobre Joomla: Calendarios

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 24: Presentacion Joomla Phpconference Barcelona 2009

-Gestores de Documentos: gestionar categorías, documentos, permisos, etc.

Sobre Joomla: Gestión de documentos

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 25: Presentacion Joomla Phpconference Barcelona 2009

-Tienda Virtual: Familias, productos, imágenes, textos, carrito de la compra, pasarelas de pago: La Caixa, Paypal, etc

Sobre Joomla: Tienda Virtual

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 26: Presentacion Joomla Phpconference Barcelona 2009

Gestión de Temas, respuestas, etc

Sobre Joomla: Foro

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 27: Presentacion Joomla Phpconference Barcelona 2009

-Boletines de noticias -> Communicator

-Galeria de imágenes

-Chats

-Blogs

-Comunidad de usuarios -> Redes Sociales

...y mucho más

Sobre Joomla: Otras funcionalidades

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 28: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Contenidos

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Joomla estructura la información en secciones y categorias (1.5)

Sección NoticiasCategoria Deportes

Artículo 1 Barça - MadridArtículo 2 Rafa Nadal en el open de ...

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 29: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Contenido, Menús

Joomla: CMS

Joomla permite crear entradas de menús de varios tipos

ArtículoBlog de SecciónBlog de CategoríaContacto...

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Page 30: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Ejemplo 3, gestión de contacto

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

-Queremos gestionar la información de contacto

1-Modificamos los datos de contacto desde el panel de administración

2-Creamos la nueva entrada al menú del tipo contacto seleccionando el contacto que hemos modificado anteriormente

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 31: Presentacion Joomla Phpconference Barcelona 2009

Sobre Joomla: Ejemplo 4, gestión de usuarios y partes privadas

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

-Queremos gestionar que únicamente los usuarios registrados puedan acceder a apartados privados

1-Creamos el usuario (panel de administración) o bien se puede registrar (parte pública)2-El usuario hace Login y ve el contenido privado

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 32: Presentacion Joomla Phpconference Barcelona 2009

JoomlaFuncionamiento básicoPlantillasMódulosComponentes: documentos, calendario, ...Secciones, categorias, ArtículosMenúsUsuarios

Hemos visto

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 33: Presentacion Joomla Phpconference Barcelona 2009

Joomla framework: introducción

-Módulos-Componentes-Plugins

Vamos a ver

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 34: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: introducción

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

PHP Barcelona Conference 2009

Page 35: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Componentes, Plugins, Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

API

Arquitectura Model-View-controller

CRUD: Create, Retry, Update, Delete

Plugins: Authentication, User, Content, Search

PHP Barcelona Conference 2009

Page 36: Presentacion Joomla Phpconference Barcelona 2009

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Desarrollo: Componentes, Plugins, Módulos

Joomla usa convenciones para el desarrollo de componentes, módulos, etc

De tal forma que aceleramos el desarrollo simplemente siguiendo estas reglas como:

Nombre de los ficherosNombre de las classes, etc

PHP Barcelona Conference 2009

Page 37: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Componentes, Plugins, Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Importancia del patrón MVC

Programar en PHP puede ser:

- Programació sin orden, sin nigún tipo de ingeniería- Las modificaciones en el codigo son lentas- La reutilitzación de código es práctictamente imposible - Codi rebuscado -> codi Spaggethi

PHP Barcelona Conference 2009

Page 38: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Componentes, Plugins, Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Importancia del patrón MVC

Desarrollar aplicaciones desde el punto de vista de la Ingeniería de Software Garantiza:

- Mantenimiento- Escalabilidad- Reutilitzación- Robusto y libre de errores

-> Estructurar el código en 3 niveles hace que cada parte tenga su función -> código más estructurado -> más fácil entender codigo de terceros

-> aumento de productividad

PHP Barcelona Conference 2009

Page 39: Presentacion Joomla Phpconference Barcelona 2009

CONTROLLER

MODELO

VISTA

Petición

Respuesta

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Desarrollo: Componentes, Plugins, Módulos

Controlador: punto de entrada a la aplicación la lógica necesaria y muestra la vista asociada.

Modelo: Es la representación específica de la informació. Se encarga de acceder a los datos

Vista: Muestra la información que el módelo a generado.

PHP Barcelona Conference 2009

Page 40: Presentacion Joomla Phpconference Barcelona 2009

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Desarrollo: Módulos

Page 41: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Estructura de un mòdulo: MVC

mod_nombremodulo.php: ejecuta la clase modelo y pasa el resultado al templateModelo: encargado de acceder a los datosTemplate: encargado de mostrar los datos

mod_nombremodulo.phpmodelo

Base dedatos

templatepetición

PHP Barcelona Conference 2009

Page 42: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Modules/mod_prueba.phphelper.php

Tmpl/default.php

mod_prueba

helper.php

default.php

Petición

Respuesta

PHP Barcelona Conference 2009

Page 43: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

mod_nombremodulo.php: ejecuta la clase modelo y pasa el resultado al template

<?require_once (dirname(__FILE__).DS.'helper.php');

$params->def('count', 10);$list = modPruevaHelper::getMensaje($params);

require(JModuleHelper::getLayoutPath('mod_prueba'));?>

mod_prueba

helper.php

default.php

PHP Barcelona Conference 2009

Page 44: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Modelo

<?Class modPruebaHelper{

Function getMensaje ($params){

Return “hola mundo”;}

}?> mod_prueba

helper.php

default.php

PHP Barcelona Conference 2009

Page 45: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

vista

<?Echo $mensaje;?>

mod_prueba

helper.php

default.php

PHP Barcelona Conference 2009

Page 46: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Módulos

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

PHP Barcelona Conference 2009

Page 47: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: componentes

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

COMPONENTE

PHP Barcelona Conference 2009

Page 48: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Plugins

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Extensiones que permiten modificar el funcionamiento de Joomla

Se ejecutan cuando se disparan determinados eventos como:

-Preparar contenido-Mostrar Contenido-Login del usuario-Creación de un usuario

PHP Barcelona Conference 2009

Page 49: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Plugins

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Ejemplo: plugin de contenido

PHP Barcelona Conference 2009

Page 50: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Plugins

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Prueba.php

PHP Barcelona Conference 2009

Page 51: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Plugins

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Resultado

PHP Barcelona Conference 2009

Page 52: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Plugins

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Otros ejemplos

PHP Barcelona Conference 2009

Plugin votación

Page 53: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Plugins

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Ejemplos: plugin user

Se disparan cuando se crea/modifica un nuevo usuario

PHP Barcelona Conference 2009

Joomla elgg

On Createuser

onlogin

Page 54: Presentacion Joomla Phpconference Barcelona 2009

Desarrollo: Plugins

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Otros ejemplos: plugin auth

Nos permite autenficar un login/creación de usuario contra otro sistema, por ejemplo LDAP, etc

PHP Barcelona Conference 2009

Joomla 1

Joomla 2

Sistema usuarios AuthentificacioAuthentificacion

userscentralitzado

Si exiteix

autenficado

si

creamos usuario no

okuser

Page 55: Presentacion Joomla Phpconference Barcelona 2009

Resumen

Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web

Ejemplos: plugin user

Se disparan cuando se crea/modifica un nuevo usuario

PHP Barcelona Conference 2009

Joomla elgg

On Createuser

onlogin

Page 56: Presentacion Joomla Phpconference Barcelona 2009

Como ampliar las funcionalidades de Joomla desarrollando:

-Módulos-Componentes-Plugins

Según el convenio de Joomla y Arquitectura MVC

Hemos visto

Joomla: Gestor de Continguts Web per a tot tipus d'empresa

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009

Joomla: CMS

Page 57: Presentacion Joomla Phpconference Barcelona 2009

Jordi Catà Castillo - [email protected] Ingeniería Web - www.dunlock.com

PHP Barcelona Conference 2009

¿ Alguna pregunta ?

Page 58: Presentacion Joomla Phpconference Barcelona 2009

Jordi Catà Castillo - [email protected] Ingeniería Web - www.dunlock.com

PHP Barcelona Conference 2009

Gracias por vuestra asistencia