-
Notifications
You must be signed in to change notification settings - Fork 2
Actualizar 4.x.x
En esta sección iremos indicando como mantenerse actualizado con las últimas versiones disponibles de los componentes de , 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.
Para actualizar una aplicación UDA a la versión v4.5.2 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
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.
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"
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 prefijomomo
.
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");
}
});
Para actualizar una aplicación UDA a la versión v4.5.1 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
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.
Para actualizar una aplicación UDA a la versión v4.5.0 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
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.
Para actualizar una aplicación UDA a la versión v4.4.0 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
Para actualizar una aplicación UDA a la versión v4.3.3 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
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 valortrue
:isEjie=true
Para actualizar una aplicación UDA a la versión v4.3.2 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
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>
Para actualizar una aplicación UDA a la versión v4.3.1 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
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>
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>
Para actualizar una aplicación UDA a la versión v4.3.0 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
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;
}
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.
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>
Para actualizar una aplicación UDA a la versión v4.2.2 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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>
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.
Para actualizar una aplicación UDA a la versión v4.2.1 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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.
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>
Para actualizar una aplicación UDA a la versión v4.2.0 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
Las siguientes líneas han de ser eliminadas del fichero _layoutLoader.js
:
// Evitar conflictos entre Bootstrap y jQueryUI
$.fn.bootstrapBtn = $.fn.button.noConflict();
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" />
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.
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
Para actualizar una aplicación UDA a la versión v4.1.0 se deben realizar las siguientes modificaciones.
Se debe sustituir la carpeta xxxStatics\WebContent\rup
por la carpeta incluida en el fichero rup.
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"]
};
});
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.
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
- el entorno de desarrollo con las librerías.
- las plantillas de generación de código.
- el plugin UDA en el IDE de desarrollo.
La documentación y la información contenida en estas páginas se ofrecen bajo licencia
El plugin , las extensiones para Hibernate Tools, las plantillas de generación de código, las librerías de utilidades y los componentes RUP se ofrecen con arreglo a la European Union Public Licence (EUPL), exclusivamente en su versión 1.1.