SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Chamilo 1.9 para desarrolladores
Historia de versiones


          1.8.6.2
           1.8.7
          1.8.7.1
           1.8.8
          1.8.8.2
          1.8.8.4
 1.9 -> noviembre 2011?
Comunidad



Empleo                        LMS




Socios                      Asociación


         Software (libre)
Comunidad

●   660,000 usuarios en el mundo (+1000/día)
●   1100 portales
●   300 activos en foros
●   27 desarrolladores
●   40 traductores
●   50 “reporteros”/”consejeros”
                Mejoran la calidad del software
               Facilitan su aprendizaje
Herramientas para programar
Herramientas




●   ¿Eclipse 3.2 + PHPEclipse + Subclipse ?
●   Navegadores + Flash player 9
●   Bajo MS-Windows
    ●   EasyPHP / WAMPP (Apache + PHP5 + MySQL)
●   Bajo Ubuntu Linux
    ●   sudo apt-get install apache2 libapache2-mod-php5
        mysql-server phpmyadmin
●   Descargar http://www.chamilo.org/es/download-es/
Estructura
Chamilo
Base principal: 105 tablas




                    + stats
                    + users
Base cursos: 85 tablas
Bases de datos y Caching
●   Campos eficientes = ancho fijo
●   Tablas en Cache = memoria RAM++
Hojas de referencia



http://beeznest.wordpress.com/2010/04/05/chamilo-developers-quick-reference-sheets/




          http://beeznest.wordpress.com/?s=quickref
Recursos
●   http://www.chamilo.org/forum
●   http://support.chamilo.org/projects/chamilo-18/wiki
●   http://support.chamilo.org
●   http://code.google.com/p/chamilo (classic)
●   Convenciones de código (wiki)
●   http://translate.chamilo.org (Chrome)
Plugin, tool e integración
Plugin, tool, integración




●   Plugin
    –   Agrega funcionalidad
    –   No modifica el código de Chamilo
●   Tool
    –   Agrega funcionalidad
    –   Modifica el código de Chamilo
Plugin, tool, integración



●   Integración
    –   Integrar tool o plugin dentro de Chamilo
    –   Soportarlo en las versiones siguientes
●   Ejemplos
    –   Messages (tool)
    –   Date (plugin)
    –   Search (tool)
    –   Glossary (tool)
Desarrollemos uno!
¿Desarrollamos uno?




●   Ejemplo: Glosario
●   Necesitamos
    –   Un editor de textos (o de código PHP)
    –   Un navegador
    –   Una instalación de Chamilo
    –   Una herramienta para consultar la BD
¿Desarrollamos uno?




●   ¿Un glosario, qué es?
    –   Un directorio de palabras
    –   Con definiciones
    –   Que puedo consultar como alumno
    –   Que puedo modificar como profesor
¿Desarrollamos uno?




●   En Chamilo necesito
    –   Declarar este tool
    –   Integrarlo dentro de la estructura
    –   Darle una base de datos
    –   Darle una interfaz
    –   Darle unas funciones de acceso
    –   Darle términos traducibles para la interfaz
¿Desarrollamos uno?




●   Declarar
    –   main/inc/lib/main_api.lib.php
    –   define('TOOL_GLOSSARY', 'glossary');
¿Desarrollamos uno?




●   Integración en la estructura
    –   main/glossary/
    –   Nuevo fichero main/glossary/index.php
¿Desarrollamos uno?




●   Base de datos
    CREATE TABLE glossary (
      id int auto_increment,
      title varchar(200),
      description text
      );
¿Desarrollamos uno?


●   Base de datos (2)
    –   Para nuevas instalaciones
         ●   main/inc/lib/add_course.lib.inc.php
    –   Para actualizaciones
         ●   main/install/migrate-db-1.8.8-1.8.9.pre.sql
    –   Para el enlace dentro de la página de curso
         api_sql_query("INSERT INTO `" . $tbl_course_homepage . "` (...)
          VALUES ('" .TOOL_GLOSSARY."', 'glossary/index.php',
          'glossary.gif', '1', '0', '', 'NO', '_self', 'authoring')");
¿Desarrollamos uno?




●   Base de datos (3)
    –   Declarar tabla dentro de
        main/inc/lib/database.constants.inc.php :
         // glossary tables
         define('TABLE_GLOSSARY', 'glossary');
¿Desarrollamos uno?
●   Interfaz
    <?php
    /* License terms */
    /**
     * Description of the script
     */
    require_once '../inc/global.inc.php';
    $tool = TOOL_GLOSSARY;
    $abc = 5 + 4; //code logic
    Display::display_header($tool);
    echo $abc; //display code
    Display::display_footer();
¿Desarrollamos uno?
●   Funciones de acceso
    –   Si es de acceso general -> main/inc/lib
    –   Si es de acceso local -> main/glossary/
●   De preferencia una clase
●   main/glossary/glossary.class.php
         class glossary {
             public var $terms;
             public static function glossary(...) {
                 ...
             }
             public static function get_terms_for_display(...) {...}
         }
¿Desarrollamos uno?




●   Términos traducibles
    –   Agregar main/lang/spanish/glossary.inc.php
         ●   Agregar mis variables en forma
         $MyLanguageVariable = “Mi variable de idioma”;
    –   Usar get_lang('MyLanguageVariable')
¿Desarrollamos uno?
●   Interfaz (2)
    <?php
    /* License terms */
    /**
     * Description of the script
     */
    $language_files = array('glossary');
    require_once '../inc/global.inc.php';
    require_once 'glossary.class.php';
    $tool = TOOL_GLOSSARY;
    $glossary = new glossary();
    Display::display_header($tool);
    echo $glossary -> get_terms_for_display($_GET['term_id']);
    Display::display_footer();
¿Desarrollamos uno?
Bugs y parches
Bugs y parches




http://support.chamilo.org/
Bugs y parches
●   Elementos esenciales de un bug report
    –   Evitar duplicados
    –   Título claro
    –   Descripción completa
    –   URL o nombre del script
    –   Parámetros del URL
    –   Como reproducir (desde el login)
    –   Captura de pantalla
    –   Mensaje de error (copiar y pegar)
Fin

Más contenido relacionado

Destacado

Chamilo vs-moodle-mensa-mx
Chamilo vs-moodle-mensa-mxChamilo vs-moodle-mensa-mx
Chamilo vs-moodle-mensa-mxMichela Mosquera
 
Registrarse en Chamilo
Registrarse en ChamiloRegistrarse en Chamilo
Registrarse en ChamiloEdison Romero
 
Chamilo 1.8.7.1 Manual del alumno - ES
Chamilo 1.8.7.1 Manual del alumno - ESChamilo 1.8.7.1 Manual del alumno - ES
Chamilo 1.8.7.1 Manual del alumno - ESYannick Warnier
 
Day 2: ¿Cómo personalizar mi Campus Virtual?
Day 2: ¿Cómo personalizar mi Campus Virtual?Day 2: ¿Cómo personalizar mi Campus Virtual?
Day 2: ¿Cómo personalizar mi Campus Virtual?Chamilo Association
 
Evaluaciones en Chamilo - Flisol2014
Evaluaciones en Chamilo - Flisol2014Evaluaciones en Chamilo - Flisol2014
Evaluaciones en Chamilo - Flisol2014Carlos Vargas
 
Day 3: LMS Chamilo como caso de éxito en las diferentes unidades de negocio d...
Day 3: LMS Chamilo como caso de éxito en las diferentes unidades de negocio d...Day 3: LMS Chamilo como caso de éxito en las diferentes unidades de negocio d...
Day 3: LMS Chamilo como caso de éxito en las diferentes unidades de negocio d...Chamilo Association
 

Destacado (9)

Claroline
ClarolineClaroline
Claroline
 
Chamilo vs-moodle-mensa-mx
Chamilo vs-moodle-mensa-mxChamilo vs-moodle-mensa-mx
Chamilo vs-moodle-mensa-mx
 
Registrarse en Chamilo
Registrarse en ChamiloRegistrarse en Chamilo
Registrarse en Chamilo
 
Chamilo 1.8.7.1 Manual del alumno - ES
Chamilo 1.8.7.1 Manual del alumno - ESChamilo 1.8.7.1 Manual del alumno - ES
Chamilo 1.8.7.1 Manual del alumno - ES
 
Instalacion chamilo-1.9
Instalacion chamilo-1.9Instalacion chamilo-1.9
Instalacion chamilo-1.9
 
Day 2: ¿Cómo personalizar mi Campus Virtual?
Day 2: ¿Cómo personalizar mi Campus Virtual?Day 2: ¿Cómo personalizar mi Campus Virtual?
Day 2: ¿Cómo personalizar mi Campus Virtual?
 
Evaluaciones en Chamilo - Flisol2014
Evaluaciones en Chamilo - Flisol2014Evaluaciones en Chamilo - Flisol2014
Evaluaciones en Chamilo - Flisol2014
 
Day 3: LMS Chamilo como caso de éxito en las diferentes unidades de negocio d...
Day 3: LMS Chamilo como caso de éxito en las diferentes unidades de negocio d...Day 3: LMS Chamilo como caso de éxito en las diferentes unidades de negocio d...
Day 3: LMS Chamilo como caso de éxito en las diferentes unidades de negocio d...
 
Qué es Chamilo - Ventajas y desventajas
Qué es Chamilo - Ventajas y desventajasQué es Chamilo - Ventajas y desventajas
Qué es Chamilo - Ventajas y desventajas
 

Similar a Chamilo para-desarrolladores-1.9

MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básicoCleote
 
Construcción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEARConstrucción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEARMarcos Martinez
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2Mario IC
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10Keopx
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan phpCarlos Zantana
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 
MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!SergioIglesiasNET
 
Frameworks para Php Adwa
Frameworks para Php AdwaFrameworks para Php Adwa
Frameworks para Php AdwaAndres Karp
 
Presentación Jornada Drupal Sevilla Febrero 2015
Presentación Jornada Drupal Sevilla Febrero 2015Presentación Jornada Drupal Sevilla Febrero 2015
Presentación Jornada Drupal Sevilla Febrero 2015Javier Prada Oliva
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelosdokeosla
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8Ymbra
 
Los A-B-C de Multi-idioma en Drupal 7
Los A-B-C de Multi-idioma en Drupal 7Los A-B-C de Multi-idioma en Drupal 7
Los A-B-C de Multi-idioma en Drupal 7James Wilson
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfRaaulroodriguez
 

Similar a Chamilo para-desarrolladores-1.9 (20)

MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básico
 
Introducción a Php basico
Introducción a Php basicoIntroducción a Php basico
Introducción a Php basico
 
Construcción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEARConstrucción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEAR
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan php
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Php
PhpPhp
Php
 
MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!
 
Frameworks para Php Adwa
Frameworks para Php AdwaFrameworks para Php Adwa
Frameworks para Php Adwa
 
Presentación Jornada Drupal Sevilla Febrero 2015
Presentación Jornada Drupal Sevilla Febrero 2015Presentación Jornada Drupal Sevilla Febrero 2015
Presentación Jornada Drupal Sevilla Febrero 2015
 
Tema4.pdf
Tema4.pdfTema4.pdf
Tema4.pdf
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelos
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
 
Funciones con PHP
Funciones con PHPFunciones con PHP
Funciones con PHP
 
Introduccion a php
Introduccion a phpIntroduccion a php
Introduccion a php
 
Los A-B-C de Multi-idioma en Drupal 7
Los A-B-C de Multi-idioma en Drupal 7Los A-B-C de Multi-idioma en Drupal 7
Los A-B-C de Multi-idioma en Drupal 7
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
 

Más de Chamilo Association

3er Congreso Internacional E-learning
3er Congreso Internacional E-learning3er Congreso Internacional E-learning
3er Congreso Internacional E-learningChamilo Association
 
Recomendación ¿Cómo seleccionar un LMS?
Recomendación ¿Cómo seleccionar un LMS?Recomendación ¿Cómo seleccionar un LMS?
Recomendación ¿Cómo seleccionar un LMS?Chamilo Association
 
Day 3: Skillms para RRHH: Capacita, Evalúa y Gestiona el talento en tu organi...
Day 3: Skillms para RRHH: Capacita, Evalúa y Gestiona el talento en tu organi...Day 3: Skillms para RRHH: Capacita, Evalúa y Gestiona el talento en tu organi...
Day 3: Skillms para RRHH: Capacita, Evalúa y Gestiona el talento en tu organi...Chamilo Association
 
Day 3: Rompiendo paradigmas: ¡Hay un mundo más allá de Moodle!
Day 3: Rompiendo paradigmas: ¡Hay un mundo más allá de Moodle! Day 3: Rompiendo paradigmas: ¡Hay un mundo más allá de Moodle!
Day 3: Rompiendo paradigmas: ¡Hay un mundo más allá de Moodle! Chamilo Association
 
Day 3: ¿Tu campus virtual es seguro? ¿Cómo ir un paso adelante de los hackers?
Day 3: ¿Tu campus virtual es seguro? ¿Cómo ir un paso adelante de los hackers? Day 3: ¿Tu campus virtual es seguro? ¿Cómo ir un paso adelante de los hackers?
Day 3: ¿Tu campus virtual es seguro? ¿Cómo ir un paso adelante de los hackers? Chamilo Association
 
Day 3: ¿Cómo llevar un curso presencial a B-learning?
Day 3: ¿Cómo llevar un curso presencial a B-learning?Day 3: ¿Cómo llevar un curso presencial a B-learning?
Day 3: ¿Cómo llevar un curso presencial a B-learning?Chamilo Association
 
Day 2: Chamilo en Europa: Programa de formación para alumnos que trabajan
Day 2: Chamilo en Europa: Programa de formación para alumnos que trabajanDay 2: Chamilo en Europa: Programa de formación para alumnos que trabajan
Day 2: Chamilo en Europa: Programa de formación para alumnos que trabajanChamilo Association
 
Day 2: Mobile learning “Aplicación nativa Chamilo”
Day 2: Mobile learning “Aplicación nativa Chamilo”Day 2: Mobile learning “Aplicación nativa Chamilo”
Day 2: Mobile learning “Aplicación nativa Chamilo”Chamilo Association
 
Day 3: ¿Cómo transformar su portal Chamilo LMS en tienda on-line colaborativa?
Day 3: ¿Cómo transformar su portal Chamilo LMS en tienda on-line colaborativa? Day 3: ¿Cómo transformar su portal Chamilo LMS en tienda on-line colaborativa?
Day 3: ¿Cómo transformar su portal Chamilo LMS en tienda on-line colaborativa? Chamilo Association
 
Day 3: MOOCs de Salud en Chamilo LMS
Day 3: MOOCs de Salud en Chamilo LMS Day 3: MOOCs de Salud en Chamilo LMS
Day 3: MOOCs de Salud en Chamilo LMS Chamilo Association
 
Day 3: Aplicaciones de software libre integradas al eLearning: uso de mapas c...
Day 3: Aplicaciones de software libre integradas al eLearning: uso de mapas c...Day 3: Aplicaciones de software libre integradas al eLearning: uso de mapas c...
Day 3: Aplicaciones de software libre integradas al eLearning: uso de mapas c...Chamilo Association
 
Day 2: ¿Es posible impartir educación de calidad sin acceso a Internet?
 Day 2: ¿Es posible impartir educación de calidad sin acceso a Internet? Day 2: ¿Es posible impartir educación de calidad sin acceso a Internet?
Day 2: ¿Es posible impartir educación de calidad sin acceso a Internet?Chamilo Association
 
Day 2: Herramienta de evaluaciones aplicado al sistema nacional de bachillera...
Day 2: Herramienta de evaluaciones aplicado al sistema nacional de bachillera...Day 2: Herramienta de evaluaciones aplicado al sistema nacional de bachillera...
Day 2: Herramienta de evaluaciones aplicado al sistema nacional de bachillera...Chamilo Association
 
Day 2: ¿Cómo realizar un guión instruccional para crear contenidos multimedia...
Day 2: ¿Cómo realizar un guión instruccional para crear contenidos multimedia...Day 2: ¿Cómo realizar un guión instruccional para crear contenidos multimedia...
Day 2: ¿Cómo realizar un guión instruccional para crear contenidos multimedia...Chamilo Association
 
Day 2: Creación de crucigramas en Chamilo LMS con HotPotatoes
Day 2: Creación de crucigramas en Chamilo LMS con HotPotatoes Day 2: Creación de crucigramas en Chamilo LMS con HotPotatoes
Day 2: Creación de crucigramas en Chamilo LMS con HotPotatoes Chamilo Association
 
Day 2: Explicación Actividades Chamilo Conference 2016
Day 2: Explicación Actividades Chamilo Conference 2016Day 2: Explicación Actividades Chamilo Conference 2016
Day 2: Explicación Actividades Chamilo Conference 2016Chamilo Association
 
Day 2: Chamilo en Perú: Experiencia de 8 años usando Chamilo LMS
Day 2: Chamilo en Perú: Experiencia de 8 años usando Chamilo LMS Day 2: Chamilo en Perú: Experiencia de 8 años usando Chamilo LMS
Day 2: Chamilo en Perú: Experiencia de 8 años usando Chamilo LMS Chamilo Association
 
Day 2: Conferencia Magistral: Visión de Chamilo al 2020
Day 2: Conferencia Magistral: Visión de Chamilo al 2020 Day 2: Conferencia Magistral: Visión de Chamilo al 2020
Day 2: Conferencia Magistral: Visión de Chamilo al 2020 Chamilo Association
 
Day 2: Bienvenida e Inauguración Chamilo Conference 2016
Day 2: Bienvenida e Inauguración Chamilo Conference 2016Day 2: Bienvenida e Inauguración Chamilo Conference 2016
Day 2: Bienvenida e Inauguración Chamilo Conference 2016Chamilo Association
 

Más de Chamilo Association (20)

3er Congreso Internacional E-learning
3er Congreso Internacional E-learning3er Congreso Internacional E-learning
3er Congreso Internacional E-learning
 
Recomendación ¿Cómo seleccionar un LMS?
Recomendación ¿Cómo seleccionar un LMS?Recomendación ¿Cómo seleccionar un LMS?
Recomendación ¿Cómo seleccionar un LMS?
 
Chamilo LMS 1.11.4 ¡Novedades!
Chamilo LMS 1.11.4 ¡Novedades!Chamilo LMS 1.11.4 ¡Novedades!
Chamilo LMS 1.11.4 ¡Novedades!
 
Day 3: Skillms para RRHH: Capacita, Evalúa y Gestiona el talento en tu organi...
Day 3: Skillms para RRHH: Capacita, Evalúa y Gestiona el talento en tu organi...Day 3: Skillms para RRHH: Capacita, Evalúa y Gestiona el talento en tu organi...
Day 3: Skillms para RRHH: Capacita, Evalúa y Gestiona el talento en tu organi...
 
Day 3: Rompiendo paradigmas: ¡Hay un mundo más allá de Moodle!
Day 3: Rompiendo paradigmas: ¡Hay un mundo más allá de Moodle! Day 3: Rompiendo paradigmas: ¡Hay un mundo más allá de Moodle!
Day 3: Rompiendo paradigmas: ¡Hay un mundo más allá de Moodle!
 
Day 3: ¿Tu campus virtual es seguro? ¿Cómo ir un paso adelante de los hackers?
Day 3: ¿Tu campus virtual es seguro? ¿Cómo ir un paso adelante de los hackers? Day 3: ¿Tu campus virtual es seguro? ¿Cómo ir un paso adelante de los hackers?
Day 3: ¿Tu campus virtual es seguro? ¿Cómo ir un paso adelante de los hackers?
 
Day 3: ¿Cómo llevar un curso presencial a B-learning?
Day 3: ¿Cómo llevar un curso presencial a B-learning?Day 3: ¿Cómo llevar un curso presencial a B-learning?
Day 3: ¿Cómo llevar un curso presencial a B-learning?
 
Day 2: Chamilo en Europa: Programa de formación para alumnos que trabajan
Day 2: Chamilo en Europa: Programa de formación para alumnos que trabajanDay 2: Chamilo en Europa: Programa de formación para alumnos que trabajan
Day 2: Chamilo en Europa: Programa de formación para alumnos que trabajan
 
Day 2: Mobile learning “Aplicación nativa Chamilo”
Day 2: Mobile learning “Aplicación nativa Chamilo”Day 2: Mobile learning “Aplicación nativa Chamilo”
Day 2: Mobile learning “Aplicación nativa Chamilo”
 
Day 3: ¿Cómo transformar su portal Chamilo LMS en tienda on-line colaborativa?
Day 3: ¿Cómo transformar su portal Chamilo LMS en tienda on-line colaborativa? Day 3: ¿Cómo transformar su portal Chamilo LMS en tienda on-line colaborativa?
Day 3: ¿Cómo transformar su portal Chamilo LMS en tienda on-line colaborativa?
 
Day 3: MOOCs de Salud en Chamilo LMS
Day 3: MOOCs de Salud en Chamilo LMS Day 3: MOOCs de Salud en Chamilo LMS
Day 3: MOOCs de Salud en Chamilo LMS
 
Day 3: Aplicaciones de software libre integradas al eLearning: uso de mapas c...
Day 3: Aplicaciones de software libre integradas al eLearning: uso de mapas c...Day 3: Aplicaciones de software libre integradas al eLearning: uso de mapas c...
Day 3: Aplicaciones de software libre integradas al eLearning: uso de mapas c...
 
Day 2: ¿Es posible impartir educación de calidad sin acceso a Internet?
 Day 2: ¿Es posible impartir educación de calidad sin acceso a Internet? Day 2: ¿Es posible impartir educación de calidad sin acceso a Internet?
Day 2: ¿Es posible impartir educación de calidad sin acceso a Internet?
 
Day 2: Herramienta de evaluaciones aplicado al sistema nacional de bachillera...
Day 2: Herramienta de evaluaciones aplicado al sistema nacional de bachillera...Day 2: Herramienta de evaluaciones aplicado al sistema nacional de bachillera...
Day 2: Herramienta de evaluaciones aplicado al sistema nacional de bachillera...
 
Day 2: ¿Cómo realizar un guión instruccional para crear contenidos multimedia...
Day 2: ¿Cómo realizar un guión instruccional para crear contenidos multimedia...Day 2: ¿Cómo realizar un guión instruccional para crear contenidos multimedia...
Day 2: ¿Cómo realizar un guión instruccional para crear contenidos multimedia...
 
Day 2: Creación de crucigramas en Chamilo LMS con HotPotatoes
Day 2: Creación de crucigramas en Chamilo LMS con HotPotatoes Day 2: Creación de crucigramas en Chamilo LMS con HotPotatoes
Day 2: Creación de crucigramas en Chamilo LMS con HotPotatoes
 
Day 2: Explicación Actividades Chamilo Conference 2016
Day 2: Explicación Actividades Chamilo Conference 2016Day 2: Explicación Actividades Chamilo Conference 2016
Day 2: Explicación Actividades Chamilo Conference 2016
 
Day 2: Chamilo en Perú: Experiencia de 8 años usando Chamilo LMS
Day 2: Chamilo en Perú: Experiencia de 8 años usando Chamilo LMS Day 2: Chamilo en Perú: Experiencia de 8 años usando Chamilo LMS
Day 2: Chamilo en Perú: Experiencia de 8 años usando Chamilo LMS
 
Day 2: Conferencia Magistral: Visión de Chamilo al 2020
Day 2: Conferencia Magistral: Visión de Chamilo al 2020 Day 2: Conferencia Magistral: Visión de Chamilo al 2020
Day 2: Conferencia Magistral: Visión de Chamilo al 2020
 
Day 2: Bienvenida e Inauguración Chamilo Conference 2016
Day 2: Bienvenida e Inauguración Chamilo Conference 2016Day 2: Bienvenida e Inauguración Chamilo Conference 2016
Day 2: Bienvenida e Inauguración Chamilo Conference 2016
 

Último

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOBRIGIDATELLOLEONARDO
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdfMiNeyi1
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 

Último (20)

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 

Chamilo para-desarrolladores-1.9

  • 1. Chamilo 1.9 para desarrolladores
  • 2. Historia de versiones 1.8.6.2 1.8.7 1.8.7.1 1.8.8 1.8.8.2 1.8.8.4 1.9 -> noviembre 2011?
  • 3. Comunidad Empleo LMS Socios Asociación Software (libre)
  • 4. Comunidad ● 660,000 usuarios en el mundo (+1000/día) ● 1100 portales ● 300 activos en foros ● 27 desarrolladores ● 40 traductores ● 50 “reporteros”/”consejeros” Mejoran la calidad del software Facilitan su aprendizaje
  • 6. Herramientas ● ¿Eclipse 3.2 + PHPEclipse + Subclipse ? ● Navegadores + Flash player 9 ● Bajo MS-Windows ● EasyPHP / WAMPP (Apache + PHP5 + MySQL) ● Bajo Ubuntu Linux ● sudo apt-get install apache2 libapache2-mod-php5 mysql-server phpmyadmin ● Descargar http://www.chamilo.org/es/download-es/
  • 9. Base principal: 105 tablas + stats + users
  • 10. Base cursos: 85 tablas
  • 11. Bases de datos y Caching ● Campos eficientes = ancho fijo ● Tablas en Cache = memoria RAM++
  • 13. Recursos ● http://www.chamilo.org/forum ● http://support.chamilo.org/projects/chamilo-18/wiki ● http://support.chamilo.org ● http://code.google.com/p/chamilo (classic) ● Convenciones de código (wiki) ● http://translate.chamilo.org (Chrome)
  • 14. Plugin, tool e integración
  • 15. Plugin, tool, integración ● Plugin – Agrega funcionalidad – No modifica el código de Chamilo ● Tool – Agrega funcionalidad – Modifica el código de Chamilo
  • 16. Plugin, tool, integración ● Integración – Integrar tool o plugin dentro de Chamilo – Soportarlo en las versiones siguientes ● Ejemplos – Messages (tool) – Date (plugin) – Search (tool) – Glossary (tool)
  • 18. ¿Desarrollamos uno? ● Ejemplo: Glosario ● Necesitamos – Un editor de textos (o de código PHP) – Un navegador – Una instalación de Chamilo – Una herramienta para consultar la BD
  • 19. ¿Desarrollamos uno? ● ¿Un glosario, qué es? – Un directorio de palabras – Con definiciones – Que puedo consultar como alumno – Que puedo modificar como profesor
  • 20. ¿Desarrollamos uno? ● En Chamilo necesito – Declarar este tool – Integrarlo dentro de la estructura – Darle una base de datos – Darle una interfaz – Darle unas funciones de acceso – Darle términos traducibles para la interfaz
  • 21. ¿Desarrollamos uno? ● Declarar – main/inc/lib/main_api.lib.php – define('TOOL_GLOSSARY', 'glossary');
  • 22. ¿Desarrollamos uno? ● Integración en la estructura – main/glossary/ – Nuevo fichero main/glossary/index.php
  • 23. ¿Desarrollamos uno? ● Base de datos CREATE TABLE glossary ( id int auto_increment, title varchar(200), description text );
  • 24. ¿Desarrollamos uno? ● Base de datos (2) – Para nuevas instalaciones ● main/inc/lib/add_course.lib.inc.php – Para actualizaciones ● main/install/migrate-db-1.8.8-1.8.9.pre.sql – Para el enlace dentro de la página de curso api_sql_query("INSERT INTO `" . $tbl_course_homepage . "` (...) VALUES ('" .TOOL_GLOSSARY."', 'glossary/index.php', 'glossary.gif', '1', '0', '', 'NO', '_self', 'authoring')");
  • 25. ¿Desarrollamos uno? ● Base de datos (3) – Declarar tabla dentro de main/inc/lib/database.constants.inc.php : // glossary tables define('TABLE_GLOSSARY', 'glossary');
  • 26. ¿Desarrollamos uno? ● Interfaz <?php /* License terms */ /** * Description of the script */ require_once '../inc/global.inc.php'; $tool = TOOL_GLOSSARY; $abc = 5 + 4; //code logic Display::display_header($tool); echo $abc; //display code Display::display_footer();
  • 27. ¿Desarrollamos uno? ● Funciones de acceso – Si es de acceso general -> main/inc/lib – Si es de acceso local -> main/glossary/ ● De preferencia una clase ● main/glossary/glossary.class.php class glossary { public var $terms; public static function glossary(...) { ... } public static function get_terms_for_display(...) {...} }
  • 28. ¿Desarrollamos uno? ● Términos traducibles – Agregar main/lang/spanish/glossary.inc.php ● Agregar mis variables en forma $MyLanguageVariable = “Mi variable de idioma”; – Usar get_lang('MyLanguageVariable')
  • 29. ¿Desarrollamos uno? ● Interfaz (2) <?php /* License terms */ /** * Description of the script */ $language_files = array('glossary'); require_once '../inc/global.inc.php'; require_once 'glossary.class.php'; $tool = TOOL_GLOSSARY; $glossary = new glossary(); Display::display_header($tool); echo $glossary -> get_terms_for_display($_GET['term_id']); Display::display_footer();
  • 33. Bugs y parches ● Elementos esenciales de un bug report – Evitar duplicados – Título claro – Descripción completa – URL o nombre del script – Parámetros del URL – Como reproducir (desde el login) – Captura de pantalla – Mensaje de error (copiar y pegar)
  • 34. Fin