• Problemas Instalación Entorno Desarrollo OpenKM Community 6

  • 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.
 #19305  by miguelromero
 
Introducción
Muy buenas, llevo varios días intentando instalar la versión de desarrollo de OpenKM Community 6, con la idea de realizar algunas modificaciones y mostrar al cliente una versión super reducida de la aplicación, quitando muchísimas opciones, una versión para usuarios totalmente inexpertos.
De esta forma, sería muchísimo más fácil introducir al cliente al producto OpenKM, que vea la enorme facilidad del producto y conseguir la compra posterior de la versión profesional, con todas las mejoras y personalizaciones que necesiten.
Tengo en mente dejar el interfaz visual con poquísimos botones, y el menú que sale al hacer click derecho encima de un archivo, con muy pocas opciones también, así como quitar algunas opciones del panel izquierdo.

Me gustaría también compartir en el futuro cualquier modificación o mejora que realice, con la finalidad de mejorar OpenKM. Los pasos realizados pueden servir para mejorar la guía de la wiki de OpenKM, así como referencia para otras personas que encuentren los mismos problemas. Traduciré el post a inglés para que también pueda servir a gente que no entienda castellano.
Agradecería enormemente si podéis echarme una mano, o orientarme de forma breve en los pasos que no estoy realizando adecuadamente.

Resumen de Pruebas y Errores:
- Se ha instalado el entorno de desarrollo con Eclipse + Maven + Subversion + java1.6 perfectamente en C:\eclipse_java_ee

Código fuente Entorno y Servidor Apache:
- Se ha instalado la carpeta del entorno de desarrollo maven en c:\okm\openkm
- Se ha instalado y configurado el primer Servidor que no funciona, Apache Tomcat 7.0.12 en c:\okm\tomcat
Instalación por defecto para Windows de OpenKM, usando el instalador de windows:
- Se ha instalado la carpeta de los archivos originales de instalación de openkm para windows en c:\openkm
- Se ha instalado y configurado el segundo Servidor que sí funciona, Apache Tomcat 7 en c:\openkm\tomcat

El segundo servidor que sí funciona (no da el error de las classes bean al intentar cargarlas de los xml), da este error después de poner usuario y contraseña:
http://127.0.0.1:8080/OpenKM/frontend/index.jsp
mensaje /OpenKM/frontend/index.jsp
descripción El recurso requerido (/OpenKM/frontend/index.jsp) no está disponible.
Seguramente es un fallo de la configuración del servidor.


Instalación Entorno Desarrollo paso a paso:

Detallo a continuación, con el máximo detalle, los pasos exactos que he ido realizando, mediante la guía de la wiki y leyendo varios foros: http://wiki.openkm.com/index.php/Developer_Guide (para instalar el entorno de desarrollo y configurarlo)
http://wiki.openkm.com/index.php/Using_ ... _databases (para crear la base de datos)

1. Instalar Eclipse Juno con Maven y Subclipse(svn) y Jboss. PERFECTO
- Eclipse instalado en: C:\eclipse_java_ee, Eclipse Java EE IDE for Web Developers, Version: Juno Service Release 1
- Maven para windows descargado en c:\maven, también instalados Plugins Maven, Subclipse(svn) y Jboss, en Eclipse Juno, con los conectores correspondientes.


2. Con el Plugin Maven de Eclipse, descargar la versión de OpenKM Community 6: PERFECTO
- File, New, Project, Maven, Checkout Maven Project From SCM --
Code: Select all
 [svn] http://svn.code.sf.net/p/openkm/code/branches/6.2/openkm
- He probado a descargarlo en diferentes directorios, para este ejemplo descargaremos el proyecto en: c:\okm\openkm


3. Dejar la versión de Java correcta para Eclipse Juno y OpenKM Community 6 PERFECTO
- Windows, Preferences, Java, Compiler: Me aseguro que está seleccionado la opción JDK Java 1.6.
- Windows, Preferences, Java, Installed JREs: Elimino todas las versiones, dejando sólo la versión jdk1.6.0_37 (c:\program files\java\jdk1.6.0_37) Standar VM y la SELECCIONO, pulso OK.
- Dado que eclipse tiene algunos problemas con la mezcla de las diferentes versiones de Java instaladas, forzamos que utilice siempre la librería 1.6, con el siguiente parámetro añadido en C:\eclipse_java_ee\eclipse.ini:
Code: Select all
-vm
C:\Program Files\Java\jdk1.6.0_37\bin\javaw.exe
- La aplicación se recompila automáticamente con java 1.6. Cerramos y abrirmos Eclipse.


4. Instalar un Servidor en Eclipse Juno: DUDAS
- Windows, Preferences, Server, RunTime Enviroment, Add - "Apache Tomcat 7", Next:
- Descargo e instalo con el botón, automáticamente la versión Apache Tomcat 7.0.12 en: c:\okm\tomcat
- En JRE, selecciono la única versión disponible de Java: jdk_1.6.0_37 y pulso Finish.

*Dudas:
- ¿Cuál es la versión que debemos elegir, Apache Tomcat 7.0.12?
- ¿o debemos usar un Servidor JBoss para garantizar total compatibilidad?


5. Configurar el servidor Apache Tomcat 7.0.12 tal y como viene en la wikipedia, poniendo correctamente los path: DUDAS
- En argumentos, me aseguro de añadir el charset UTF8, el path donde pondré la librería sigar y el archivo log4j, y los otros parámetros de memoria, quedando finalmente así:
Code: Select all
-Dcatalina.base="C:\okm\tomcat\webapps\openkm" -Dcatalina.home="C:\okm\tomcat" -Dwtp.deploy="C:\okm\tomcat\webapps\openkm" -Djava.endorsed.dirs="C:\okm\tomcat\endorsed" -Djava.library.path="C:\okm\tomcat\lib\sigar" -Xms128m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m  -Djava.awt.headless=true -Dfile.encoding=utf-8 -Dlog4j.configuration=file:///C:/okm/tomcat/conf/log4j.properties
- En Classpath me pone la librería 1.6, correcto.
- En Source, Añado el proyecto "openkm".
- En Enviroment, Añado las variables de entorno:
CATALINA_PID=C:/okm/tomcat/catalina.pid
LD_LIBRARY_PATH=c:/okm/tomcat/lib/sigar:/C:/okm/tomcat/lib/sigar/apr/lib

*Dudas:
Server Location:
- No estoy seguro de el path correcto para el servidor, catalina.base, por defecto está en: "Use Workspace metadata".
- No estoy seguro de cuál debe ser el path correcto para el deploy de la aplicación. ¿Puede ser cualquier path?. Por defecto lo he asignado en: c:\okm\tomcat\webapps\openkm
General Information, Open launch configuration, Arguments, Working directory:
- Tampoco estoy seguro de si debemos especificarle a Eclipse, el path del espacio de trabajo, working directory. Por defecto, Working directory=C:\eclipse_java_ee
Archivos catalina.pid y librerías apr no existen:
- He buscado en todo el código fuente, en la compilación maven y en la instalación de windows community pero no encuentro el archivo catalina.pid.
- Las librerías APR las he descargado de apr.apache.org y compilado con Visual Studio 2008. Obtengo varias dlls y libs, las cuales he copiado en /lib/sigar y en /lib/sigar/apr/lib pero en ninguno de los sitios las encuentra al iniciar Tomcat. No es un fallo importante ni necesario para el entorno de desarrollo, por lo que seguimos.
- Las librerías lib/sigar las copiaremos después. Se encuentran en la versión de instalación para windows de OpenKM Community.


6. Publicamos OpenKM Community en el Servidor Apache Tomcat 7.0.12: PERFECTO
- Nos aseguramos que el puerto 8080 está libre. ( http://www.nirsoft.net/utils/cports.html )
- Iniciamos el Servidor Apache Tomcat. Dado que faltan las librerías lib/sigar y archivos de configuración, al publicar el proyecto OpenKM en el servidor e iniciarlo, veremos varios errores. Copiaremos estos archivos después.
- El servidor Apache Tomcat funciona correctamente, pero necesitamos arreglar OpenKM.


7. Hacemos el Build del proyecto con Maven. DUDAS
Para asegurarnos que el proyecto contiene todos los archivos necesarios, realizaremos el build completo del proyecto con maven, con el archivo que encontramos en c:\okm\build.bat
- Modificamos la línea del path del script para que llame a maven:
Code: Select all
c:\maven\bin\mvn -Dmaven.test.skip=true clean gwt:compile install
- Inicio ejecutar cmd.exe, cd c:\okm\openkm, build.bat
- Veremos lo siguiente:
Code: Select all
[INFO] Building OpenKM Web Application 6.2.1-DEV...
....
[INFO] BUILD SUCCESS
- Adjunto el archivo logbuildmaven.bat ( c:\okm\openkm>build.bat > logbuildmaven.txt ) donde puede verse la compilación completa.
Log build de maven para el entorno de desarrollo descargado en c:\okm
(1.7 KiB) Downloaded 256 times
*Dudas:
- ¿Es necesario hacer este paso?


8. La versión por defecto que se descarga con Maven, no tiene algunos archivos, como las librerías lib/sigar y otros archivos necesarios para el arranque de OpenKM Community 6. PERFECTO
- Descargamos la versión OpenKM Community 6 con el instalador para Windows, que funciona perfectamente: openkm-6.2.0-community-windows-installer
- Instalamos la versión OpenKM Community 6 para Windows, en c:\openkm y no la ejecutamos.
- Copiamos las librerías c:\openkm\tomcat\lib\sigar a mi entorno de desarrollo en C:\okm\tomcat\lib\sigar


9. Volvemos a Publicar OpenKM Community en el Servidor Apache Tomcat 7.0.12: DUDAS
- Refrescamos los archivos del proyecto en Eclipse y el servidor y publicamos de nuevo el proyecto hasta ver: "Synchronized".
- Nos aseguramos que el puerto 8080 está libre. ( http://www.nirsoft.net/utils/cports.html )
- Iniciamos el Servidor Apache Tomcat y vemos varios Errores:
Code: Select all
2012-11-13 14:04:39,323 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] WARN  org.springframework.web.context.support.XmlWebApplicationContext - Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'cxf': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
....
[/color]
*Adjunto el log completo de arranque de Apache Tomcat 7.0.12 por si sirve de ayuda para encontrar el error.
Log de errores al iniciar el servidor c:\okm\tomcat de Apache 7.0.12
(5.91 KiB) Downloaded 245 times
*Dudas:
- Desconozco cómo solucionar ese error. Según comentan puede ser simplemente que falta especificar el puerto y la dirección ip en una de las clases definidas en algún xml: http://cxf.547215.n5.nabble.com/CXF-try ... 59118.html
- También es muy posible que, por algún motivo, no está encontrando los archivos .xml con la definición de las classes. Puede que en algún archivo haya alguna ruta absoluta apuntando a c:\openkm\tomcat y por lo tanto cualquier otro servidor instalado en otra ruta no funcione y no encuentre nunca los xml.
- En las pruebas realizadas, también he probado a sobreescribir todo el contenido que funciona de la instalación original de OpenKM c:\openkm a mi carpeta de desarrollo, c:\okm, sustituyendo el servidor tomcat y los archivos de código fuente. Sin embargo sigue dando exactamente los mismos errores.


10. Solución Temporal. Usar el servidor de la instalación de OpenKM Community 6.2.0 para Windows que instalamos antes: PERFECTO
- Añadimos un servidor a Eclipse ya existente de la instalación de OpenKM Community 6.2.0 para windows, que fue instalado en c:\openkm\tomcat
- Windows, Preferences, Server, RunTime Enviroments, Add.., Apache Tomcat 7.0, Desmarcamos "Create a new local server", Next:
Code: Select all
path=  C:\openkm\tomcat
JRE= jdk_1.6.0_37 
- Pulsamos Finish y ya tenemos un segundo servidor añadido que sí funciona.


11. Configuramos el Servidor, Publicamos OpenKM, e Iniciamos el Servidor Apache Tomcat 2. PERFECTO
- Seguimos los mismos pasos del paso anterior número 5. , y configuramos el servidor con todas las variables de entorno correctas y los parámetros de inicio correctos con el path correspondiente ( c:\openkm\tomcat ) . (Tener en cuenta que el path cambia para todos los parámetros).
- Iniciamos el Servidor Apache Tomcat 2, y vemos el Log. Si hemos puesto la configuración correcta, funcionará perfectamente.
- Ahora iremos al explorador Web, a la dirección 127.0.0.1:8080/OpenKM y vemos que la página carga, pero faltan los datos que crearemos a continuación.


12. Crear la base de Datos de OpenKM, usando el segundo servidor PERFECTO
- Seguimos los pasos indicados aquí: http://wiki.openkm.com/index.php/Using_ ... _databases
- Editamos el archivo de configuración c:\openkm\tomcat\OpenKM.cfg y ponemos que cree la base de datos:
Code: Select all
# OpenKM Hibernate configuration values
hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.hbm2ddl=create

13. Reiniciamos de nuevo el servidor Apache Tomcat 2, los datos se crean. DUDAS
- Los datos se crean, volvemos a poner la dirección 127.0.0.1:8080/OpenKM y vemos que estamos en la pantalla de login, sin ningún error.
- Ponemos usuario: okmAdmin y contraseña: admin ,y sale este error:
http://127.0.0.1:8080/OpenKM/frontend/index.jsp
mensaje /OpenKM/frontend/index.jsp
descripción El recurso requerido (/OpenKM/frontend/index.jsp) no está disponible.
*Dudas:
- No consigo solucionar ese error. Probablemente está cogiendo mal la ruta de deploy y no encuentra los archivos del proyecto, pero he hecho varias pruebas, y no consigo solucionarlo. He hecho un clean, y republish pero tampoco lo soluciona. He revisado los paths y son correctos. Creo que debe haber algo mal en la configuración que falta por cambiar o añadir.

*Adjunto el log de inicio del servidor c:\openkm\tomcat:
(9.5 KiB) Downloaded 240 times
--

Si habéis llegado hasta aquí, gracias por leer detenidamente todas las preguntas que me han surgido durante la instalación. Quiero agradecer también al equipo de desarrollo de OpenKM por el soporte que dan y por crear esta magnífica aplicación. Entiendo que son muchas dudas, y que este tipo de resolución requiera comprar un soporte invididual para montar correctamente el entorno de desarrollo, pero quizás sea mucho más sencillo de lo que lo he planteado.

Cualquier ayuda es bienvenida y muchas gracias, a ver si conseguimos solucionarlo :)
 #19331  by jllort
 
Estoy grabando un video sobre este tema y espero a ver si este fin de semana de una vez lo tengo terminado. He quedado parado con un problema del GWT que no me termina de compilar bien y aun estoy investigando que le pasa ( digamos que el video de 50 minutos - tranquilos que las barras de progreso de los instaladores los voy a recortar - llega hasta el proceso de compilación )

En windows todo es mas complicado, el tema del deploy nosotros en linux lo hacemos con un alias ( lo que en windows seria un enlace directo y que tengo que terminar de probar,porque creo que ahí eso no funcionará bien y se tendrá que montar de otroa forma. El tema esta en que dentro webapps te tiene que colocar la carpeta OpenKM que se genera dentro del directorio target -> esto permite editar jsp directamente desde ahí etc... ).

Cuando consiga que esto compile, cubriré tanto el debug, como la compilación solo del frontend y el debug del frontend que son dos partes también bastante simpáticas.
 #19334  by miguelromero
 
Perfecto, creo haber conseguido compilar y hacer debug en windows, usando como explicas el tema de los alias en windows con la utilidad junction.exe. También me he dado cuenta que no hay que añadir/publicar la solución en el servidor, sino se producen errores. Voy a asegurarme a ver si funciona correctamente, y actualizo el post con los pasos correctos.

De cualquier forma si es necesario compilar y debuggear en linux no es ningún problema, dado que se puede instalar en una máquina virtual o en un doble arranque.

Muchas gracias jllort.
 #19359  by jllort
 
Nosotros desarrollamos sobre linux, esto del junction.exe lo desconocía lo probaré.
Relativo a donde instalar openkm en producción te recomiendo que lo montes en un linux te va a dar mas rendimiento que en un windows.

En breve vamos a ir ampliando la wiki con ejemplo de desarrollo reales que vamos a ir liberando y videos sobre el desarrollo ( el tema siempre es el puñetero tiempo hay que gestionarlo un poco para todo ). Mayormente esto irá saliendo en http://wiki.openkm.com/index.php/Utilities a ver si hacemos algo que permita a los desarrolladores periódicamente ver las novedades en este sentido que les puedan interesar ( de entrada para estar actualizados respecto de las novedades de desarrollos os aconsejamos subscribirse al canal de youtube http://www.youtube.com/user/openkm todo nueva funcionalidad ya viene con su video y su entrada en la wiki y estoy pensando en hacer aquí una sección de vídeos para desarrolladores ). Pondré una entrada en el foro a ver que opina la gente como le gustaría recibir la información.

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.