Solo para aplicaciones FundeWeb 2.0 que estan siendo desarrolladas o mantenidas en el IDE de FundeWeb 2.1.
Para poder realizar la migración a PrimeFaces 8.0, tenemos que realizar los siguientes pasos:
<parent> <groupId>es.um.atica.fundeweb</groupId> <artifactId>parent</artifactId> <version>[2.0.100, 2.0.199]</version> </parent>
<primefaces.version>[8.0, 8.0.99]</primefaces.version> <primefaces.extensions.version>[8.0, 8.0.99]</primefaces.extensions.version> <rome.version>[1.9.0, 1.9.9]</rome.version> <gson.version>[2.8.5, 2.8.99]</gson.version> <poi.version>[4.1.1, 4.1.99]</poi.version> <xmlbeans.version>3.1.0</xmlbeans.version> <jdom.version>[2.0.6, 2.0.99]</jdom.version>
<dependency> <groupId>com.rometools</groupId> <artifactId>rome</artifactId> </dependency>
<dependency> <groupId>org.jdom</groupId> <artifactId>jdom2</artifactId> </dependency>
<dependency> <groupId>com.googlecode.owasp-java-html-sanitizer</groupId> <artifactId>owasp-java-html-sanitizer</artifactId> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>libphonenumber</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> </dependency> <!-- FIN - Primefaces -->
<dependency> <groupId>es.um.atica.fundeweb</groupId> <artifactId>fundeweb-tags-primefaces8</artifactId> </dependency>
<p:ajax event="sort" oncomplete="updateToggles('ColumToggler')" /> <p:ajax event="page" oncomplete="updateToggles('ColumToggler')" /> <p:ajax event="filter" oncomplete="updateToggles('ColumToggler');" />
Antes de desplegar en los servidores de los entornos de: desarrollo, sistemas y producción; hay que poner un JIRA a DJ-AT-MIDDLEWARE para indicar el cambio de las librerías de la aplicación, a las librerías 2.0.2, y debe ser un cambio sincronizado con ellos sobre cada entorno a actualizar.
Si con la versión anterior de primefaces no te salía el panel del bloqueo y ahora con Primefaces 7 sí te sale se debe a unos cambios que se han hecho en el componente para optimizar su carga.
Ahora en vez de cargarse todo el calendario en una petición, se pinta la estructura y posteriormente mediante llamadas javascript ( PF('miSchedule').update()) se carga el contenido. Esto provoca que no se pueda controlar correctamente cuando aparece o no el panel de bloqueo y que poner el atributo global=“false no funcione.
Para solucionar este problema el componente primefaces nos da un atributo extender que permite sobrescribir el comportamiento del componente fullcalendar que es el que realmente muestra la agenda.
Para ello debemos incorporar a nuestro proyecto el fichero schedule_fix.js dentro de la carpeta src/main/webapp/resources/js
Una vez incluida la librería deberemos ir a nuestro componente calendario y en la propiedad extender añadir initSchedule quedando así
<p:schedule id="schedule1" value="#{manejadorHome.lazyEventModel}" widgetVar="myschedule1" extender="initSchedule"></p:schedule>
Una vez realizado los cambios ya no debería saltar el panel de bloqueo cada vez que se actualice el calendario.
— JUAN MIGUEL BERNAL GONZALEZ 13/12/2019 08:42