eBox developers guide

Javier Uruen

Ricardo Muñoz

Jorge Arcas

Isaac Clerencia

Guillermo Ontañón

Javier Amor

Enrique J. Hernández

This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


Tabla de contenidos

1. Introducción
1.1. ¿A quién va dirigido?
1.2. ¿Qué es eBox?
1.3. Terminología
1.4. Como funciona un módulo
2. API Básica
2.1. EBox::Global
2.2. Excepciones
2.3. Validación de datos
2.4. i18n
2.4.1. i18n para desarrolladores
2.4.2. i18n para traductores
3. Backend del módulo
3.1. El módulo base
3.1.1. Constructor del módulo
3.2. Comandos de root
3.3. EBox::GConfModule
3.4. Ordenando cosas
3.5. Controlando un demonio
3.5.1. Generación del fichero de configuración
3.5.2. Controlando la ejecución
3.6. Esquemas de GConf
3.6.1. Esquema de GConf mínimo
3.6.2. Valores por defecto
3.6.3. Dependencias de módulos
3.7. Copias de seguridad
3.8. Registro administrativo
4. Interactuando con otros componentes
4.1. Introducción
4.1.1. Observers
4.2. Módulo objects
4.3. Módulo network
4.4. Módulo firewall
4.5. Definiendo nuevos observers
5. Frontend web
5.1. CGIs
5.2. Plantillas mason
5.2.1. Elementos estándar de la GUI
5.3. El menú
5.4. Resumen
6. Módulos basados en LDAP
6.1. Introducción
6.2. Obtención de la configuración
6.3. Accediendo a LDAP
6.4. Implementando tu módulo basado en LDAP
6.5. Añadiendo tu funcionalidad al interfaz de usuario
6.6. Incluyendo tus esquemas LDAP
6.7. Añadiendo tus lista de control de acceso
7. Creando un módulo simple
7.1. Estudio del servicio y evaluación de características
7.2. Crear un nuevo módulo a partir de la plantilla de módulo.
7.3. Definir e implementar la API
7.4. Creando CGIs y plantillas
7.5. Mostrando el módulo en el menú y la página Resumen
7.6. Generando los ficheros de configuración y controlando el demonio.
7.7. Estableciendo reglas a medida al firewall
7.8. Finalizando

Lista de ejemplos

2.1. Creando una instancia de un módulo de sólo-lectura
2.2. Funciones para instanciar más de un módulo
2.3. Lanzando una excepción interna genérica
2.4. Capturando una excepción
2.5. Usando funciones de validación de datos
2.6. Utilizando las funciones de validación de datos con gestión automática de errores
2.7. Usando la función __n
3.1. Sencillo constructor de un módulo
3.2. Using EBox::Sudo::root()
3.3. Asignando un valor de tipo cadena
3.4. Asignando una lista de cadenas
3.5. Recogiendo y usando un identificador único
3.6. Ordenando las reglas del firewall
3.7. Generando un fichero de configuración
3.8. Ejemplo de implementación de _regenConfig
3.9. Implementación de _stopService de ejemplo
3.10. Esquema de GConf mínimo
3.11. Creando la instancia de un módulo
3.12. Configurando un valor por defecto en los esquemas de GConf
3.13. Configurando dependencias entre módulos
3.14. Sobreescribiendo funciones para las copias de seguridad
3.15. Sobreescribiendo funciones para las copias de seguridad extendidas
3.16. Incluyendo el paquete LogAdmin
3.17. Creando un objeto con soporte a registro administrativo
3.18. Añadiendo acciones para el registro
3.19. Llamando al método logAdminDeferred
4.1. Implementación de la clase EBox::ObjectsObserver
4.2. Implementando un EBox::NetworkObserver
4.3. Creando reglas de firewall a medida
4.4. Definiendo un observer que pueda ser implementado por otros módulos
4.5. Llamando a los módulos con un observer
5.1. CGI Hola mundo
5.2. Configurando la plantilla mason para un CGI
5.3. Enviando argumentos a la plantilla de mason
5.4. Estableciendo el atributo 'msg'
5.5. Utilizando parámetros de la petición HTTP
5.6. Redirigiendo una petición a un CGI distinto
5.7. Configurando el dominio gettext en un CGI
5.8. Declarando argumentos en una plantilla de mason
5.9. Sección init en las plantillas de mason
5.10. Incluyendo código perl en una plantilla de mason
5.11. Imprimiendo cadenas en una plantilla de mason
5.12. Esquema html para mostrarle información al usuario
5.13. Tabla de listado de datos
5.14. Formulario de entrada de datos
5.15. Añadiendo carpetas y elementos al menú
5.16. Implementación de ejemplo de summary
5.17. Ejemplo de implementación de statusSummary
6.1. Implementando el método _groupAddOns
6.2. Implementando el método _includeLDAPSchemas
7.1. Constructor de EBox::NTP
7.2. Activación del servicio de sincronización
7.3. Obtención el estado del servicio NTP
7.4. Establecer el estado de la sincronización externa
7.5. Obtener el estado de la sincronización externa
7.6. Establecer servidores ntp externos
7.7. Obtener la lista de servidores ntp externos
7.8. Establecer una nueva fecha y hora en el sistema
7.9. Establecer una nueva zona horaria
7.10. Reiniciar módulos y servicios del sistema
7.11. Constructor del CGI EBox::CGI::NTP::Index
7.12. Envío del estado del servicio a la plantilla mason
7.13. CGI que habilita o deshabilita el servicio NTP
7.14. Plantilla mason para habilitar el servicio NTP
7.15. Código de plantilla mason de selección de plantillas
7.16. Añadiendo entradas al menú eBox
7.17. statusSummary en EBox::NTP
7.18. Generar el fichero de configuración /etc/ntp.conf
7.19. Plantilla mason para generar el fichero /etc/ntp.conf
7.20. Método _regenConfig
7.21. Método para la gestión del demonio
7.22. Comandos para arrancar y parar el demonio ntp.
7.23. Método _stopService.
7.24. Método para saber si el servicio está ejecutándose.
7.25. Configuración del firewall