Changes between Version 4 and Version 5 of Version2/Tutoriales/Consola_Web/Tutorial_1_Hello_World
- Timestamp:
- Aug 19, 2010, 12:09:16 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Version2/Tutoriales/Consola_Web/Tutorial_1_Hello_World
v4 v5 3 3 La consola web de Opegnsys 2 está diseñada para ser altamente extensible mediante el desarrollo de plugins. Existe un conjunto de '''puntos de extensión''', en los que cada plugin puede añadir nuevas características. 4 4 5 Básicamente hay dos puntos de extensión principalmente: el '''Panel Principal''' y el '''Panel Contextual'''. La c nsola web muestra en la parte superior de cada página una serie de pestañas. Una de ellas siempre es el Panel de acciones llamado simplemente "Panel" de aquí en adelante. Dentro de ese panel aparece iconos/acciones genéricas que los plugins actualmente activos han introducido. Por ejemplo, algunas acciones de ejemplo podrían ser "Buscar Ordenador" o "Administrar usuarios".5 Básicamente hay dos puntos de extensión principalmente: el '''Panel Principal''' y el '''Panel Contextual'''. La consola web muestra en la parte superior de cada página una serie de pestañas. Una de ellas siempre es el Panel de acciones llamado simplemente "Panel" de aquí en adelante. Dentro de ese panel aparece iconos/acciones genéricas que los plugins actualmente activos han introducido. Por ejemplo, algunas acciones de ejemplo podrían ser "Buscar Ordenador" o "Administrar usuarios". 6 6 7 7 El otro punto de extensión es el Panel Contextual que aparece en muchas páginas de la consola web, y que muestra acciones relacionadas con lo que actualmente se está mostrando al usuario. Esas acciones son puestas ahí por los plugins, dependiendo de la url que actualmente se esté mostrando. Por ejemplo, si en el "navegador" se está mostrando actualmente un ordenador, el plugin de Inventorio de Hardware añade la acción de "Ver Perfil de Hardware" al panel contextual, que muestra el perfil de hardware del ordenador actual. … … 9 9 == Estructura de directorios == 10 10 11 Todos los plugins se localizan dentro del árbol de directorios de Opengnsys en web/pluginmanager/plugins/<nombre del plugin>. Dentro de esa carpeta debe definir el fichero __init__.py que contendrá la clase Plugin, que heredará de PluginBase, y es la que define la funcionalidad principal del plugin. La clase PluginBase define todas las funciones que un plugin puede definir. Por ejemplo existe una función llamada "install" que permite al plugin ejecutar el código que necesite a la hora de crear un plugin.11 Todos los plugins se localizan dentro del árbol de directorios de Opengnsys en web/pluginmanager/plugins/<nombre del plugin>. El plugin sabrá su nombre UNIX por la carpeta en la que está localizada. Dentro de esa carpeta debe definir el fichero __init__.py que contendrá la clase Plugin, que heredará de PluginBase, y es la que define la funcionalidad principal del plugin. La clase PluginBase define todas las funciones que un plugin puede definir. Por ejemplo existe una función llamada "install" que permite al plugin ejecutar el código que necesite a la hora de crear un plugin. 12 12 13 Además, también es necesario definir el fichero plugin.conf, que contiene la configuración más básica del plugin, y está en formato INI. Esto incluye el nombre UNIX del plugin, el nombrevisible en la aplicación, una pequeña descripción y la versión. Además de eso, también contiene más o menos esa misma información sobre cada acción que defina el plugin, tanto si son acciones que vayan a aparecer en el Panel Principal como si van a aparecer en el Panel Contextual.13 Además, también es necesario definir el fichero plugin.conf, que contiene la configuración más básica del plugin, y está en formato INI. Esto incluye el nombre visible en la aplicación, una pequeña descripción y la versión. Además de eso, también contiene más o menos esa misma información sobre cada acción que defina el plugin, tanto si son acciones que vayan a aparecer en el Panel Principal como si van a aparecer en el Panel Contextual. 14 14 15 15 … … 22 22 {{{ 23 23 [plugin] 24 name = hello_world25 24 human_name = Hello World! Tutorial 1 26 25 version = 1.0.0 27 26 28 27 [action/hello] 29 name = hello30 28 description = Displays the text Hello World! to the user 31 29 human_name = Hello … … 33 31 }}} 34 32 35 Lo que acabamos de hacer es describir nuestro plugin, y la acción "hello" , en el formato INI y con la nomenclatura de Opengnsys. Pero sólo hemos descrito cierta información, aun no hemos programado cómo funcionará. Esto lo haremos en Python dentro de __init__.py:33 Lo que acabamos de hacer es describir nuestro plugin, y la acción "hello" (el nombre UNIX se obtiene por el nombre de la sección), en el formato INI y con la nomenclatura de Opengnsys. Pero sólo hemos descrito cierta información, aun no hemos programado cómo funcionará. Esto lo haremos en Python dentro de __init__.py: 36 34 37 35 {{{