Migración de O3 5.x.x a 6.x.x
Como migrar de una versión 5.x.x a 6.x.x
Por el momento no hay un wizard de migración entre este tipo de versiones, por lo cual el procedimiento es manual.
Procedimiento de migración
- Bajar los servicios.
- Respaldar bases de datos (solo sí la configuración de o3 y eportal se encuentra en base de datos).
- Renombrar la carpeta IdeaSoft/O3 a IdeaSoft/O3v5.x.x
- Copiar de la instalación vieja el directorio <o3>/jboss/server/default/ideasoft-o3/server en la raíz de la instalación nueva.
Si se tiene en base de datos la información del admserver y los usuarios
- HowTo Configurar JBoss 7 con Diferentes Bases de Datos
- Definir usuario internal (usr: internal / pass: internal) en el admserver. El nuevo usuario deberá estar asociado al rol System y tener definido cómo atributo runAsEnabled de tipo Boolean.
Si se tiene los usuarios en base de datos pero los datos del admserver en archivo
- Copiar de la instalación vieja el archivo <o3>/jboss/server/default/ideasoft-o3/O3Server.cfg en la raíz de la nueva instalación.
- HowTo Configurar JBoss 7 con Diferentes Bases de Datos
- Definir usuario internal (usr: internal / pass: internal) en el admserver. El nuevo usuario deberá estar asociado al rol System y tener definido cómo atributo runAsEnabled de tipo Boolean.
Si no se tiene usuarios en base de datos y datos del admserver en archivo, default de O3 cuando instalamos
- Realizar exportación desde admserver de o3v5 y la importación en el admserver de o3v6.
Los usuarios no serán exportados y deberán ser creados manualmente.
Solo en caso de tener escritorios, se debe editar cada uno de los archivos .desk que se encuentran en <o3>/server/istore/jdesktop/desktops/ y modificar el puerto 1099 por 4477.
<initParam>otp://localhost:4447/...</initParam>
Si se usa eportal
- Renombrar <o3>/liferay/data/document_library como #document_library y copiar de la instalación vieja la carpeta <o3>/liferay/data/document_library
- Renombrar <o3>/liferay/data/jackrabbit como #jackrabbit y copiar de la instalación vieja la carpeta <o3>/liferay/data/jackrabbit
- Renombrar <o3>/liferay/data/lucene como #lucene y copiar de la instalación vieja la carpeta <o3>/liferay/data/lucene
Si además se usa eportal con hypersonic
- Renombrar el archivo <o3>/liferay/data/hsql/lportal.script como #lportal.script
- Copiar de la instalación vieja el archivo <o3>/jboss/server/default/data/hypersonic/lportal.script en <o3>/liferay/data/hsql
- En la nueva instalación versión 6, editar el archivo <o3>/liferay/tomcat/webapps/eportal/WEB-INF/classes/portal-ext.properties
- Cambiar el valor (6) de la property: permissions.user.check.algorithm por 2 (permissions.user.check.algorithm=2).
- Descomentar la property: #image.hook.impl=com.liferay.portal.image.DatabaseHook quitando el numeral (image.hook.impl=com.liferay.portal.image.DatabaseHook).
Si se usa eportal con base de datos
- Copiar de la instalación vieja los datos de conexión definidos en el archivo <o3>/jboss/server/default/deploy/liferay-xxxxxx-ds.xml (siendo xxxx la base de datos)
- En la nueva instalación versión 6, editar el archivo <o3>/liferay/tomcat/webapps/eportal/WEB-INF/classes/portal-ext.properties
- Cambiar el valor (6) de la property: permissions.user.check.algorithm por 2 (permissions.user.check.algorithm=2).
- Descomentar la property: #image.hook.impl=com.liferay.portal.image.DatabaseHook quitando el numeral (image.hook.impl=com.liferay.portal.image.DatabaseHook).
- HowTo Configurar Liferay con Diferentes Bases de Datos
Otras consideraciones
Las siguientes consideraciones podrán aplicarse o no dependiendo de cada instalación.
Si se usa portal
- Verificar que se este usando el tema adecuado, si no copiarlo de la instalación vieja en <o3>/jboss/server/default/deploy/gserver/0o3.ear/o3portal.war/themes/mi_tema en <o3>/jboss/standalone/deployments/o3-server.ear/o3web.war/themes
Si se usa Sistema de Información Geográfico (SIG- Geoserver)
- Copiar de la instalación vieja la carpeta <o3>/jboss/server/default/deploy/gserver/geoserver.war en <o3>/liferay/tomcat/webapps y renombrar la carpeta cómo geoserver (<o3>/liferay/tomcat/webapps/geoserver).
- Así mismo copiar los archivos *Mapping.xml y *.plugins, asociados.
Nombre de la máquina para accesos WEB
- Revisar el archivo de la instalación anterior
/jboss/server/default/deploy/gserver/0o3.ear/o3portal.war/WEB-INF/webapp.properties - En particular verificar el valor de la property
gclient.server.host - Si tuviera un valor diferente a localhost, dicho valor deberá ser asignado también en la nueva instalación (<o3>/jboss/standalone/deployments/o3-server.ear/o3web.war/WEB-INF/webapp.properties)
Uso de LDAP
O3 puede ser integrado con un servidor LDAP donde almacenar la configuración de usuarios y roles.
Si la versión anterior hubiera sido personalizada para conectarse con un servidor de estas características se deben ejecutar los siguientes pasos:
- Copiar archivo de properties correspondiente a la configuración de ldap desde la carpeta <o3>\jboss\server\default\ideasoft-o3\config\rbac de la instalación anterior a la nueva instalación (<o3>\config\rbac).
- Crear en la nueva instalación el archivo <o3>\O3Server_custom.properties y configurarlo según se indica en la guía de configuración de LDAP (HowTo Seguridad de O3 en LDAP y Active Directory). Se puede considerar la configuración definida en la versión actual (<o3>\jboss\server\default\ideasoft-o3\GServer.properties).
Uso de puertos personalizados en JBoss
- Revisar en la instalación anterior si hay cambio de puertos.
Para ello se debe verificar el archivo /jboss/server/default/conf/jboss-service.xml Si dijera otro valor diferente a ports-default significa que los puertos han sido modificados.
<mbean code="org.jboss.services.binding.ServiceBindingManager" name="jboss.system:service=ServiceBindingManager"> <attribute name="ServerName">ports-default</attribute> <attribute name="StoreURL">${jboss.server.home.url}/port-bindings.xml</attribute> <attribute name="StoreFactoryClassName">org.jboss.services.binding.XMLServicesStoreFactory</attribute> </mbean>
En tal caso deberá replicarse el cambio en la nueva versión:
HowTo Cambiar puertos del Servidor O3 (JBoss y Liferay)
Para el caso de liferay, debemos editar el archivo <o3>/liferay/tomcat/conf/server.xml y modificar los valores para los puertos 8305, 8380, 8309.
Revisar si se cambió el puerto del tomcat en la instalación vieja.
Revisar el archivo jboss/server/default/deploy/jbossweb-tomcat55.sar/server.xml
Buscar el código<Connector port="8080" address="${jboss.bind.address}">
El puerto por defecto es el 8080. Si hubiera otro definido se debe modificar también en la nueva instalación.
En la versión 6 editar el archivo <o3>/jboss/standalone/configuration/o3bi.xml y modificar la siguiente línea, cambiando el valor de port por el valor deseado.<socket-binding-group name="standard-sockets" default-interface="public"> <socket-binding name="http" port="8080"/> ... </socket-binding-group>
Uso de Drivers JDBC adicionales
- Revisar los drivers de conexión a bases de datos en /classes/jdbc y pasar a la nueva instalación los que sean necesarios.
- Para el uso de drivers adicionales en O3 Report, ir a la siguiente documentación
Configuración del Mailer
- Revisar configuración del mail en el archivo jboss\server\default\deploy\mail-service.xml y configurar en la nueva instalación de acuerdo al siguiente wiki: HowTo configurar el Servicio de Mail de JBoss
Verificando la nueva instalación
- Setear la property sync.data.scheduler.runAtStartup definida en <o3>/O3Server.properties con el valor true.
- Iniciar el Servidor de O3 (JBoss) y Liferay.
- Ingresar al O3 Server Administrator y loguarse con el usuario administrador.
- Verificar la publicación de cubos.
Esto implica que están presentes y disponibles, y que los perfiles asociados se leyeron sin problemas. - Verificar que los usuarios, roles, permisos son los correctos.
- Abrir el portal y loguearse, cargar cubos, tableros, escritorios, dashboards, etc. según corresponda.
- Levantar el browser y cargar algún cubo.
- Construir con el builder algún cubo para comprobar que el ambiente de construcción no se alteró
- Setear la property sync.data.scheduler.runAtStartup definida en <o3>/O3Server.properties con el valor false.