Skip to content
Xabi edited this page Dec 16, 2024 · 17 revisions

En esta sección iremos indicando como mantenerse actualizado con las últimas versiones disponibles de los componentes de UDA, es decir, cuando ya se dispone de una aplicación generada, y se desea incorporar las últimas actualizaciones.

Para el proceso de actualización se dan por sentados los siguientes supuestos:

  • La actualización se realiza sobre una aplicación con la versión 4.0.0 de RUP. La actualización directa desde versiones anteriores no ha sido probada por lo que es posible que pueda darse la necesidad de realizar modificaciones extras.
  • Los ficheros originales de RUP no han sido modificados.

Si lo que buscas es información sobre cómo mantener tu entorno de desarrollo actualizado, debes consultar la sección Instalar o por el contrario, si lo que quieres es actualizar una aplicación con UDA 3.x.x, debes de consultar la wiki Actualizar 3.x.x.

IMPORTANTE: a partir de la versión 4.1.0 de UDA es necesario hacer uso de la función initRupI18nPromise() para cargar los recursos idiomáticos, se puede encontrar más información dentro de este documento en el apartado de la versión 4.1.0.

v4.5.2 (16-diciembre-2024)

Para actualizar una aplicación UDA a la versión v4.5.2 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Templates

Para generar código correspondiente a la versión v4.5.2 de UDA mediante el plugin de generación de código, se deberá seguir usando el plugin de la versión v4.5.0 pero sí que habrá que actualizar las templates con las que corresponden a la versión.

Actualizar la versión de x38

Para actualizar la librería habrá que descargar la nueva versión de x38 y seguir los siguientes pasos:

  • Actualizar fichero xxxEar\pom.xml
<properties>
	<com.ejie.x38.version>4.5.2-RELEASE</com.ejie.x38.version>
</properties>
  • Abre el build.xml del proyecto xxxEAR con el editor ant (botón derecho sobre el fichero, Open With>Ant Editor)

  • Ejecuta la tarea mavenRunDependencies (botón derecho sobre la tarea, Run As>Ant Build) actualizando las nuevas librerías xxxEAR\APP_INF\lib

  • Sobre el proyecto xxxEAR pulsa F5 (Refresh)

  • Borra versión o versiones anteriores, en caso de que permanezca alguna.

Aplicación

Corregir funcionamiento de exportación a ODS en la tabla

Cuando la aplicación se despliega en WebLogic 12 o 14, pueden ocurrir errores a la hora de exportar datos de la tabla a un archivo ODS. Para solucionarlo, es necesario incluir en el classpath del servidor las librerías xalan y xercesImpl.

Para ello, se debe incluir la siguiente asignación en el script de arranque startWebLogic presente en el dominio (las rutas son un mero ejemplo):

  • Windows:
@REM ######### export values (PRE_CLASSPATH) #########
set EXT_PRE_CLASSPATH=C:\aplic\n38\lib\xalan\xalan-j_2_7_2\xalan.jar;C:\aplic\n38\lib\xalan\xalan-j_2_7_2\xercesImpl.jar
  • Linux:
# ######### export values (PRE_CLASSPATH) #########
EXT_PRE_CLASSPATH="/aplic/n38/lib/xalan/xalan-j_2_7_2/xalan.jar;/aplic/n38/lib/xalan/xalan-j_2_7_2/xercesImpl.jar"
Eliminar el envío de trazas y métricas a BIG-DATA

En aquellas aplicaciones en las que el envío de trazas y métricas esté activo, es necesario llevar a cabo los siguientes pasos para eliminar el envío puesto que el servicio de métricas, pronto va a ser dado de baja por parte de EJIE y el envío de trazas a BIG-DATA tampoco tiene un futuro a largo plazo:

  • Eliminar del fichero xxxEar\pom.xml
<dependency>
	<groupId>com.ejie</groupId>
	<artifactId>w43ta</artifactId>
	<version>2.4</version>
</dependency>
  • Eliminar del fichero xxxAppWar\WebContent\WEB-INF\spring\mvc-config.xml
<!-- Audit  -->
<bean id="auditController" class="com.ejie.x38.audit.AuditController" />
  • Eliminar del fichero xxxConfig\xxx.properties todas las propiedades que contengan el prefijo momo.
Redirección configurable en error de autenticación

Permite configurar en las propiedades de la aplicación si se desea redireccionar cuando una petición XHR falla por no disponer de credenciales válidas. La propiedad necesaria para definirlo es xhr.redirectOnError y admite valores booleanos.

También se podrá definir a dónde redireccionar mediante xhr.unauthorizedPage, habiendo tres opciones de configuración disponibles:

  • Si no se define, redireccionará al endpoint que está securizado.
  • Definido a referer, redireccionará al origen desde el que se realizó la petición que falló.
  • Definido a una URL, redireccionará siempre a esa URL.

Para que se puedan detectar los errores de autenticación y así redireccionar, es necesario añadir el siguiente controlador del evento ajaxError en el _layoutLoader.js:

$(document).on("ajaxError", function(event, jqXHR, ajaxSettings, thrownError) {
	if (jqXHR.status === 401 || jqXHR.status === 403) {
		window.location.href = jqXHR.getResponseHeader("LOCATION");
	}
});

v4.5.1 (28-febrero-2024)

Para actualizar una aplicación UDA a la versión v4.5.1 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Templates

Para generar código correspondiente a la versión v4.5.1 de UDA mediante el plugin de generación de código, se deberá seguir usando el plugin de la versión v4.5.0 pero sí que habrá que actualizar las templates con las que corresponden a la versión.

Actualizar la versión de x38

Para actualizar la librería habrá que descargar la nueva versión de x38 y seguir los siguientes pasos:

  • Actualizar fichero xxxEar\pom.xml
<properties>
	<com.ejie.x38.version>4.5.1-RELEASE</com.ejie.x38.version>
</properties>
  • Abre el build.xml del proyecto xxxEAR con el editor ant (botón derecho sobre el fichero, Open With>Ant Editor)

  • Ejecuta la tarea mavenRunDependencies (botón derecho sobre la tarea, Run As>Ant Build) actualizando las nuevas librerías xxxEAR\APP_INF\lib

  • Sobre el proyecto xxxEAR pulsa F5 (Refresh)

  • Borra versión o versiones anteriores, en caso de que permanezca alguna.

v4.5.0 (18-octubre-2023)

Para actualizar una aplicación UDA a la versión v4.5.0 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Plugin y Templates

Para generar código correspondiente a la versión v4.5.0 de UDA mediante el plugin de generación de código, se deberá actualizar y usar también las templates que correspondan a la versión.

Actualizar la versión de x38

Para actualizar la librería habrá que descargar la nueva versión de x38 y seguir los siguientes pasos:

  • Actualizar fichero xxxEar\pom.xml
<properties>
	<com.ejie.x38.version>4.5.0-RELEASE</com.ejie.x38.version>
</properties>
  • Abre el build.xml del proyecto xxxEAR con el editor ant (botón derecho sobre el fichero, Open With>Ant Editor)

  • Ejecuta la tarea mavenRunDependencies (botón derecho sobre la tarea, Run As>Ant Build) actualizando las nuevas librerías xxxEAR\APP_INF\lib

  • Sobre el proyecto xxxEAR pulsa F5 (Refresh)

  • Borra versión o versiones anteriores, en caso de que permanezca alguna.

v4.4.0 (23-enero-2023)

Para actualizar una aplicación UDA a la versión v4.4.0 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Actualizar la versión de x38

Para actualizar la librería habrá que descargar la nueva versión de x38 y seguir los siguientes pasos:

  • Actualizar fichero xxxEar\pom.xml
<properties>
	<com.ejie.x38.version>4.4.0-RELEASE</com.ejie.x38.version>
</properties>
  • Abre el build.xml del proyecto xxxEAR con el editor ant (botón derecho sobre el fichero, Open With>Ant Editor)

  • Ejecuta la tarea mavenRunDependencies (botón derecho sobre la tarea, Run As>Ant Build) actualizando las nuevas librerías xxxEAR\APP_INF\lib

  • Sobre el proyecto xxxEAR pulsa F5 (Refresh)

  • Borra versión o versiones anteriores, en caso de que permanezca alguna.

v4.3.3 (22-julio-2022)

Para actualizar una aplicación UDA a la versión v4.3.3 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Templates

Para generar código correspondiente a la versión v4.3.3 de UDA mediante el plugin de generación de código, se deberá seguir usando el plugin de la versión v4.3.1 pero sí que habrá que actualizar las templates con las que corresponden a la versión.

Aplicación

En esta versión, hay varios cambios a llevar a cabo:

  • Por sugerencia de esta norma de Hdiv, hay que activar el escapamiento por defecto de HTML. Para ello, se deben de incluir las siguientes líneas en el fichero de configuración de Spring xxxAppWar\WebContent\WEB-INF\web.xml:

    <context-param>
    	<param-name>defaultHtmlEscape</param-name>
    	<param-value>true</param-value>
    </context-param>
  • También hay que incluir la propiedad isEjie en el archivo properties de la aplicación que está ubicado en xxxConfig\xxx.properties. Esta propiedad indicará si la aplicación es para un entorno de EJIE y la inmensa mayoría de veces tendrá un valor true:

    isEjie=true

v4.3.2 (10-mayo-2022)

Para actualizar una aplicación UDA a la versión v4.3.2 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Templates

Para generar código correspondiente a la versión v4.3.2 de UDA mediante el plugin de generación de código, se deberá seguir usando el plugin de la versión v4.3.1 pero sí que habrá que actualizar las templates con las que corresponden a la versión.

Actualizar la versión de x38

Para actualizar la librería habrá que descargar la nueva versión de x38 y seguir los siguientes pasos:

  • Actualizar fichero xxxEar\pom.xml
<properties>
	<com.ejie.x38.version>4.3.2-RELEASE</com.ejie.x38.version>
</properties>

v4.3.1 (4-febrero-2022)

Para actualizar una aplicación UDA a la versión v4.3.1 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Plugin y Templates

Para generar código correspondiente a la versión v4.3.1 de UDA mediante el plugin de generación de código, se deberá actualizar y usar también las templates que correspondan a la versión.

Actualizar la versión de x38

Para actualizar la librería habrá que descargar la nueva versión de x38 y seguir los siguientes pasos:

  • Actualizar fichero xxxEar\pom.xml
<properties>
	<com.ejie.x38.version>4.3.1-RELEASE</com.ejie.x38.version>
</properties>

Aplicación

El fichero xxxAppWar\WebContent\WEB-INF\includeTemplate.inc contiene una asignación incorrecta por no ser el lugar adecuado (solo si se generó la aplicación como desarrollo para EJIE) y otra totalmente innecesaria, por lo tanto, hay que eliminar ambas:

<script>
//Habilitamos el envío de trazas a PIB
window.IS_EJIE = true;
</script>
<c:set var="staticsUrl" value='${staticsUrl}' />

Siempre y cuando se trate de un desarrollo para EJIE, es posible habilitar el envío de trazas a PIB definiendo en los ficheros correctos el primer bloque de código anteriormente eliminado. Esto nos ayudará a conocer el uso real de los componentes, permitiéndonos enfocarnos más en el desarrollo de unos u otros. Si se desea activar, hay que incluir el siguiente bloque de código en todos los xxxAppWar\WebContent\WEB-INF\layouts\template***.jsp justo antes del cierre de la etiqueta head:

<script>
	// Habilitar el envío de trazas a PIB.
	window.IS_EJIE = true;
</script>

v4.3.0 (23-julio-2021)

Para actualizar una aplicación UDA a la versión v4.3.0 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Verificar el colModel

Aunque el colModel ya lleva mucho tiempo en las tablas de UDA, es necesario que las propiedades name e index estén presentes, teniendo además, el mismo valor que la columna a la que referencian, al menos en el caso de la propiedad index, es obligatorio. Esto es necesario para evitar problemas con la búsqueda, gestión de columnas y bugs visuales. Esta verificación ha de realizarse en todos los archivos JavaScript de los mantenimientos que usen una tabla, pueden encontrarse dentro de la carpeta xxxStatics\WebContent\xxx\scripts\xxxYYY\.

Las entradas del colModel solían tener el siguiente aspecto:

{
    name: 'id',
    editable: true,
    hidden: false,
    width: 80,
    formoptions: {
        rowpos: 1,
        colpos: 1
    }
}

Habrá que sustituirlo por el siguiente:

{
    name: 'id',
    index: 'id',
    editable: true,
    hidden: false,
    width: 80,
    formoptions: {
        rowpos: 1,
        colpos: 1
    }
}

Como se puede observar comparando ambos ejemplos, se ha añadido la propiedad index y tiene el mismo valor que el nombre de la columna.

Añadir valor al mapping de los endpoints add y edit en los controladores

Para asegurarnos de que la edición de valores en una tabla funcione bien, es necesario añadir un valor al mapping de los endpoints add y edit en los controladores. Estos pueden ser encontrados en xxxYYYWar\src\.

Los endpoints de add y edit tendrán el siguiente aspecto:

@RequestMapping(method = RequestMethod.POST)
public @ResponseBody Usuario add(@Validated @RequestBody Usuario usuario) {		
    Usuario usuarioAux = this.tableUsuarioService.add(usuario);
    logger.info("Entity correctly inserted!");	
    return usuarioAux;
}

@RequestMapping(method = RequestMethod.PUT)
public @ResponseBody Usuario edit(@RequestJsonBody Usuario usuario) {
    Usuario usuarioAux = this.tableUsuarioService.update(usuario);
    logger.info("Entity correctly updated!");
    return usuarioAux;
}

Habrá que sustituirlo por el siguiente:

@RequestMapping(value = "/add", method = RequestMethod.POST)
public @ResponseBody Usuario add(@Validated @RequestBody Usuario usuario) {		
    Usuario usuarioAux = this.tableUsuarioService.add(usuario);
    logger.info("Entity correctly inserted!");	
    return usuarioAux;
}

@RequestMapping(value = "/edit", method = RequestMethod.PUT)
public @ResponseBody Usuario edit(@RequestJsonBody Usuario usuario) {
    Usuario usuarioAux = this.tableUsuarioService.update(usuario);
    logger.info("Entity correctly updated!");
    return usuarioAux;
}

Plugin y Templates

Para generar código correspondiente a la versión v4.3.0 de UDA mediante el plugin de generación de código, podrá usarse el de la versión anterior ya que no ha sufrido cambios (puede obtenerse aquí). Lo que sí que es necesario actualizar son las templates que correspondan a la versión.

Actualizar la versión de x38

Para actualizar la librería habrá que descargar la nueva versión de x38 y seguir los siguientes pasos:

  • Actualizar fichero pom.xml
<properties>
	<com.ejie.x38.version>4.3.0-RELEASE</com.ejie.x38.version>
</properties>

v4.2.2 (19-Noviembre-2020)

Para actualizar una aplicación UDA a la versión v4.2.2 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

JSP del footer

En esta versión de UDA se ha de editar el div que alberga el footer de la aplicación y que se encuentra en la JSP cuyo nombre es footer. Este archivo puede ser encontrado dentro de la carpeta xxxYYYWar\WebContent\WEB-INF\layouts.

El div tendrá el siguiente aspecto:

<div class="footer-row-base p-5">
	<img class="img-fluid mx-auto d-block" src="${staticsUrl}/x21a/images/web01-2014_claim_pertsona_helburu_es.gif" />
</div>

Habrá que sustituirlo por el siguiente:

<div class="d-flex justify-content-center align-items-center">
	<img class="img-fluid position-absolute" src="${staticsUrl}/x21a/images/web01-2014_claim_pertsona_helburu_es.gif" />
	<img class="img-fluid w-100" src="${staticsUrl}/x21a/images/web01-2014_oina_logo_atzekoa.gif" />
</div>

Plugin y Templates

Para generar código correspondiente a la versión v4.2.2 de UDA mediante el plugin de generación de código, se deberá actualizar y usar también las templates que correspondan a la versión.

v4.2.1 (29-Mayo-2020)

Para actualizar una aplicación UDA a la versión v4.2.1 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Templates

Para generar código correspondiente a la versión v4.2.1 de UDA mediante el plugin de generación de código de UDA se deberán actualizar las templates.

Plantillas de layouts

En esta versión de UDA se ha de editar el div que alberga el contenido de la aplicación y que se encuentra en las JSP cuyo nombre comienza por template. Dichos archivos pueden ser encontrados dentro de la carpeta xxxYYYWar\WebContent\WEB-INF\layouts, por ejemplo:

  • template.jsp
  • templateError.jsp
  • templateLogin.jsp

El div de contenido tendrá el siguiente aspecto:

<!-- Contenidos -->
<div class="content" >
	<tiles:insertAttribute name="content"/>
</div>

Habrá que sustituirlo por el siguiente, teniendo en cuenta que 'xxxYYYWar' hay que cambiarlo por el nombre del War correspondiente:

<!-- Contenidos -->
<div id="xxxYYYWar_content" class="m-0 m-md-3 p-4 clear" >
	<tiles:insertAttribute name="content"/>
</div>

v4.2.0 (24-Abril-2020)

Para actualizar una aplicación UDA a la versión v4.2.0 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Estáticos

Las siguientes líneas han de ser eliminadas del fichero _layoutLoader.js:

// Evitar conflictos entre Bootstrap y jQueryUI
$.fn.bootstrapBtn = $.fn.button.noConflict();

Includes del WAR

Debido a ciertas modificaciones en la generación de los recursos estáticos, se deberán modificar los siguientes ficheros existentes en el directorio xxxYYYWar/WebContent/WEB-INF/layouts/includes, dejándolos tal y como se muestran en los ejemplos:

  • rup.scripts.inc
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>

<%-- DESARROLLO --%>
<script src="${staticsUrl}/rup/js/rup.js" type="text/javascript"></script>
  • rup.scripts.min.inc
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>

<%-- PRODUCCION --%>
<script src="${staticsUrl}/rup/js/rup.min.js" type="text/javascript"></script>
  • rup.styles.inc
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>

<%-- DESARROLLO --%>
<link href="${staticsUrl}/rup/css/rup.css" rel="stylesheet" type="text/css" />
  • rup.styles.min.inc
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>

<%-- PRODUCCION --%>
<link href="${staticsUrl}/rup/css/rup.min.css" rel="stylesheet" type="text/css" />
  • rup.styles.portal.inc
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>

<link href="${staticsUrl}/rup/portal/rup.min.css" rel="stylesheet" type="text/css" />

Plugin y Templates

Para generar código correspondiente a la versión v4.2.0 de UDA mediante el plugin de generación de código, se deberá actualizar con el correspondiente al sistema operativo con el que se trabaje, siendo estos windows o linux y usar también las templates que correspondan a la versión.

Actualizar la versión de x38

Para actualizar la librería habrá que descargar la nueva versión de x38 y seguir los siguientes pasos:

  • Actualizar fichero pom.xml
<properties>
	<org.springframework.version>4.3.22.RELEASE</org.springframework.version>
	<org.springframework.security.version>4.2.11.RELEASE</org.springframework.security.version>
	<org.logback.version>1.2.3</org.logback.version>
	<org.slf4j.version>1.7.30</org.slf4j.version>
	<com.ejie.x38.version>4.2.0-RELEASE</com.ejie.x38.version>
	<org.apache.tiles.version>3.0.8</org.apache.tiles.version>
	<!-- <org.jackson.version>2.8.11.3</org.jackson.version> -->
	<org.jackson.version>2.7.9.5</org.jackson.version>
</properties>
  • Abrir el build.xml del proyecto xxxEAR con el editor ant (botón derecho sobre el fichero, Open With>Ant Editor)

  • Ejecutar la tarea mavenRunDependencies (botón derecho sobre la tarea, Run As>Ant Build) actualizando las nuevas librerías xxxEAR\APP_INF\lib

  • Pulsar F5 Sobre el proyecto xxxEAR (Refresh)

  • Borrar la versión o versiones anteriores, en caso de que permanezca alguna

v4.1.0 (12-Noviembre-2019)

Para actualizar una aplicación UDA a la versión v4.1.0 se deben realizar las siguientes modificaciones.

Componentes RUP

Se debe sustituir la carpeta xxxStatics\WebContent\rup por la carpeta incluida en el fichero rup.

Estáticos

En esta versión de UDA se ha incluido la función initRupI18nPromise(), esta se encargará de cargar los recursos idiomáticos cuando estén disponibles, evitando así demorar la carga de la aplicación.

Es importante remarcar que, para usar esta función de manera correcta, sólo se debe usar para cargar recursos idiomáticos y no toda la lógica de la vista con la que se esté trabajando. Un ejemplo de buena práctica sería el siguiente:

window.initRupI18nPromise.then(function(){
    options_role_combo = {
        source : [
           {label: "---", value:""},
           {label: $.rup.i18n.app["GRID_simple##rol"]["administrador"], value:"administrador"},
           {label: $.rup.i18n.app["GRID_simple##rol"]["desarrollador"], value:"desarrollador"},
           {label: $.rup.i18n.app["GRID_simple##rol"]["espectador"], value:"espectador"},
           {label: $.rup.i18n.app["GRID_simple##rol"]["informador"], value:"informador"},
           {label: $.rup.i18n.app["GRID_simple##rol"]["manager"], value:"manager"}
        ],
        width: "100%",
        customClasses: ["select-material"]
    };
});

Templates

Para generar código correspondiente a la versión v4.1.0 de UDA mediante el plugin de generación de código de UDA se deberán actualizar las templates.

v4.0.0 (28-Junio-2019)

La actualización de una aplicación UDA desde una versión 3.x.x a la nueva versión v4.0.0 se recoge de forma más detallada en el siguiente documento.

En caso de cualquier caso, es recomendable actualizar

Clone this wiki locally