Page 1 of 1

Migrar de Community 6.3.6 a 6.3.7

PostPosted:Fri May 17, 2019 3:28 pm
by gcosta
Buenas tardes, estoy realizando la migración de la version Community 6.3.6 a la 6.3.7 siguiendo el hilo de la documentación: https://docs.openkm.com/kcenter/view/ok ... o-637.html

Una vez seguido los pasos nos encontramos que si vemos en ayuda la versión sigue en la 6.3.6.

Procedemos a suprimir las carpetas OpenKM y localhost. Tras realizar esa accion el OpenKM no arranca.

Aquí dejo el error del log:
Code: Select all
2019-05-17 17:21:41,587 [pool-2-thread-1] ERROR org.apache.catalina.core.ContainerBase - ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/OpenKM]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:962)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1603)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 18
	at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:131)
	at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:60)
	at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:209)
	at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:119)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2032)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1923)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1891)
	at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1877)
	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:855)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 10 more
2019-05-17 17:21:41,608 [pool-2-thread-1] ERROR org.apache.catalina.startup.HostConfig - Error deploying web application archive /opt/openkm-6.2.5-community/tomcat/webapps/OpenKM.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/OpenKM]]
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:898)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:962)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1603)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Fri May 17, 2019 6:49 pm
by jllort
Creo que el problema es la version de tomcat que estas utilizando, sería deseable subir a la última que tenemos disponible para descargar, la 8.5.24 https://sourceforge.net/projects/openkm/files/common/.

Aun así, que version de JAVA estas utilizando ?

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Tue May 28, 2019 3:32 pm
by gcosta
Buenas tardes, adjunto versión de java.

Algun tutorial de actualización del tomcat en Debian?

Gracias.

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Tue May 28, 2019 7:00 pm
by jllort
En principio es un proceso relativamente fácil
1- lo primero hacer un backup ( esto nunca hace daño )
2- del tomcat antiguo tienes que mover al tomcat nuevo:
* carpeta repository
* fichero OpenKM.cfg y OpenKM.xml
* la conexión de la base de datos dentro de conf/server.xml
* webapps/OpenKM.war a el webapps del nuevo tomcat
3- Asegúrate antes de arrancar que el fichero OpenKM.cfg NO TENGA el parámetro hibernate.hbmdll con el valor create, tiene que tener el valor none si has copiado el fichero OpenKM.cfg del tomcat antiguo ( esta parte es la única realmente peligrosa para tu repositorio )
4- Comprueba la seguridad ... privilegios de las carpetas que has movido y los privilegios de la carpeta tomcat nueva

Si estas en linux, modificando el path de la ruta del tomcat en el script de inicio es suficiente, si estas en windows tienes que eliminar el servicio y crear uno de nuevo, en la sección de la documentación relativa a la instalacion encontraras como crear el servicio ( el comando service.bat sin parametros te indicará que opciones tienes, una de las cuales es eliminar el servicio )

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Tue Jun 04, 2019 3:18 pm
by gcosta
Buenas tardes, gracias por las pautas.

He seguido todas las pautas sin problemas. Al arrancar el OpenKM pero, o lo que es lo mismo al arrancar el catalina.sh me da el error que pongo a continuación. Que me falta?

Gracias.
Using CATALINA_BASE: /opt/openkm-6.2.5-community/tomcat
Using CATALINA_HOME: /opt/openkm-6.2.5-community/tomcat
Using CATALINA_TMPDIR: /opt/openkm-6.2.5-community/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/openkm-6.2.5-community/tomcat/bin/bootstrap.jar:/opt/openkm-6.2.5-community/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /opt/openkm-6.2.5-community/tomcat/catalina.pid
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Fri Jun 07, 2019 6:29 pm
by jllort
La versión de java con la que arrancas la aplicación es demasiado antigua, debería utilizar el jdk 1.8

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Mon Jun 10, 2019 4:04 pm
by gcosta
Buenas tardes jllort, gracias por tu ayuda.

Te comento, he actualizado la versión del java a la 1.8 tal y como me has comentado y he hecho la actualizacion del tomcat siguiendo los pasos que comentaste anteriormente.

Parece que todo ha ido bien, excepto la vista previa que ahora no funciona con la versión nueva de tomcat. Si uso el java 1.8 con la versión antigua del tomcat no hay problema.

Que puedo hacer para solucionar eso?

Adjunto error.

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Thu Jun 13, 2019 6:00 pm
by jllort
Mira el fichero catalina.log porque probablemente tienes un problema relacionado con la conversión del fichero a PDF. Necesitamos ver la traza del error.

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Fri Jun 14, 2019 9:18 am
by gcosta
Buenos días, finalmente ha funcionado correctamente. He vuelto a realizar el proceso exactamente igual y ahora funciona todo correctamente.

Por lo que estoy en la versión community 6.3.6 con tomcat 8.5.24.0 y versión java 1.8.0_71-b15.

Volviendo, pero al hilo de la actualización de la versión community 6.3.6 a 6.3.7 me encuentro con lo siguiente:

1. Siguo los passos de la guia https://docs.openkm.com/kcenter/view/ok ... o-637.html
Make a backup!!!
Stop Tomcat
Edit OpenKM.cfg and set hibernate.hbm2ddl to update
Replace the OpenKM.war
And start Tomcat again


Una vez realizados los pasos, executo los scripts ya que tengo automatizaciones programadas.
Parece que está todo correcto, pero si intento acceder a la configuración de la automatizaciones para verificar que está todo correcto genera un error que adjunto.

También he podido verificar que las automatización no se ejecutan. A continuación error:
Code: Select all
2019-06-14 10:46:15,998 [http-nio-0.0.0.0-8020-exec-8] ERROR c.o.servlet.admin.AutomationServlet - null
java.lang.NullPointerException: null
	at com.openkm.servlet.admin.AutomationServlet.convertToHumanValue(AutomationServlet.java:690) ~[classes/:6.3.7]
	at com.openkm.servlet.admin.AutomationServlet.definitionList(AutomationServlet.java:167) ~[classes/:6.3.7]
	at com.openkm.servlet.admin.AutomationServlet.doGet(AutomationServlet.java:73) ~[classes/:6.3.7]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) [servlet-api.jar:na]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) [servlet-api.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.24]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.24]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.24]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.24]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.24]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106) [spring-web-3.2.18.RELEASE.jar:3.2.18.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) [spring-security-web-3.2.10.RELEASE.jar:na]
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) [spring-web-3.2.18.RELEASE.jar:3.2.18.RELEASE]
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) [spring-web-3.2.18.RELEASE.jar:3.2.18.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.24]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.24]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [catalina.jar:8.5.24]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:8.5.24]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) [catalina.jar:8.5.24]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.24]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.24]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) [catalina.jar:8.5.24]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.24]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [catalina.jar:8.5.24]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) [tomcat-coyote.jar:8.5.24]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.24]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) [tomcat-coyote.jar:8.5.24]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) [tomcat-coyote.jar:8.5.24]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.24]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_71]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_71]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.24]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_71]

Re: Migrar de Community 6.3.6 a 6.3.7

PostPosted:Sun Jun 16, 2019 8:57 am
by jllort
Toda esa parte ha cambiado ahora las clases funcionan con un sistema de plugins y el antiguo registro por base de datos no vale para nada. Probablemente esta a medias.

Fíjate que esto lo tenemos como deprecado
https://docs.openkm.com/kcenter/view/ok ... ted-).html

Y que ahora las classes del automation tienen que cumplir con esta interfaz ( lo importante es no dejarse el tag @PluginImplementation )
https://docs.openkm.com/kcenter/view/ok ... ction.html

La idea es crear .jar , ponerlos en la carpeta de $TOMCAT_HOME/plugins y automáticamente al cargar la aplicación ya te los detecta. Es fácil convertir las antiguas clases a las nuevas.

Lo que te aconsejaría sería lo siguiente ( solucion radical pero que es lo que creo que te será más sencillo ):
Borrar todas las tablas de OKM_AUTO_*
OKM_AUTO_RULE
OKM_AUTO_ACTION
OKM_AUTO_VALIDATION
OKM_AUTO_ACTION_PARAMS
OKM_AUTO_VALIDATION_PARAMS

Parar la aplicación y ponerla en update ( al arrancar te creará las tablas vacias y habras hecho limpieza de restos que igual no estan correctos ).
Finalmente volver a registrar los automations ( si has hecho alguna clase a medida tendrás que transformarla al sistema de plugins ).

En la guía de migración de la 6.3.7 intentaré explicar mejor el cambio del sistema de plugins:
https://docs.openkm.com/kcenter/view/ok ... o-637.html