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
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
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');
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')
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)