Personal tools
You are here: Home Development Documents gvSIG desktop 1.0 / 1.1 gvSIG Andami Plugins y extensiones Plugins
==========================
Plugins y extensiones
==========================

En un gvSIG instalado, existe un subdirectorio llamado *gvSIG/extensiones*. Dicho subdirectorio contiene a su vez un conjunto de directorios, cada uno de los cuales constituye un plugin. Los plugins no son más que un conjunto de clases Java que añaden nuevas funcionalidades a la aplicación. Si inspeccionamos el mencionado directorio observaremos que existe un plugin llamado *com.iver.core*, que contiene libCorePlugin (el skin de Andami) y un plugin llamado *com.iver.cit.gvsig*, que contiene el plugin gvSIG (el plugin principal de la aplicación). Dependiendo de la instalación de gvSIG que hayamos realizado, podremos localizar otros plugins como *com.iver.cit.gvsig.cad* (funcionalidades de edición de cartografía), *org.gvsig.scripting* (que añade las capacidades de scripting), *com.iver.cit.gvsig.wms* (cliente de WMS), etc

Las nuevas funcionalidades añadidas por los plugins, deben conectarse de alguna forma con el resto de la aplicación. Este punto de conexión lo aportan las extensiones, que son clases Java que implementan la interfaz *IExtension*, y que hacen de puente entre la funcionalidad ya existente y la nueva funcionalidad aportada por el plugin.

==========================
Estructura de un plugin
==========================

El contenido mínimo que un plugin debe incluir se reduce a un fichero XML llamado *config.xml*. Este fichero contiene el nombre del plugin y un abanico de detalles relevantes sobre el mismo: el directorio que contendrá las librerías aportadas por el plugin, las dependencias que tiene con otros plugins, el nombre base de los ficheros de traducciones,  las extensiones que aporta, y una descripción de los componentes que deben añadirse a la interfaz de usuario (menús, barras de herramientas, etc).

Dependiendo de los elementos definidos en el *config.xml*, el plugin puede incluir también: uno o varios ficheros JAR en el directorio de librerías, varios ficheros de traducciones, imágenes o cualquier otro tipo de datos (cartografía, datos de conexión a algún servicio, paletas de colores, etc)

Podemos ver la estructura del plugin WFS para hacernos una idea de una distribución típica de ficheros::

    gvSIG/
    extensiones/
        com.iver.cit.gvsig.wfs2/
        build.number
    
        config.xml
    
        text_en.properties
    
        text_fr.properties
    
        \.\.
    
        text.properites
    
        lib/
            com.iver.cit.gvsig.wfs2.jar
        images/
            backward.png
    
            down-arrow.png
    
            fastbackward.png
    
            fastforward.png


Normalmente, las librerías se depositan en el directorio raíz del plugin, o en un subdirectorio *lib/*. Las imágenes suelen situarse en un subdirectorio *images*. Sin embargo, la estructura puede alterarse a nuestro antojo, siempre que en el código usemos la ruta relativa adecuada (en el caso de las imágenes) o definamos correctamente el directorio en el *config.xml* (en el caso de las librerías).

View source document


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: