Nivel muy básico de explicación de como se desarrolló la primera versión del plugin Chamilo para Wordpress, el cual se puede encontrar en https://github.com/chamilo/chamilo-wordpress/
2. Plan de trabajo
● Que es Chamilo?
● Armar el plan: ¿Qué queremos hacer?
● Investigación: Referencias
● Instalación de software
● Primeros intentos
● Resultado
3. Caso Chamilo
● Sistema de gestión del aprendizaje (LMS)
● Claroline→Dokeos→Chamilo / Moodle / Canvas
● Código abierto
● https://github.com/chamilo
● https://github.com/chamilo/chamilo-lms/
8. ¿Qué queremos hacer?
● ¿Obtener datos genéricos de Chamilo?
● ¿Obtener datos personalizados de Chamilo?
9. ¿Qué queremos hacer?
● ¿Obtener datos genéricos de Chamilo?
● ¿Obtener datos personalizados de Chamilo?
● ¿Sincronizar las cuentas de usuario?
10. ¿Qué queremos hacer?
● ¿Obtener datos genéricos de Chamilo?
● ¿Obtener datos personalizados de Chamilo?
● ¿Sincronizar las cuentas de usuario?
● ¿Single Sign On?
13. ¿Que necesitamos?
● Un plugin que se pueda instalar
● que recupere información desde Chamilo
● (un servicio web del lado de Chamilo)
● que ofrezca un widget para mostrar la info
14. Obtener datos genéricos
● ¡1ra
buena noticia: Chamilo ya tiene servicios web!
● https://stable.chamilo.org/main/webservices/registration.soap.php?wsdl
● Ya, bueno, son SOAP, no son REST…
● Pero SOAP ahora está soportado en PHP por defecto
15. Obtener datos genéricos
● ¡1ra
buena noticia: Chamilo ya tiene servicios web!
● ¡2da
buena noticia: Hay documentación para hacer
plugins en WP! (con ejemplos como hello-dolly)
● https://developer.wordpress.org/plugins/intro/what-is-a-plugin/
● https://codex.wordpress.org/Main_Page
● https://codex.wordpress.org/Writing_a_Plugin
● https://codex.wordpress.org/Creating_Options_Pages
16. Obtener datos genéricos
● ¡1ra
buena noticia: Chamilo ya tiene servicios web!
● ¡2da
buena noticia: Hay documentación para hacer
plugins en WP! (con ejemplos como hello-dolly)
● Mala noticia: la documentación es algo…
desordenada (y mayormente en inglés)
17. Obtener datos genéricos
● Vamos avanzando:
● Wordpress pide por lo mínimo:
● Que el plugin esté en wp-contents/plugin/
● un archivo readme.txt
● un archivo .php con una cabecera específica
● (buscará el único que tenga dicha cabecera)
24. Obtener datos genéricos
● Tenemos que implementar hooks de activación y de
desactivación y desinstalación (limpieza) de nuestro
plugin
● Ahí la calidad de la documentación cae fatal…
● options_pages y register_settings
● add_menu_page() (unknown function)
● etc...
34. Obtener datos genéricos
● Ahora tenemos los datos de vuelta
● ¿Como los mostramos?
● → En un widget!
● https://codex.wordpress.org/Function_Reference/register_widget
42. Conclusiones
● ¿Es fácil crear un plugin?
● Super fácil!
● ¿Es fácil crear un widget?
● Super fácil!
● ¿Es fácil hacer cosas un poco más avanzadas?
● Toma mucha lectura. Ejemplos incompletos.
43. Conclusiones (2)
● ¿Que viene después?
● Ampliar funcionalidades
● Crear theme
● Registrar el plugin