Plugins
Un plugin es un componente que permite añadirle funcionalidades extras a los geoperfiles. Los plugins se desarrollan a partir de Mapea.
Mapea cuenta con una guía para desarrollar plugins. También cuentan con un listado propio de plugins que han desarrollado desde el SIGCorporativo.
Para crear un plugin de Mapea, es necesario tener instalado Visual Studio Code y Node.js (Node 16.14 según las especificaciones del Libro Blanco).
Una vez instalados, se descargará el paquete de Mapea de creación de plugins añadiendo en consola “mapea-create-plugin”.
Al instalar Node.js, se añadirán nuevas funcionalidades a la terminal, es por esto por lo que ahora se podrá ejecutar el comando: "npm install -g mapea-create-plugin".
Una vez hecho esto, se descargarán las dependencias necesarias para crear un plugin.
Abrir el programa Visual Studio Code y abrir una terminal en la parte inferior de la pantalla, para poder programar mientras se ejecutan comandos desde el propio Visual Code.
A continuación, se ejecutará en la terminal el comando “mapea-create-plugin” para empezar el proceso de creación.
La terminal pedirá que se introduzca un nombre para poder crear el plugin, que será el nombre del plugin. Si el nombre lleva guión, debe ser guión bajo. Posteriormente preguntará si se desea descargar todas las dependencias necesarias para la creación de plugins, por lo que habrá introducir la letra S y pulsar Enter.
Las dependencias necesarias para la creación de plugins se descargarán e instalarán, puede tardar un tiempo al ser la primera vez, pero una vez descargadas e instaladas, la terminal avisará de ello y ya estará listo para programar y modificar el contenido del plugin, que ya ha sido creado correctamente.
Una vez se haya creado correctamente el plugin, se podrán encontrar los archivos relativos a este en el directorio: "C:\Users\[nombre de tu usuario]"
En ese directorio, se encontrará una carpeta con el nombre que se le ha dado al plugin, y en su interior se encontrarán todos los archivos que lo componen.
En la carpeta “src” se encontrarán otras 3 carpetas, las cuales serán:
- Facade: Corresponde a la "fachada".
- Dentro de la fachada, también se encuentra la carpeta "assets" que contiene dos carpetas más:
- "css". Se almacenan las hojas de estilo
- "icons". Se podrán introducir nuevos iconos que no estén incluidos en Mapea.
- También se encuentra la carpeta "js", donde se ubican los archivos de javascript que forman el plugin. Dentro de esta carpeta, aparecerán dos ficheros:
- "nombrePlugin.js". Se define el plugin.
- "nombrePlugincontrol.js". Se define el funcionamiento del plugin.
- Dentro de la fachada, también se encuentra la carpeta "assets" que contiene dos carpetas más:
- Impl: Corresponde con la parte de la implementación.
- En su interior está la carpeta "ol", y dentro otra carpeta cuyo nombre también es "js". Esta carpeta contiene los ficheros JavaScript en los que se encuentra la implementación de las funciones utilizadas. Estos archivos son los que componen la funcionalidad del plugin.
- Templates: Se encuentran los archivos HTML.
Destacar que en la carpeta general también se encuentra el fichero "api.json". En dicho fichero se añade toda la información correspondiente al plugin.
Bien es cierto que la mayoría de modificaciones se realizarán en los archivos de la fachada, ya que la implementación solo se modificará si desean realizar cambios de funcionamiento a un nivel más interno, ya que esta implementación actúa como una capa intermediaria entre Mapea y OpenLayers, ya que Mapea actúa por encima de este último.
Después de esto, para poder utilizar el plugin en un mapa de Mapea, habrá que compilarlo con la instrucción "npm run build" o con "npm run test-build" (si se quiere probar con el fichero de "prod.html").
El despliegue se realiza en dos pasos:
- BASE DE DATOS: Conectar a la base de datos de plugins(GRPGCATMG). Hacer los siguientes inserts en las tablas plugins, versiones y recursos (en este orden).
- SUBIDA DE CÓDIGO: El código del plugin se va a subir mediante el programa WinSCP.
- Navegar hasta la ubicación de la carpeta del plugin en local y arrastrar los ficheros compilados a la carpeta plugins en el servidor ("../opt/tomcat/grama/pgrepo/plugins"). Con esto queda subido el plugin al repositorio.
La estructura de ficheros del plugin deberá idealmente seguir el formato que se puede ver en otros plugins. Si no fuera así, es imprescindible asegurarse de que en la base de datos se introduce la ruta correcta para los compilados.