Presentacion Joomla Phpconference Barcelona 2009

Post on 12-Nov-2014

3.886 views 1 download

description

taller de joomla en las phpconference Barcelona 2009

Transcript of Presentacion Joomla Phpconference Barcelona 2009

Jordi Catà Castillo - jordi.cata@dunlock.comD-Unlock Ingeniería Web - www.dunlock.com

PHP Barcelona Conference 2009

Gestor de Contenidos Web Joomla

¿ 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

-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

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

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

-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

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

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

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

Ejemplos

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

Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 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

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

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

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

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

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

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

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

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

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

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

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

-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

-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

-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

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

-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

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

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

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

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

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

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

Desarrollo: introducción

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

PHP Barcelona Conference 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

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

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

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

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

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

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

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

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

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

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

Desarrollo: Módulos

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

PHP Barcelona Conference 2009

Desarrollo: componentes

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

COMPONENTE

PHP Barcelona Conference 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

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

Desarrollo: Plugins

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

Prueba.php

PHP Barcelona Conference 2009

Desarrollo: Plugins

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

Resultado

PHP Barcelona Conference 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

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

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

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

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

Jordi Catà Castillo - jordi.cata@dunlock.comD-Unlock Ingeniería Web - www.dunlock.com

PHP Barcelona Conference 2009

¿ Alguna pregunta ?

Jordi Catà Castillo - jordi.cata@dunlock.comD-Unlock Ingeniería Web - www.dunlock.com

PHP Barcelona Conference 2009

Gracias por vuestra asistencia