Programación avanzada en Joomla!

7,569 views
7,462 views

Published on

Presentación realizada por Fernando Hidalgo y Juan Luis Pérez sobre programación avanzada en Joomla! en el 2009 JoomlaDay! en Barcelona.

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,569
On SlideShare
0
From Embeds
0
Number of Embeds
1,825
Actions
Shares
0
Downloads
195
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Programación avanzada en Joomla!

  1. 1. JoomlaDay 2009 <ul><ul><li>Taller avanzado de programación </li></ul></ul>
  2. 2. JoomlaDay - Taller Avanzado de Desarrollo - Índice <ul><li>Introducción: Presentación
  3. 3. Introducción: Objetivos
  4. 4. IDE: Instalando NetBeans
  5. 5. IDE: JoomlaCode
  6. 6. Esqueleto: Creando esqueleto
  7. 7. Esqueleto: Creando do.sh
  8. 8. Instalador: Vista version, paquete auto-actualizable
  9. 9. Instalador: Múltiples módulos y plugins
  10. 10. Instalador: Módulos en nuestras vistas
  11. 11. Propuesta FrontEnd: Diseño OO
  12. 12. Propuesta FrontEnd: Controladores y peticiones AJAX
  13. 13. Propuesta FrontEnd: Método genérico GET
  14. 14. Otros ejemplos: Más formas de potenciar nuestros componentes </li></ul> Fernando Hidalgo - Juan Luis Pérez (Blobject)
  15. 15. Introducción: Presentación <ul><li>Fernando Hidalgo (hidabe)
  16. 16. Juan Luis Pérez
  17. 17. Blobject – http://www.blobject.es
  18. 18. DentroVideo - http://www.dentrovideo.com </li></ul> Fernando Hidalgo - Juan Luis Pérez (Blobject)
  19. 19. Introducción: Objetivos <ul><li>Conocimientos previos deseados: Linux, IDEs, PHP, Joomla FrameWork.
  20. 20. Optimizar tiempo en el desarrollo.
  21. 21. Conocer mejor la potencia del FrameWork de Joomla.
  22. 22. Programación mejor estructurada.
  23. 23. Aplicar conceptos de Joomla 1.6 desde ya. </li></ul> Fernando Hidalgo - Juan Luis Pérez (Blobject)
  24. 24. IDE <ul><li>Concepto: Integrated Development Environment
  25. 25. Nuestra propuesta: NetBeans, JoomlaCode, SVN
  26. 26. ¿Por qué NetBeans en lugar de Eclipse?
  27. 27. Ventajas: Derivadas directamente del uso de NetBeans, JoomlaCode, SVN:
  28. 28. Uso de JoomlaCode (oficial)
  29. 29. Control de versiones,
  30. 30. Fácil trabajo en equipo,
  31. 31. Fácil y rápido desarrollo, fácil y rápidas liberaciones. </li></ul> Fernando Hidalgo - Juan Luis Pérez (Blobject)
  32. 32. IDE: Instalando NetBeans Fernando Hidalgo - Juan Luis Pérez (Blobject)
  33. 33. IDE: Instalando NetBeans Fernando Hidalgo - Juan Luis Pérez (Blobject)
  34. 34. IDE: Instalando NetBeans Fernando Hidalgo - Juan Luis Pérez (Blobject)
  35. 35. IDE: Instalando NetBeans Fernando Hidalgo - Juan Luis Pérez (Blobject)
  36. 36. IDE: Instalando NetBeans Fernando Hidalgo - Juan Luis Pérez (Blobject)
  37. 37. IDE: Instalando NetBeans Fernando Hidalgo - Juan Luis Pérez (Blobject)
  38. 38. IDE: Instalando NetBeans Fernando Hidalgo - Juan Luis Pérez (Blobject)
  39. 39. IDE: Instalando NetBeans Fernando Hidalgo - Juan Luis Pérez (Blobject)
  40. 40. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  41. 41. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  42. 42. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  43. 43. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  44. 44. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  45. 45. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  46. 46. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  47. 47. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  48. 48. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  49. 49. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  50. 50. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  51. 51. IDE: JoomlaCode Fernando Hidalgo - Juan Luis Pérez (Blobject)
  52. 52. IDE: Ruegos y Preguntas <ul><li>¿Tienes alguna duda? </li></ul>
  53. 53. Esqueleto: Creando esqueleto Fernando Hidalgo - Juan Luis Pérez (Blobject)
  54. 54. Esqueleto: Creando esqueleto Fernando Hidalgo - Juan Luis Pérez (Blobject)
  55. 55. Esqueleto: Creando esqueleto Fernando Hidalgo - Juan Luis Pérez (Blobject)
  56. 56. Esqueleto: Creando esqueleto Fernando Hidalgo - Juan Luis Pérez (Blobject)
  57. 57. Esqueleto: Creando esqueleto: XML <ul><li>Uso de la etiqueta <folder>
  58. 58. Creamos index.html en todas las carpetas
  59. 59. Directorio sql para auto-updater
  60. 60. Vistas básicas del admin: version y panel
  61. 61. Directorio helpers en components
  62. 62. Method upgrade </li></ul> Fernando Hidalgo - Juan Luis Pérez (Blobject)
  63. 63. Esqueleto: Creando do.sh <ul><li>Crearemos un script: do.sh que empaquete el componente
  64. 64. Metemos el script en el repositorio
  65. 65. Ejecutamos una vez el script y añadimos el paquete al repositorio </li></ul> Fernando Hidalgo - Juan Luis Pérez (Blobject)
  66. 66. Esqueleto: Ruegos y Preguntas <ul><li>¿Tienes alguna duda? </li></ul>
  67. 67. Instalador: Vista version, auto-actualizar <ul><li>¿De qué se trata? Concepto - Jfusion
  68. 68. Ventajas
  69. 69. Vista version
  70. 70. install.advhelloworld.php
  71. 71. Método getVersionLocal()
  72. 72. Método getVersionRemote()
  73. 73. Ejecutando ficheros SQLs según fecha
  74. 74. Ejemplo de modificación </li></ul> Fernando Hidalgo - Juan Luis Pérez (Blobject)
  75. 75. Instalador: Múltiples módulos y plugins <ul><li>¿De qué se trata? Concepto – Jfusion
  76. 76. Ventajas
  77. 77. Actualizando do.sh
  78. 78. Recorriendo paquetes de forma dinámica y textos en fichero de lenguaje (install.advhelloworld.php)
  79. 79. Ejemplo de modificación: añadir un nuevo módulo </li></ul> Fernando Hidalgo - Juan Luis Pérez (Blobject)
  80. 80. Instalador: Modulos en nuestras vistas <ul><li>Modificar los XML de las plantillas
  81. 81. View.php
  82. 82. Insertando los módulos en nuestros templates </li></ul>
  83. 83. Instalador: Ruegos y Preguntas <ul><li>¿Tienes alguna duda? </li></ul>
  84. 84. Propuesta Frontend: Diseño OO <ul><li>Superclases (clases abstractas)
  85. 85. Advhelloworld.php
  86. 86. Model.php View.php y Controller.php
  87. 87. Patrones GRASP </li><ul><li>Bajo Acoplamiento.-Debe haber pocas dependencias entre las clases
  88. 88. Experto.-La responsabilidad de realizar una labor es de la clase que tiene o puede tener los datos involucrados (atributos)
  89. 89. Alta Cohesión.-Cada elemento debe realizar una labor única y auto-identificable
  90. 90. Creador.-Se asigna la responsabilidad de que una clase B cree un Objeto de la clase A solamente cuando B contiene a A, está compuesto por A, lo almacena, tiene los datos de inicialización de A o usa a A. </li></ul></ul>
  91. 91. Propuesta Frontend: Controladores y AJAX <ul><li>Valoraciones de AJAX en el Frontend </li><ul><li>Accesibilidad
  92. 92. Usabilidad
  93. 93. Rendimiento </li></ul><li>Ejemplos en DentroVideo con mootools 1.2 </li><ul><li>DOM
  94. 94. Estructura del archivo JS </li></ul></ul>
  95. 95. Propuesta FrontEnd: Método genérico GET <ul><li>Concepto: Método genérico para hacer una consulta de forma fácil a cualquier tabla.
  96. 96. Ventajas: </li><ul><li>Mismo método para todas las consultas
  97. 97. No tenemos que escribir tanto código </li></ul><li>Implementación del método en model.php
  98. 98. Ejemplo de uso en el modelo temas.php </li></ul>
  99. 99. FrontEnd: Ruegos y Preguntas <ul><li>¿Tienes alguna duda? </li></ul>
  100. 100. Otros ejemplos <ul><li>Componente DentroVideo.
  101. 101. Sistema de generación de themes.
  102. 102. Sistema de permisos. Elemento avanzado de Panel de Configuración de Joomla.
  103. 103. Potencia de Sistema de plugins y eventos. Plugin de mensajes en popup.
  104. 104. Discover & Import de Youtube. Uso de AJAX. </li></ul>
  105. 105. Ruegos y Preguntas <ul><li>¿Tienes alguna duda? </li></ul>

×