• Migrar de Community 6.3.6 a 6.3.7

  • Problemas con la instalación de OpenKM? No problemo, la solución está más cerca de lo que piensas.
Problemas con la instalación de OpenKM? No problemo, la solución está más cerca de lo que piensas.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #47995  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)
 #48080  by gcosta
 
Buenas tardes, adjunto versión de java.

Algun tutorial de actualización del tomcat en Debian?

Gracias.
Attachments
cantona.boadella.com - PuTTY.jpg
cantona.boadella.com - PuTTY.jpg (12.72 KiB) Viewed 12554 times
 #48082  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 )
 #48113  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.
 #48134  by jllort
 
La versión de java con la que arrancas la aplicación es demasiado antigua, debería utilizar el jdk 1.8
 #48165  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.
Attachments
InkedAnotación 2019-06-10 175401_LI.jpg
InkedAnotación 2019-06-10 175401_LI.jpg (937.05 KiB) Viewed 12383 times
 #48182  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.
 #48198  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]
Attachments
Anotación 2019-06-14 104522.png
Anotación 2019-06-14 104522.png (34.89 KiB) Viewed 12326 times
Anotación 2019-06-10 155548.png
Anotación 2019-06-10 155548.png (8.84 KiB) Viewed 12326 times
 #48209  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

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.