Migración de Alfresco 3.0 a 4.0

cancel
Showing results for 
Search instead for 
Did you mean: 
unknown-user
Active Member

Migración de Alfresco 3.0 a 4.0

Saludos,

He estado mirando el foro desde hace algunas semanas y me ha parecido muy útil. Por lo mismo, quisiera primero agradecerles y felicitarlos por todo el esfuerzo que han puesto y su voluntad para ayudar.

Los pongo un poco en contexto:

Se me ha encargado realizar en mi trabajo una migración de Alfresco Community 3.0 a la versión 4.0 (Community también). Hasta antes de este trabajo, desconocía completamente la herramienta, así que la wiki de Alfresco, este mismo foro y Google han sido mis mejores amigos. Mirando la documentación, sé que tengo que hacer primero una migración de 3.0 a 3.4, que es la que estoy tratando de hacer. Para ello, seguí los siguientes pasos:

1. Descargué alfresco.war y share.war de la página de Alfresco.
2. Renombré los war anteriores con la extensión .30 para no perderlos.
3. Revisé las librerías que tenía Alfresco.war y las comparé con las librerías en la versión 3.0, agregando las que no se encontraban.

Mi problema:

Trato de subir el servicio de Alfresco y se cae. Al revisar el log, me sale el siguiente error:

2012-06-05 12:57:48,516 INFO  [STDOUT] 12:57:48,499  ERROR [web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'LuceneFullTextSearchIndexer' defined in class path resource [alfresco/core-services-context.xml]: Cannot resolve reference to bean 'luceneFullTextSearchIndexer' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'luceneFullTextSearchIndexer' defined in class path resource [alfresco/core-services-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [cl.previred.liquidaciones.webscript.GenerateReport] for bean with name 'webscript.cl.birt.report.get' defined in file [/nueva-previred/alfresco-jboss/server/production/conf/alfresco/extension/web-scripts-application-context.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/alfresco/web/scripts/AbstractWebScript

Y de ahí para abajo es error, error, error.

Estoy tratando de hacer correr Alfresco en un CentOS 5.5, con base de datos PostgreSQL. Buscando en el foro, encontré una thread que sugería un problema relacionado con Spring Surf, así que bajé el jar y lo pegué en WEB-INF/lib, pero el error no ha cambiado.

¿Alguien podría ayudarme?
4 Replies
venzia
Senior Member

Re: Migración de Alfresco 3.0 a 4.0

Hola PaulinaM,
El problema es debido a que la clase cl.previred.liquidaciones.webscript.GenerateReport (desarrollo vuestro??) hace referencia a la ubicación de AbstractWebScript que existía en la version 3.0. La solución es compilar dicho proyecto con el SDK 4.0 de Alfresco, para adaptar los cambios realizados en el API de Alfresco en versiones posteriores a esa 3.0.
Ten en cuenta que antes de hacer una migración de este tipo, sobre todo cuando "saltas" entre versiones, debes comprobar que cualquier "extra" añadido a la anterior versión sea compatible con la nueva (y si no es el caso llevar a cabo un proceso de "reingeniería" del "extra" para dicha versión, sobre todo por si hay nuevos métodos que mejoran el rendimiento del desarrollo, siempre y cuando interese claro).

Espero que sirva de ayuda.
Saludos!
unknown-user
Active Member

Re: Migración de Alfresco 3.0 a 4.0

Gracias innovasoft por tu respuesta.

Efectivamente, esa clase es de desarrollo de la empresa. Disculpa que te lo pregunte, pero soy un poco lenta para este tipo de cosas: en otras palabras, ¿debería volver a generar esa clase, solo que en vez de que llame  a AbstractWebScript, debe llamar a su equivalente para Alfresco 3.4? ¿Con eso debería solucionarse el error?
venzia
Senior Member

Re: Migración de Alfresco 3.0 a 4.0

Hola de nuevo PaulinaM, en resumen es lo que comentas … aunque para ser más específico lo que deberíais hacer es compilar dicho desarrollo sobre el SDK 4.0 de Alfresco (mejor ir a la versión final destino, a no ser que dicha clase haya cambiado entre 3.4 y 4.0, que si no me equivoco no es el caso). Para ello sigue el ejemplo de como montar en Eclipse dicho SDK http://wiki.alfresco.com/wiki/Alfresco_SDK_4.0. Luego tendrás que "apuntar" desde tu proyecto a este SDK para compilarlo con el API de esta versión de Alfresco. Una vez lo tengas todo configurado y lleves a cabo la primera compilación verás los errores, en la consola de Eclipse, de las clases que han cambiado entre versiones.

Espero haberme explicado mejor, no obstante plantéanos cualquier duda que te surja.
Saludos y suerte!
unknown-user
Active Member

Re: Migración de Alfresco 3.0 a 4.0

Hola!

He estado encargándome de un par de proyectos más y por eso no he podido avanzar nuevamente en la migración. Sin embargo, hoy retomé y he tenido nuevos problemas.

Sobre el desarrollo que se hizo aquí, decidí que mientras no pueda hacerlo funcionar para Alfresco 3.4, lo quitaría. Pasado ese bache, ahora me sale lo siguiente:

2012-06-18 14:05:30,556 INFO  [STDOUT] 14:05:30,554  ERROR [web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ldapPeopleTrigger' defined in file [/nueva-previred/alfresco-jboss/server/production/conf/alfresco/extension/ldap-synchronisation-context.xml]: Cannot create inner bean 'ldapPeopleJobDetail' of type [org.springframework.scheduling.quartz.JobDetailBean] while setting bean property 'jobDetail'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ldapPeopleJobDetail' defined in file [/nueva-previred/alfresco-jboss/server/production/conf/alfresco/extension/ldap-synchronisation-context.xml]: Cannot resolve reference to bean 'ldapPeopleImport' while setting bean property 'jobDataAsMap' with key [TypedStringValue: value [bean], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ldapPeopleImport' defined in file [/nueva-previred/alfresco-jboss/server/production/conf/alfresco/extension/ldap-synchronisation-context.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'authenticationComponent' of bean class [org.alfresco.repo.importer.ExportSourceImporter]: Bean property 'authenticationComponent' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

Revisando, encontré que podía ser un problema de configuración, pero estoy usando los mismos archivos que usaba en Alfresco 3.0 y sí funcionaban con esa versión. ¿Alguien podría ayudarme a aclarar un poco qué es lo que sucede? Estaría muy agradecida.