Pablo Arias: Joomla como herramienta para el desarrollo web

37
Joomla! como herramienta para el desarrollo web

Transcript of Pablo Arias: Joomla como herramienta para el desarrollo web

Joomla! como herramienta para el

desarrollo web

Presentación

Creo, mantengo y mejoro sitios web

Ingeniero Técnico Electrónico

Apasionado del software y hardware libre

Trabajando con Joomla desde... Mambo

www.pabloarias.eu@PabloAriasRamos

1. Introducción y características

2. Programación en Joomla

3. Recursos para aprender

4. Quién usa Joomla

5. Mitos desmentidos sobre Joomla

6. La comunidad Joomla

7. Joomla en Vigo

Contenidos

¿Qué es un web CMS?

Sistema de gestión de contenidos web

● Abstracción de mucha problemática web

● Panel de administración

● Base de datos

● Diseño independiente del contenido

● Colaboración y participación entre usuarios

Licencia de uso de Joomla

GNU General Public License

Copia, distribución y modificación permitidas

Para proyectos personales y comerciales

Descarga gratuita desde joomla.org

Versiones de Joomla

Actualidad: Joomla 3

● Última versión disponible: 3.4.8.

● Prevista la salida de 3.5 esta semana.

● La versión 2.5 finalizó en 2015.

● Próximos avances o roadmap:

http://developer.joomla.org/cms/roadmap.html

Dos partes de Joomla

Frontend

Parte pública para "navegantes"

http://dominio.com

Backend

Parte privada para administración

http://dominio.com/administrator

Backend (responsive)

Gestión de usuarios

Gestión de usuarios y contactos

Grupos, niveles de acceso y permisos

Posibilidad de diferentes roles

Restricción de acceso a contenidos

Gestión de menús

● Navegación en sitio web

● Definen el mapa del sitio

● Gestión muy intuitiva, cómoda y completa

Gestión de plantillas o templates

Dan diseño al sitio web

Disponen el contenido según necesidades

Definir diferentes por cada elemento de menú

Dos plantillas iniciales

Plantillas creadas por terceros

Actualizaciones

Actualizaciones de Joomla

Actualizaciones de extensiones de terceros.

Altamente escalable

Extensiones para Joomla

● Componentes

● Módulos

● Plugins

http://extensions.joomla.org

Extensiones disponibles

● Comercio electrónico● Foros● Directorios● Galerías de imágenes● Boletines de noticias● Mapas● Nuevos editores WYSIWYG

Y un largo etcétera (7.636 a día 14/03/2016)

SEO and mobile ready

Joomla ofrece facilidades para optimización● Títulos de páginas personalizados● Etiquetas meta● URLs amigables● Extensiones especializadas

Navegación en pantallas pequeñas● Depende de la plantilla. Responsive● Joomla 3 cada vez más optimizado

Multi idioma

Joomla está traducido a más de 60 idiomas

http://community.joomla.org/translations/

El contenido y las extensiones

en varios idiomas (nativo)

Programación con Joomla!

Tipos de desarrollo

● Plantillas o templates

● Bibliotecas

● Componentes

● Plugins

● Módulos

Programación plantillas I

Estructura ficheros y directorios:● CSS● HTML● images● JS● LESS ó SAAS● index.php● templateDetails.xml

Programación plantillas II

Desde cero o partiendo de una base.Index.php: <jdoc:include>● Posiciones para módulos● Componente● Cabecera● Mensajes sistemaEjemplo <jdoc:include type="component" />

addScript y addStyleSheet

¡El core no se toca!

No se debe modificar ni el código de Joomla ni

el de extensiones de terceros.

Soluciones:

● Crea overrides

● Haz tu propia extensión

Abstracción de problemática

● ACL: Usuarios, grupos,

niveles de acceso y

permisos

● Multi-Idioma

● Búsqueda (smart)

● Web services

● Versionado contenidos

● Actualizaciones cliente

● Menús

● Envío de emails

● Caché

● Etiquetas, categorías,

formularios, listados,

paginación...

Integración con otras extensiones

● Comentarios

● Comercio electrónico

● Redes sociales

● Mapas del sitio web

● Y un largo etcétera...

Modelo - Vista - Controlador

Organización componentes:

● Modelo: gestión de datos

● Vista: muestra el resultado

● Controlador: gestión de acciones.

Se pueden sobrescribirlas vistas y los layouts en la plantilla:/templates/PLANTILLA/html/nombre_extension/

Layouts

Pensados para ser reusables.

Separar el diseño del código.

Más info en el blog de PHP Roberto:http://phproberto.com/

Framework Joomla!

● Framework PHPhttps://framework.joomla.org/

● Web y CLI● Instalación: Composer y GitHub● Documentación:

https://docs.joomla.org/Framework:Home/es

● Ver también FOF (Framework over Framework)

Joomla en GitHub

Código del CMS

Ejemplos

Gestión de incidencias

Recursos

https://github.com/joomla/

Recursos Joomla

● Web oficialhttp://joomla.org/

● Documentaciónhttps://docs.joomla.org/

● Forohttp://forum.joomla.org/

● Revistahttp://magazine.joomla.org/

Recursos programador

● Documentación wikihttps://docs.joomla.org/Portal:Developers

● Ciclo desarrollo Manuales Joomla:http://manualesjoomla.es/blog/73-1-ciclo-desarrollo-joomla-extensiones-1-tutorial

● Joomgoutshttp://joomgouts.com/tag/programacion

● LibrosPodéis preguntar aquí mismo, en la Casa del Libro

¿Quién usa Joomla?

Particulares

Empresas

Gobiernos y administraciones públicas

Organizaciones

Educación y grupos culturales

Medios de comunicación

Sitios de famososhttp://community.joomla.org/showcase/

Mito: Joomla es inseguro

● No permite el uso de PHP muy antiguo.

● Joomla usa BCrypt como algoritmo de

seguridad.

● Autenticación de factor doble.

● Probado en millones de sitios web.

● Hay extensiones para “vigilar” la seguridad.

Mito: Joomla es malo para el SEO

No hay correlación entre la tecnología usada y el SEO:

● Buenas implementaciones de cualquier tecnología

posicionan alto.

● Malas implementaciones lo contrario.

Joomla ha incorporado más herramientas en las últimas

versiones para facilitar la gestión de parámetros SEO y a

su vez hay extensiones de terceros.

Fuente: http://moz.com/blog/web-tech-builtwith-study

Quién está detrás de Joomla

Joomla no depende de las directrices de una empresa.Hay una fundación sin ánimo de lucro, Open Source Matters, y una gran comunidad.

> 644 mil usuarios registrados en los foros

Movimiento intenso en RRSS

Conferencias:

● JoomlaDays por todo el mundo● J & Beyond, ¡este año en Barcelona!● Joomla! World Conference● Reuniones de JUGs y Joomla Café● JUGs – 180+ registrados en todo el mundo

Community Magazine – ~1000 artículos

Comunidad Joomla

Proyecto vivo y activo

Commits por semana en Github

Comentario de GitHub al tratar de mostrar la red de miembros del proyecto Joomla-cms:

“ Woah, this network is huge! We’re showing only some of this network’s repositories.”

(Mostrando 1000 resultados)

Cómo colaborar con Joomla

Existen muchas formas de colaborar:http://volunteers.joomla.org/

● Resolución de errores● Documentación● Traducción● Propuesta de nuevas funcionalidades● Etc.

Joomla en Vigo

Grupo de Usuarios de Joomla de Vigohttp://www.joomlavigo.es/

No faltes a la próxima reunión: 31 de marzo

Organizando Joomla Day VigoEn búsqueda de colaboración ¡Apúntate!

Fin

¿Dudas, preguntas?

¡Gracias!

www.pabloarias.eu