Pablo Arias: Joomla como herramienta para el desarrollo web
-
Upload
php-vigo -
Category
Presentations & Public Speaking
-
view
365 -
download
2
Transcript of Pablo Arias: 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
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
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