Skip to content

9. Guía de desarrollo

Jesús Guillen Encinas edited this page Feb 26, 2026 · 1 revision

Dependencias para desarrollar en API-IDEE

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

Uso de Maven

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. MAPA
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.1.3. Filtros

2.3.-Plugins

  > Creación de plugin en cliente

  » Tutorial de creación de un plugin

2.4. Paneles

  » Creación de panel desde cero sin controles

  » Tutorial Panel de un único control

  » Tutorial Panel de un único control con más de un botón

  » Tutorial Panel con más de un control

2.5. Eventos

  » Gestión de eventos
  » Gestión de eventos en controles personalizados

    2.6. Internacionalización

    2.7. Configuración

    2.8. Acceso librerías base

3. UTILIDADES

4. PROXY

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

7. SOLUCIÓN DE PROBLEMAS

8. PROCESO DE VERSIONADO

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

  > Compilación proyecto API-IDEE

Clone this wiki locally