-
Notifications
You must be signed in to change notification settings - Fork 0
9. Guía de desarrollo
Para poder desarrollar sobre API-IDEE, vamos a necesitar las siguientes librerías y programas instalados:
1./ NodeJS : https://nodejs.org/en/download/package-manager
- Versión de node: 16.20.2
- Versión de npm: 8.19.4
2./ Maven: https://maven.apache.org/download.cgi
3./ JDK: https://jdk.java.net/
4./ Visual Studio Code: https://code.visualstudio.com/Download
5./ Eclipse: https://www.eclipse.org/downloads/ -> Java WEB Developers
6./ Tomcat: https://tomcat.apache.org/download-90.cgi -> Versión 9
Si se quiere utilizar Maven, se necesitan estos archivos con la siguiente configuración:
- pom.xml: Archivo XML que contiene información sobre el proyecto y los detalles de configuración utilizados para construir el proyecto.
- urlwrite.xml: Es utilizado por la librería URLRewriteFilter, que permite la reescritura de URLs en aplicaciones web Java.
- web.xml: Contiene la configuración de la aplicación web.
Los visualizadores creados con Maven utilizan dos plugins para generar el .war del proyecto (maven-war-plugin, maven-resources-plugin y frontend-maven-plugin).
maven-war-plugin configuración:
${basedir} es una variable de entorno que representa el directorio base del proyecto. Es decir, la ruta absoluta al directorio que contiene el archivo pom.xml.
- directory: Nombre de la carpeta tras realizar npm run build.
- webXml: Especificar la ubicación del archivo web.xml que contiene la configuración de la aplicación web.
<configuration>
<webResources>
<resource>
<directory>dist</directory>
</resource>
<resource>
<directory>${basedir}</directory>
<targetPath>WEB-INF</targetPath>
<includes>
<include>urlrewrite.xml</include>
</includes>
</resource>
</webResources>
<webXml>${basedir}/web.xml</webXml>
</configuration>maven-resources-plugin configuración:
Se utiliza para copiar recursos de la aplicación en el directorio de destino. En este caso, la configuración específica del plugin se establece para la fase "clean" y utiliza el goal "resources" para copiar los recursos.
En concreto, se configura para copiar recursos filtrados a la carpeta "config". También se establece la propiedad "overwrite" en true, lo que significa que cualquier archivo existente en el directorio de destino se sobrescribirá si se encuentra una versión más reciente del mismo archivo en la carpeta de origen.
<executions>
<execution>
<id>npm resources filtering</id>
<goals>
<goal>resources</goal>
</goals>
<phase>clean</phase>
<configuration>
<outputDirectory>config</outputDirectory>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>frontend-maven-plugin configuración:
Este plugin se encarga de crear el "build" de la aplicación (archivos compilados) instalando Node y NPM. Utiliza npm install y npm run build, que tiene que estar configurado en el pom.xml.
<executions>
<!-- INSTALL NODE AND NPM -->
<execution>
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<nodeVersion>v16.20.2</nodeVersion>
<npmVersion>8.19.4</npmVersion>
</configuration>
</execution>
<!-- RUNNING NPM -->
<execution>
<id>run npm install</id>
<goals>
<goal>npm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<arguments>install</arguments>
</configuration>
</execution>
<!-- RUN BUILD -->
<execution>
<id>npm run build</id>
<goals>
<goal>npm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<arguments>run build</arguments>
</configuration>
</execution>
</executions>1.INICIO
1.1. Componentes de la API-IDEE
1.2. Documentación y Puntos de acceso
1.3. Primeros pasos
1.4. Diagrama API IDEE
2.1. Capas
■ 2.1.1. Fuentes
• 2.1.1.1. Capas vectoriales
+ Vector
+ WFS
+ GeoJSON
+ KML
+ MVT
+ OGCAPIFeatures
+ MBTilesVector
+ GenericVector
+ MapLibre
• 2.1.1.2. Capas ráster
+ WMS
+ WMC
+ WMTS
+ TMS
+ XYZ
+ OSM
+ MBTiles
+ GenericRaster
+ GeoTIFF
+ GeoPackageTile
• 2.1.1.3. Capas 3D
+ Terreno
+ 3DTiles
+ info 3DTiles
• 2.1.1.4. Capas rápidas
• 2.1.1.5. Grupo de capas
• 2.1.1.6. Secciones
• 2.1.1.7. GeoPackage
• 2.1.1.8. Capas externas
■ 2.1.2. Simbolización
• 2.1.2.1. Genérica
+ Puntos
+ Líneas
+ Polígonos
• 2.1.2.2. Básica
+ Puntos
+ Líneas
+ Polígonos
• 2.1.2.3. Avanzada
+ Coropletas
+ Proporcional
+ Categorías
+ Estadísticos
+ Mapas de Calor
+ Cluster
+ Línea de flujo
+ Composición
2.4. Paneles
» Creación de panel desde cero sin controles
» Tutorial Panel de un único control
5. API REST
5.1. Parametrización API-REST
5.2. Base de Datos API-REST
5.3. API REST Actions
5.4. Servicio de correos electrónicos
5.5. Capas rápidas
5.6. Parametrización API-REST plugins externos
6. PARAMETRIZACIÓN VISUALIZADORES
9. GUÍA DE DESARROLLO
> Guía para colaborar en el repositorio
> Guía para el desarrollo de API-IDEE
> Guía de test de API-IDEE
» Tutorial desarrollo del núcleo de API-IDEE - (Cliente)
> Guía de desarrollo de componentes
» Tutorial desarrollo del núcleo de API-IDEE - (Servidor)
> Guía de desarrollo de plugins
» Tutorial desarrollo de plugins ya creados
» Tutorial desarrollo de nuevos plugins
> Guía de desarrollo de visualizadores con React