SlideShare una empresa de Scribd logo
1 de 44
Desarrollo del plugin
Chamilo-Wordpress
Tutorial
Yannick Warnier
@ywarnier
Plan de trabajo
● Que es Chamilo?
● Armar el plan: ¿Qué queremos hacer?
● Investigación: Referencias
● Instalación de software
● Primeros intentos
● Resultado
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/
Herramientas
Dispositivos
móviles
Gestión de competencias,
insignias, evaluaciones de
desempeño, ...
¿Qué queremos hacer?
● ¿Obtener datos genéricos de Chamilo?
¿Qué queremos hacer?
● ¿Obtener datos genéricos de Chamilo?
● ¿Obtener datos personalizados de Chamilo?
¿Qué queremos hacer?
● ¿Obtener datos genéricos de Chamilo?
● ¿Obtener datos personalizados de Chamilo?
● ¿Sincronizar las cuentas de usuario?
¿Qué queremos hacer?
● ¿Obtener datos genéricos de Chamilo?
● ¿Obtener datos personalizados de Chamilo?
● ¿Sincronizar las cuentas de usuario?
● ¿Single Sign On?
¡Una cosa a la vez!
¿Qué queremos hacer?
Obtener datos genéricos...
¿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
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
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
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)
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)
readme.txt
=== Chamilo ===
Contributors: ywarnier
Requires at least: 4.3
Stable tag: 1.0
Tested up to: 4.3
This plugin allows you to connect your Wordpress portal to a 
Chamilo (Learning Management System) portal.
== Description ==
Get generic and personal information from your Chamilo portal 
directly into a Wordpress block.
chamilo.php
<?php
/*
Plugin Name: Chamilo
*/
Efecto inmediato!
chamilo.php
<?php
/*
Plugin Name: Chamilo
Description: Connect to your Chamilo portal through 
simple settings
Version: 1.0
Author: Yannick Warnier
Author URI: https://github.com/ywarnier
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl­3.0.html
*/
Efecto inmediato!
chamilo.php (2)
// ...
function chamilo_install() {
    // Código de instalación
}
function chamilo_deactivation() {
    // Código de desactivación
}
function chamilo_uninstall() {
    // Código de desinstalación
}
//Calling hooks
register_activation_hook( __FILE__, 'chamilo_install' );
register_deactivation_hook( __FILE__, 'chamilo_deactivation' );
register_uninstall_hook( __FILE__, 'chamilo_uninstall' );
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...
chamilo.php (3)
// ...
function chamilo_install() {
    // Código de instalación
    register_setting( 'reading', 'chamilo_setting_url' );
    register_setting( 'reading', 'chamilo_setting_key' );
}
function chamilo_deactivation() {
    // Código de desactivación
}
function chamilo_uninstall() {
    // Código de desinstalación
    unregister_setting( 'chamilo_setting_url' );
    unregister_setting( 'chamilo_setting_key' );
};
// ...
function chamilo_install() {
    // Código de instalación
    register_setting( 'reading', 'chamilo_setting_url' );
    register_setting( 'reading', 'chamilo_setting_key' );
}
function chamilo_deactivation() {
    // Código de desactivación
}
function chamilo_uninstall() {
    // Código de desinstalación
    unregister_setting( 'chamilo_setting_url' );
    unregister_setting( 'chamilo_setting_key' );
};
Sí... pero
no...
chamilo.php (3)
function chamilo_settings_api_init() {
    add_settings_section(
        'chamilo_connectivity_section',
        __( 'Chamilo connectivity', 'chamilo' ),
        'chamilo_connectivity_section_callback',
        'reading'
    );
    add_settings_field(
        'chamilo_setting_url',
        __( 'Chamilo's portal url', 'chamilo' ),
        'chamilo_setting_url_callback_function',
        'reading',
        'chamilo_connectivity_section'
    );
    register_setting('reading', 'chamilo_setting_url');
}
add_action( 'admin_init', 'chamilo_settings_api_init' );
Mejor
explicado
Obtener datos genéricos
● Ahora tenemos los settings necesarios para la
conexión
● Conectémonos a Chamilo (servicios web)
chamilo.php (3)
function chamilo_get_courses($vis = array()) {
    $sign = chamilo_get_signature(CHAMILO_SIGN);
    $user = get_option('chamilo_setting_admin');
    if (empty($vis)) {
        $vis = 'public,public­registered';
    }
    $courses = chamilo_soap_call(
        'courses_list',
        'WSCourseList',
        $user,
        $signature,
        $visibilities
    );
    return $courses;
}
chamilo.php (3)
function chamilo_soap_call() {
    // func_get_args()
    $service_path = get_option('chamilo_setting_url');
    // [ .. ]
    // Init SOAP client
    if (!empty($service_path)) {
        $client = new SoapClient($service_path);
        try {
            $r = $client­>__soapCall($action, $params);
        } catch (Exception $e) {
            error_log('In chamilo_soap_call, exception when calling: '.
$e­>getMessage());
            return false;
        }
        return $r;
    } else {
        return FALSE;
    }
}
Obtener datos genéricos
● Ahora tenemos los datos de vuelta
● ¿Como los mostramos?
Aquí me gustaría!
Obtener datos genéricos
● Ahora tenemos los datos de vuelta
● ¿Como los mostramos?
● → En un widget!
● https://codex.wordpress.org/Function_Reference/register_widget
chamilo.php (3)
<?php //archivo ChamiloCoursesListWidget.php
class ChamiloCoursesListWidget extends WP_Widget
{
    function __construct() {
        // Instantiate the parent object
        parent::__construct( false, 'Chamilo Courses list widget' );
    }
    function widget( $args, $instance ) {
        $courses = chamilo_get_courses();
        chamilo_display_courses_list($courses);
    }
    function update( $new_instance, $old_instance ) {
        // Save widget options
    }
    function form( $instance ) {
        // Output admin widget options form
    }
}
chamilo.php (3)
// Archivo chamilo.php
include __DIR__ . '/includes/ChamiloCoursesListWidget.php';
…
add_action( 'widgets_init', 'chamilo_register_widgets' );
// Archivo chamilo­functions.php
function chamilo_register_widgets() {
    register_widget( 'ChamiloCoursesListWidget' );
}
chamilo.php (3)
// Archivo chamilo­functions.php
function chamilo_display_courses_list($courses) {
    $output = '';
    if (is_array($courses) && !empty($courses)) {
        $output .= '<ul>';
        foreach ($courses as $course) {
            $output .= '<li>'
                      . '<a href="'.$course url→ .'" '
                      . ' target="_blank">'
                      . utf8_decode($course title→ )
                      . '</a> ('.$course language→ .')'
                    .'</li>';
        }
        $output .= '</ul>';
    }
    echo $output;
}
Aquí está!
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.
Conclusiones (2)
● ¿Que viene después?
● Ampliar funcionalidades
● Crear theme
● Registrar el plugin
Yannick Warnier
BeezNest
info@beeznest.com
@beeznestla

Más contenido relacionado

La actualidad más candente

Getting Started with WooCommerce
Getting Started with WooCommerceGetting Started with WooCommerce
Getting Started with WooCommerceAnthony Hortin
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVCMichael Douglas
 
Introduction of wordpress, Wordpress Training Ahmedabad, Wordpress Class Ahme...
Introduction of wordpress, Wordpress Training Ahmedabad, Wordpress Class Ahme...Introduction of wordpress, Wordpress Training Ahmedabad, Wordpress Class Ahme...
Introduction of wordpress, Wordpress Training Ahmedabad, Wordpress Class Ahme...NicheTech Com. Solutions Pvt. Ltd.
 
webutil oracle forms
webutil oracle formswebutil oracle forms
webutil oracle formsisrael
 
Desmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest FrameworkDesmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest FrameworkBruno Oliveira
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoJessyka Lage
 
Web Performance: 3 Stages to Success
Web Performance: 3 Stages to SuccessWeb Performance: 3 Stages to Success
Web Performance: 3 Stages to SuccessAustin Gil
 
Diseño de páginas Web con HTML
Diseño de páginas Web con HTMLDiseño de páginas Web con HTML
Diseño de páginas Web con HTMLJavier
 
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Jackson Meires
 
Introduction to WordPress for Beginners
Introduction to WordPress for BeginnersIntroduction to WordPress for Beginners
Introduction to WordPress for BeginnersR-Cubed Design Forge
 
WooCommerce training slides
WooCommerce training slides WooCommerce training slides
WooCommerce training slides Jamie Marsland
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core componentsLokesh BS
 
How To Improve Your Write-Ups Using Grammarly
How To Improve Your Write-Ups Using GrammarlyHow To Improve Your Write-Ups Using Grammarly
How To Improve Your Write-Ups Using GrammarlyMark Anthony Eusebio
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasNorton Guimarães
 

La actualidad más candente (20)

Getting Started with WooCommerce
Getting Started with WooCommerceGetting Started with WooCommerce
Getting Started with WooCommerce
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVC
 
Introduction of wordpress, Wordpress Training Ahmedabad, Wordpress Class Ahme...
Introduction of wordpress, Wordpress Training Ahmedabad, Wordpress Class Ahme...Introduction of wordpress, Wordpress Training Ahmedabad, Wordpress Class Ahme...
Introduction of wordpress, Wordpress Training Ahmedabad, Wordpress Class Ahme...
 
webutil oracle forms
webutil oracle formswebutil oracle forms
webutil oracle forms
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Desmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest FrameworkDesmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest Framework
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
Html5
Html5Html5
Html5
 
Web Performance: 3 Stages to Success
Web Performance: 3 Stages to SuccessWeb Performance: 3 Stages to Success
Web Performance: 3 Stages to Success
 
Diseño de páginas Web con HTML
Diseño de páginas Web con HTMLDiseño de páginas Web con HTML
Diseño de páginas Web con HTML
 
Enlace corto One Drive
Enlace corto One DriveEnlace corto One Drive
Enlace corto One Drive
 
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil
 
Cuestionario Preparatorio Html, css y html 5
Cuestionario Preparatorio Html, css y html 5Cuestionario Preparatorio Html, css y html 5
Cuestionario Preparatorio Html, css y html 5
 
Introduction to WordPress for Beginners
Introduction to WordPress for BeginnersIntroduction to WordPress for Beginners
Introduction to WordPress for Beginners
 
Nticx
Nticx Nticx
Nticx
 
WooCommerce training slides
WooCommerce training slides WooCommerce training slides
WooCommerce training slides
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core components
 
How To Improve Your Write-Ups Using Grammarly
How To Improve Your Write-Ups Using GrammarlyHow To Improve Your Write-Ups Using Grammarly
How To Improve Your Write-Ups Using Grammarly
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e Dicas
 

Destacado

Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CIYannick Warnier
 
Chamilo advantages against other LMSes
Chamilo advantages against other LMSesChamilo advantages against other LMSes
Chamilo advantages against other LMSesYannick Warnier
 
Programa Chamilo Conference
Programa Chamilo ConferencePrograma Chamilo Conference
Programa Chamilo ConferenceMichela Mosquera
 
Taller: Cobrar por sus cursos con el plugin PayPal para Chamilo LMS
Taller: Cobrar por sus cursos con el plugin PayPal para Chamilo LMSTaller: Cobrar por sus cursos con el plugin PayPal para Chamilo LMS
Taller: Cobrar por sus cursos con el plugin PayPal para Chamilo LMSChamilo Association
 
Integración de Chamilo con soluciones de comercio electrónico
Integración de Chamilo con soluciones de comercio electrónicoIntegración de Chamilo con soluciones de comercio electrónico
Integración de Chamilo con soluciones de comercio electrónicoChamilo Association
 
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
 
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Yannick Warnier
 
Estandares video-oggtheora-webm
Estandares video-oggtheora-webmEstandares video-oggtheora-webm
Estandares video-oggtheora-webmYannick Warnier
 
Chamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreChamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreYannick Warnier
 
El conectivismo y chamilo lms
El conectivismo y chamilo lmsEl conectivismo y chamilo lms
El conectivismo y chamilo lmsMichela Mosquera
 
Chamilo LMS use cases in private and public companies
Chamilo LMS use cases in private and public companiesChamilo LMS use cases in private and public companies
Chamilo LMS use cases in private and public companiesContidos Dixitais
 
Categories of question on chamilo tests
Categories of question on chamilo testsCategories of question on chamilo tests
Categories of question on chamilo testsHubert Borderiou
 
ApresentaçãO1
ApresentaçãO1ApresentaçãO1
ApresentaçãO1afavellar
 
Clean Dokeos documents inconsistencies on filesystem and database before upgr...
Clean Dokeos documents inconsistencies on filesystem and database before upgr...Clean Dokeos documents inconsistencies on filesystem and database before upgr...
Clean Dokeos documents inconsistencies on filesystem and database before upgr...Hubert Borderiou
 
Course enrichment using Chamilo
Course enrichment using ChamiloCourse enrichment using Chamilo
Course enrichment using ChamiloUniv of Grenoble
 
En busca de nombre dominio y Hosting
En busca de nombre dominio y HostingEn busca de nombre dominio y Hosting
En busca de nombre dominio y HostingMichela Mosquera
 
Actividad3 michela-mosquera
Actividad3 michela-mosqueraActividad3 michela-mosquera
Actividad3 michela-mosqueraMichela Mosquera
 

Destacado (20)

Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
 
Chamilo advantages against other LMSes
Chamilo advantages against other LMSesChamilo advantages against other LMSes
Chamilo advantages against other LMSes
 
Pluggin creation
Pluggin creationPluggin creation
Pluggin creation
 
Programa Chamilo Conference
Programa Chamilo ConferencePrograma Chamilo Conference
Programa Chamilo Conference
 
Taller: Cobrar por sus cursos con el plugin PayPal para Chamilo LMS
Taller: Cobrar por sus cursos con el plugin PayPal para Chamilo LMSTaller: Cobrar por sus cursos con el plugin PayPal para Chamilo LMS
Taller: Cobrar por sus cursos con el plugin PayPal para Chamilo LMS
 
Integración de Chamilo con soluciones de comercio electrónico
Integración de Chamilo con soluciones de comercio electrónicoIntegración de Chamilo con soluciones de comercio electrónico
Integración de Chamilo con soluciones de comercio electrónico
 
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 LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
 
Estandares video-oggtheora-webm
Estandares video-oggtheora-webmEstandares video-oggtheora-webm
Estandares video-oggtheora-webm
 
Asociación Chamilo
Asociación ChamiloAsociación Chamilo
Asociación Chamilo
 
Chamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreChamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libre
 
El conectivismo y chamilo lms
El conectivismo y chamilo lmsEl conectivismo y chamilo lms
El conectivismo y chamilo lms
 
Chamilo LMS use cases in private and public companies
Chamilo LMS use cases in private and public companiesChamilo LMS use cases in private and public companies
Chamilo LMS use cases in private and public companies
 
Categories of question on chamilo tests
Categories of question on chamilo testsCategories of question on chamilo tests
Categories of question on chamilo tests
 
ApresentaçãO1
ApresentaçãO1ApresentaçãO1
ApresentaçãO1
 
Clean Dokeos documents inconsistencies on filesystem and database before upgr...
Clean Dokeos documents inconsistencies on filesystem and database before upgr...Clean Dokeos documents inconsistencies on filesystem and database before upgr...
Clean Dokeos documents inconsistencies on filesystem and database before upgr...
 
Course enrichment using Chamilo
Course enrichment using ChamiloCourse enrichment using Chamilo
Course enrichment using Chamilo
 
Introduccion chamilo 1.10
Introduccion chamilo 1.10Introduccion chamilo 1.10
Introduccion chamilo 1.10
 
En busca de nombre dominio y Hosting
En busca de nombre dominio y HostingEn busca de nombre dominio y Hosting
En busca de nombre dominio y Hosting
 
Actividad3 michela-mosquera
Actividad3 michela-mosqueraActividad3 michela-mosquera
Actividad3 michela-mosquera
 

Similar a Desarrollo del plugin Chamilo-Wordpress

Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendmenttes
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plonementtes
 
Herramientas de lanzamiento. Nuestra web
Herramientas de lanzamiento. Nuestra webHerramientas de lanzamiento. Nuestra web
Herramientas de lanzamiento. Nuestra webLorena Fernández
 
cargar un website en la red social
cargar un website en la red socialcargar un website en la red social
cargar un website en la red socialJonathan Chuquilla
 
COMO USAR WORDPRESS
COMO USAR WORDPRESSCOMO USAR WORDPRESS
COMO USAR WORDPRESS7Mendi7
 
Manual de wordpress para novatos
Manual de wordpress para novatosManual de wordpress para novatos
Manual de wordpress para novatosBrox Technology
 
Manual wordpress básico
Manual wordpress básicoManual wordpress básico
Manual wordpress básicoDolores Vela
 
Extender la funcionalidad de WordPress
Extender la funcionalidad de WordPressExtender la funcionalidad de WordPress
Extender la funcionalidad de WordPressFernando Puente
 
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 CaracasPlone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 CaracasLeonardo J. Caballero G.
 
05. Cómo instalar Filezilla y conectarse al servidor
05.  Cómo instalar Filezilla y conectarse al servidor05.  Cómo instalar Filezilla y conectarse al servidor
05. Cómo instalar Filezilla y conectarse al servidorkepamara
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Ricardo Guerrero Gómez-Olmedo
 
Trabajo practico numero1 informatica cristian malagoli
Trabajo practico numero1 informatica cristian malagoliTrabajo practico numero1 informatica cristian malagoli
Trabajo practico numero1 informatica cristian malagoliCristian Malagoli
 

Similar a Desarrollo del plugin Chamilo-Wordpress (20)

Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
 
Consulta wordpress
Consulta  wordpressConsulta  wordpress
Consulta wordpress
 
De Cero a Wordpress
De Cero a WordpressDe Cero a Wordpress
De Cero a Wordpress
 
Presentación1.1
Presentación1.1Presentación1.1
Presentación1.1
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Herramientas de lanzamiento. Nuestra web
Herramientas de lanzamiento. Nuestra webHerramientas de lanzamiento. Nuestra web
Herramientas de lanzamiento. Nuestra web
 
Pre 1
Pre 1Pre 1
Pre 1
 
cargar un website en la red social
cargar un website en la red socialcargar un website en la red social
cargar un website en la red social
 
Curso joomla-3
Curso joomla-3Curso joomla-3
Curso joomla-3
 
COMO USAR WORDPRESS
COMO USAR WORDPRESSCOMO USAR WORDPRESS
COMO USAR WORDPRESS
 
Manual de wordpress para novatos
Manual de wordpress para novatosManual de wordpress para novatos
Manual de wordpress para novatos
 
Manualwordpress3
Manualwordpress3Manualwordpress3
Manualwordpress3
 
Manual wordpress básico
Manual wordpress básicoManual wordpress básico
Manual wordpress básico
 
Extender la funcionalidad de WordPress
Extender la funcionalidad de WordPressExtender la funcionalidad de WordPress
Extender la funcionalidad de WordPress
 
Plone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativosPlone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativos
 
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 CaracasPlone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
 
05. Cómo instalar Filezilla y conectarse al servidor
05.  Cómo instalar Filezilla y conectarse al servidor05.  Cómo instalar Filezilla y conectarse al servidor
05. Cómo instalar Filezilla y conectarse al servidor
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
 
Trabajo practico numero1 informatica cristian malagoli
Trabajo practico numero1 informatica cristian malagoliTrabajo practico numero1 informatica cristian malagoli
Trabajo practico numero1 informatica cristian malagoli
 
Joomla 3
Joomla 3Joomla 3
Joomla 3
 

Más de Yannick Warnier

Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Yannick Warnier
 
The benefits of using Git
The benefits of using GitThe benefits of using Git
The benefits of using GitYannick Warnier
 
Skillms, solution de gestion des talents
Skillms, solution de gestion des talentsSkillms, solution de gestion des talents
Skillms, solution de gestion des talentsYannick Warnier
 
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Yannick Warnier
 
Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Yannick Warnier
 
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Yannick Warnier
 
L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017Yannick Warnier
 
Introducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMIntroducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMYannick Warnier
 
Como usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloComo usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloYannick Warnier
 
Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Yannick Warnier
 
Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Yannick Warnier
 
Taller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMPTaller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMPYannick Warnier
 
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011Yannick Warnier
 
Skillbeez short-presentation
Skillbeez short-presentationSkillbeez short-presentation
Skillbeez short-presentationYannick Warnier
 
Educación de impacto con asistencia tecnológica
Educación de impacto con asistencia tecnológicaEducación de impacto con asistencia tecnológica
Educación de impacto con asistencia tecnológicaYannick Warnier
 
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
 

Más de Yannick Warnier (20)

Chamilo, 12 ans déjà
Chamilo, 12 ans déjàChamilo, 12 ans déjà
Chamilo, 12 ans déjà
 
Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018
 
Novedades de PHP 7.*
Novedades de PHP 7.*Novedades de PHP 7.*
Novedades de PHP 7.*
 
The benefits of using Git
The benefits of using GitThe benefits of using Git
The benefits of using Git
 
Skillms, solution de gestion des talents
Skillms, solution de gestion des talentsSkillms, solution de gestion des talents
Skillms, solution de gestion des talents
 
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
 
Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017
 
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
 
L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017
 
Introducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMIntroducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPM
 
Como usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloComo usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso Chamilo
 
Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014
 
Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)
 
Taller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMPTaller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMP
 
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
 
Skillbeez short-presentation
Skillbeez short-presentationSkillbeez short-presentation
Skillbeez short-presentation
 
Educación de impacto con asistencia tecnológica
Educación de impacto con asistencia tecnológicaEducación de impacto con asistencia tecnológica
Educación de impacto con asistencia tecnológica
 
L'association Chamilo
L'association ChamiloL'association Chamilo
L'association Chamilo
 
The Chamilo Association
The Chamilo AssociationThe Chamilo Association
The Chamilo Association
 
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
 

Último

Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososAdrianVarela22
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasPaulina Cargua
 
METROLOGÍA ÓPTICA E INSTRUMENTACIÓN BÁSICA.pdf
METROLOGÍA ÓPTICA E INSTRUMENTACIÓN BÁSICA.pdfMETROLOGÍA ÓPTICA E INSTRUMENTACIÓN BÁSICA.pdf
METROLOGÍA ÓPTICA E INSTRUMENTACIÓN BÁSICA.pdfesparzadaniela548
 
Sistema Operativo Windows Capas Estructura
Sistema Operativo Windows Capas EstructuraSistema Operativo Windows Capas Estructura
Sistema Operativo Windows Capas EstructuraJairoMaxKevinMartine
 
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfINFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfsolidalilaalvaradoro
 
Proyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César GuzmánProyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César Guzmáncesarguzmansierra751
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
MATEMATICA BÁSICA FUNCIONES LOGARITMICAS
MATEMATICA BÁSICA FUNCIONES LOGARITMICASMATEMATICA BÁSICA FUNCIONES LOGARITMICAS
MATEMATICA BÁSICA FUNCIONES LOGARITMICASSALVADOR ALTEZ PALOMINO
 
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTACUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTAvanessaecharry2511
 
EJERCICIOS DE PROPIEDADES INDICES DE MECÁNICA DE SUELOS
EJERCICIOS DE PROPIEDADES INDICES DE MECÁNICA DE SUELOSEJERCICIOS DE PROPIEDADES INDICES DE MECÁNICA DE SUELOS
EJERCICIOS DE PROPIEDADES INDICES DE MECÁNICA DE SUELOSLuisLopez273366
 
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfPRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfAuraGabriela2
 
R. Contraloria 432-2023-CG obras x AD.pdf
R. Contraloria 432-2023-CG obras x AD.pdfR. Contraloria 432-2023-CG obras x AD.pdf
R. Contraloria 432-2023-CG obras x AD.pdfrudy cabezas
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxStibeCr
 
GeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdfGeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdffredyflores58
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesjohannyrmnatejeda
 
Sistema Séptico Domiciliario para viviendas rurales
Sistema Séptico Domiciliario para viviendas ruralesSistema Séptico Domiciliario para viviendas rurales
Sistema Séptico Domiciliario para viviendas ruralesrberinald
 
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdfnurix_15
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxKeylaArlethTorresOrt
 
LABORATORIO CALIFICADO 01 CONTENIDO DE HUMEDAD MÉTODO DE SECADO AL HORNO.pdf
LABORATORIO CALIFICADO 01 CONTENIDO DE HUMEDAD MÉTODO DE SECADO AL HORNO.pdfLABORATORIO CALIFICADO 01 CONTENIDO DE HUMEDAD MÉTODO DE SECADO AL HORNO.pdf
LABORATORIO CALIFICADO 01 CONTENIDO DE HUMEDAD MÉTODO DE SECADO AL HORNO.pdfPeraltaFrank
 
La mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionLa mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionnewspotify528
 

Último (20)

Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrosos
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicas
 
METROLOGÍA ÓPTICA E INSTRUMENTACIÓN BÁSICA.pdf
METROLOGÍA ÓPTICA E INSTRUMENTACIÓN BÁSICA.pdfMETROLOGÍA ÓPTICA E INSTRUMENTACIÓN BÁSICA.pdf
METROLOGÍA ÓPTICA E INSTRUMENTACIÓN BÁSICA.pdf
 
Sistema Operativo Windows Capas Estructura
Sistema Operativo Windows Capas EstructuraSistema Operativo Windows Capas Estructura
Sistema Operativo Windows Capas Estructura
 
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfINFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
 
Proyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César GuzmánProyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César Guzmán
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
MATEMATICA BÁSICA FUNCIONES LOGARITMICAS
MATEMATICA BÁSICA FUNCIONES LOGARITMICASMATEMATICA BÁSICA FUNCIONES LOGARITMICAS
MATEMATICA BÁSICA FUNCIONES LOGARITMICAS
 
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTACUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
 
EJERCICIOS DE PROPIEDADES INDICES DE MECÁNICA DE SUELOS
EJERCICIOS DE PROPIEDADES INDICES DE MECÁNICA DE SUELOSEJERCICIOS DE PROPIEDADES INDICES DE MECÁNICA DE SUELOS
EJERCICIOS DE PROPIEDADES INDICES DE MECÁNICA DE SUELOS
 
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfPRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
 
R. Contraloria 432-2023-CG obras x AD.pdf
R. Contraloria 432-2023-CG obras x AD.pdfR. Contraloria 432-2023-CG obras x AD.pdf
R. Contraloria 432-2023-CG obras x AD.pdf
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
 
GeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdfGeoS33333333333333333333333333333333.pdf
GeoS33333333333333333333333333333333.pdf
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajes
 
Sistema Séptico Domiciliario para viviendas rurales
Sistema Séptico Domiciliario para viviendas ruralesSistema Séptico Domiciliario para viviendas rurales
Sistema Séptico Domiciliario para viviendas rurales
 
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
 
LABORATORIO CALIFICADO 01 CONTENIDO DE HUMEDAD MÉTODO DE SECADO AL HORNO.pdf
LABORATORIO CALIFICADO 01 CONTENIDO DE HUMEDAD MÉTODO DE SECADO AL HORNO.pdfLABORATORIO CALIFICADO 01 CONTENIDO DE HUMEDAD MÉTODO DE SECADO AL HORNO.pdf
LABORATORIO CALIFICADO 01 CONTENIDO DE HUMEDAD MÉTODO DE SECADO AL HORNO.pdf
 
La mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionLa mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacion
 

Desarrollo del plugin Chamilo-Wordpress