Fórum

TODOS INTEGRANDO ALFRESCO CON LIFERAY

thumbnail
jose manuel gerrode, modificado 15 Anos atrás.

TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 28 Data de Entrada: 08/10/08 Postagens Recentes
Buenas, como veo que estamos muchos o la mayoria liados para ver como integramos Alfresco con Liferay propongo este post para que entre todos pongamos aqui nuestras dudas y consigamos integrarlo y que funcione bien.

Yo llevo ya varios dias volviendome majareta viendo post de tela de gente que no lo consigue y que buscan info sobre como hacerlo. Por eso propongo ir desarrollando en este hilo una especie de guia o algo para que consigamos integrarlo con el Alfresco portlets client y el alfresco portlets content.

Yo por ejemplo me he quedado parado al añadir el portlets alfresco content y me sale el letrero de por favor pongase en contacto con el administrador y edite las preferencias, pero al editar las preferencias no me deja hacer nada.

Otra cosa que probe es a buscar el archivo init.jsp y editarlo para cambiar lo de la seguridad y quitarle la parte donde pone kernel en una linea, pero no hay manera me vuelve a salir otra linea de temporalmente inhbilitado.

Por favor si algunos sabeis algo al respecto postearlo y haber si entre todos conseguimos que esto de integrarlo no sea un quebradero de cabeza.

Un saludo y viva el CAdiz club de futbol.
Ruben Lozano Garcia, modificado 15 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 64 Data de Entrada: 15/10/08 Postagens Recentes
Hola, yo con los portlets por defecto que trae Liferay, no conseguí nada de nada, porque creo que con la versión 3 de Alfresco ya no funcionan.

En mi equipo creamos un API que se comunica con Alfresco, el api es independiente de Liferay, la puedes usar en un portlet en un servlet, o en una aplicación java normal, y este API a través de Web Services te permite hacer búsquedas, enviar documentos a alfresco, borrarlos, crear usuarios, vamos lo típico.

Por ejemplo haces una búsqueda en un espacio (segun la propiedad o propiedades por las que desees filtrar), y te devuelve una lista con los documentos encontrados, tu ya en el portlet de liferay operas con esa lista como te de la gana.


Hemos utilizado el API de Web Services de alfresco, porque había bastantes ejemplos de como hacer el api.



Defectos, pues que Web Services services es relativamente lento (aunque como liferay tampoco es un cohete no se nota demasiado).

Ventajas: Liferay es pesado, Alfresco es mas pesado, tener ambos en una misma maquina o tomcat como he visto algunas soluciones de integración necesita una maquina muy potente, cosa que no hace falta si tienes liferay y alfresco en maquinas distintas.


Por lo tanto mi integración, es una pseudo integración, pues solo hago llamadas a alfresco (bueno uno de los portlet de alfresco que tenia liferay hacia esto mismo también creo recordar).



Aun así, me queda la duda de si es mejor opcion utilizar Web Scripts o el api de web services como yo he hecho.


Saludos desde Málaga
thumbnail
jose manuel gerrode, modificado 15 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 28 Data de Entrada: 08/10/08 Postagens Recentes
tio si trabajas en el parque explicamelo en un ratilllo.
Ruben Lozano Garcia, modificado 15 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 64 Data de Entrada: 15/10/08 Postagens Recentes
Basicamente lo que deberias hacer es bajarte el jar de web services del alfresco, te creas un proyecto eclipse, y te creas un API que se comunique con alfresco.


Para comunicarte con Alfresco tienes todas las librerias necesarias
aqui


Como referencia puedes mirar lo siguiente:

Ejemplos

La Wiki

referencia



Con todo ese deberias poder empezar a desarrollar un api que podrias usar desde desde los portlets de liferay que tu desarrolles, para listar elementos de alfresco, subir contenido a alfresco etc.


Saludos.
ignacio plasencia, modificado 15 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 44 Data de Entrada: 08/10/08 Postagens Recentes
Muchisimas gracias Rubén! Es justo lo que necesito. Ya te contaré como me ha ido.

En mi caso, también me he instalado el Alfresco en otra máquina, más que nada por recomendacion en el trabajo!
Un saludo!
thumbnail
Julio Camarero, modificado 15 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAYpl

Liferay Legend Postagens: 1668 Data de Entrada: 15/07/08 Postagens Recentes
Hola Rubén,

me ha gustado mucho tu explicación y he decidido abrir una página en el wiki contando lo que tu has puesto aquí para que la gente lo pueda consultar más fácilmente e ir mejorando.

Está en el siguiente link: http://www.liferay.com/web/guest/community/wiki/-/wiki/Main?_36_title=Alfresco%20integration

Siéntete libre de modificar todo lo que quieras (tanto en este como en otros artículos).

Un saludo!
Ruben Lozano Garcia, modificado 15 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAYpl

Junior Member Postagens: 64 Data de Entrada: 15/10/08 Postagens Recentes
Hola Julio,

Genial que mi explicación sirva para mejorar los recursos de la Wiki, por mi parte cuando tenga algo de tiempo tratare de cumplimentarlo un poco mas, para que sea mas fácil realizar la integración.



Saludos.
thumbnail
jose manuel gerrode, modificado 15 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 28 Data de Entrada: 08/10/08 Postagens Recentes
Parece tela de dificil .....
thumbnail
Julio Camarero, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Liferay Legend Postagens: 1668 Data de Entrada: 15/07/08 Postagens Recentes
Hola de nuevo,

sólo decir que esta compañia externa a Liferay ha desarrollado un portlet open source que integra Alfresco con Liferay
http://forge.rivetlogic.com/Forge/Rivets/Alfresco-Web-script-Portlet

un saludo!

Julio Camarero
Liferay España
thumbnail
Jesus Alberto de los Bueis Fernández, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

New Member Postagens: 16 Data de Entrada: 01/04/09 Postagens Recentes
Hola

Ya se que este post es de hace un tiempo, pero nosotros estamos empezando a investigar como integrar Alfresco con Liferay.
Hemos probado la opción de hacernos un API con el cliente SOAP que proporciona Alfresco y también la opción de hacernos una API REST en alfresco con Webscripts.
Por ahora va ganando peso la opción del API REST con los Webscripts ya que son más rápidos y se pueden hacer más cosas que con el cliente SOAP, además puedes escoger el tipo de formato para el intercambio de datos (JSON, XML, CSV...). Otra ventaja es que tiene una api bastante completa.
El problema fundamental que estamos teniendo es que hacer un Webscript un poco elaborado no es nada sencillo para nosotros, ya que los lenguajes que hay que utilizar son javascript y freemarker (puede que estemos muy acostumbrados a Java y por eso nos cueste más :S).

En lo que respecta al portlet que muestra los contenidos en Liferay hemos desarrollado una versión partiendo del portlet que ha puesto Julio en el post anterior.

Un saludo
thumbnail
Juan Fernández, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Liferay Legend Postagens: 1261 Data de Entrada: 02/10/08 Postagens Recentes
Buenas:
Una nota: ¿no sería mucho más interesante utilizar el portlet de DocumentLibrary de Liferay y hacer que en última instancia, en lugar de almacenar en base de datos, interceptara las clases de manera que se guarde/recupere el contenido de Alfresco?

Con esta aproximación aprovechamos toda la interfaz gráfica de Liferay y además la gestión de permisos puede hacerse en Liferay, en vez de en Alfresco... y además es transparente al usuario final. ¿Qué más le da al usuario dónde se guarden sus docuementos, si lo que él quiere es acceder con el DocumentLibrary tan chulo de Liferay? emoticon

Así es como lo estoy implementando yo
¿Qué opináis?
Un saludo
Juan Fernández
thumbnail
Aritz Galdos, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Expert Postagens: 416 Data de Entrada: 15/05/07 Postagens Recentes
Hola Juan:

No me parece mala idea lo que planteas pero creo que la interfaz de Document Gallery no da como para explotar todo lo que ofrece Alfresco, aunque también es verdad que en un momento dado puede interesar lo que planteas.

Nosotros estamos montandolo de la siguiente manera: SSO para Liferay y Alfresco por un lado. Liferay y alfresco usan CAS para la autenticación. Por otro lado Liferay, Alfresco y CAS, cada uno de ellos conectado al LDAP. Esta es la infraestructura básica.

Por otro lado, ahora estamos intentandolo con los WebScripts de Alfresco para la integración Liferay-Alfresco usando el portlet que comenta Julio de Rivet Logic.
thumbnail
Juan Fernández, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Liferay Legend Postagens: 1261 Data de Entrada: 02/10/08 Postagens Recentes
Hola Aritz

El problema de esa solución es que puedes subir documentos en ESE portlet, que de alguna manera es una "Ventana" que ve Alfresco (casi como un navegador web incrustado, ¿no?), pero no se hace réplica de los permisos de Liferay sobre los documentos y carpetas de Alfresco, ni una réplica de la estructura de usuarios y comunidades (una carpeta para cada comunidad etc). Y además, si en cualquier otro portlet tienes la opción de almacenar un documento, lo guardarías en Liferay, de forma que tienes dos gestores documentales. Esto es lo que intentamos evitar.
thumbnail
Aritz Galdos, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Expert Postagens: 416 Data de Entrada: 15/05/07 Postagens Recentes
Hola;

Así es. Creo que son dos aproximaciones un tanto distintas cada una con sus pros y cons. En tu solución creo que se ajusta mucho mas a Liferay, ya que incluso podría ser transparente para el usuario final el que haya un Alfresco por detrás, pero creo que por otro lado, y al ceñirse a la interfaz de liferay, quedarían funcionalidades de alfresco inacesibles para el usuario.

De la otra forma, creo que el grado de integración sería menor pero quedaría alfresco mas expuesto al usuario, con todas sus funcionalidades (si es el caso).


Saludos!!
thumbnail
Juan Fernández, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Liferay Legend Postagens: 1261 Data de Entrada: 02/10/08 Postagens Recentes
Hombre, en caso de querer hacer cosas "adicionales" que no se puedan hacer en Liferay, siempre puedes acceder a Alfreso via web...
ana sir, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

New Member Postagens: 9 Data de Entrada: 05/01/10 Postagens Recentes
Hola a todos!
Estoy intentando hacer una mini-integración de liferay con Alfresco (nada complejo ni mucho menos) y soy nueva en esto.
Tengo instalado el portlet de alfresco (alfresco-portlet-5.0.0.1), y de momento me funciona correctamente. Lo que quiero hacer es conectarlos de tal modo que cuando cree una comunidad en Liferay, en Alfresco automaticamente se cree un espacio con el mismo nombre de la comunidad, y la pregunta es: como sería la mejor forma de hacer esto???webservices??webscripts???
El caso es que la versión de alfresco del portlet es la 2.0, y por lo que busqué por internet Alfresco soporta webscripts desde la versión 2.1, con lo que sólo queda la opción de los webservices?
Alguien me puede iluminar un poco????
thumbnail
John Baskeyfield Daniel, modificado 14 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 89 Data de Entrada: 18/05/09 Postagens Recentes
Muy buenas,

Yo te recomendaría para ese caso que utilices webservices, para ello bajate el jdk de alfresco y usa la wiki para buscar info de como desplegar ese jdk en eclipse.

En ese jdk encontrarás clientes de webservices con los que poder interactuar con alfresco.

El siguiente paso será buscar en liferay el java desde el que se crean las comunidades, y añadirle tu funcionalidad del cliente de webservices, para que cuando se ejecute el java de lr también se ejecute tu cliente que crea un espacio en alfresco.

Un saludo.
thumbnail
Luis Rodríguez Fernández, modificado 13 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 86 Data de Entrada: 26/06/09 Postagens Recentes
Buenas tardes Juan!

Tú idea de interceptar las peticiones nos parece la más adecuada para solucionar este problema de la integración.

Hemos empezado echándole un ojo al CMISHook de Jonas X. Yuan, pero no estamos seguros de que sea la mejor opción.

Nuestra idea sería mantener el Document Library Portlet de manera que el usuario se abstrajera de donde está almacenando el documento.

¿Has hecho algún avance a este respecto?

Muchas gracias y un salduo,

Luis
thumbnail
Luis Rodríguez Fernández, modificado 13 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 86 Data de Entrada: 26/06/09 Postagens Recentes
Buenas tardes de nuevo Juan!

Finalmente nos vamos a decidir por implementar un hook que intercepte los eventos de salvado de documentos. ¿Sabrías cuál sería el evento que debería implementar? Es decir, existe algun dl.events.save o similar?

Muchas gracias y un saludo,

Luis
thumbnail
Juan Fernández, modificado 13 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Liferay Legend Postagens: 1261 Data de Entrada: 02/10/08 Postagens Recentes
Hola Luis:

efectivamente han habido muchas mejoras al respecto (busca información sobre CMIS en liferay.com y verás a qué me refiero) que permiten hacer lo 1º que comentabas: usar liferay como una interfaz y almacenar los documentos en cualquier otro sistema.

Te adelanto ya que va a ser también uno de los puntos clave en los que nos vamos a centrar para la siguiente versión.

Respecto a los métodos que necesitas interceptar, están en las clases DLFileEntryLocalServiceImpl (para los documentos) y DlFolderLocalServiceImpl (para las carpetas)

Un saludo
Juan
thumbnail
Pablo Zapico, modificado 13 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 48 Data de Entrada: 02/06/10 Postagens Recentes
Buenos dias...

Parece interesante esto que comentais de interceptar las peticciones, no tengo mucha idea de como seria?, como podriamos interceptar los metodos de las clases DLFileEntryLocalServiceImpl?



Muchas gracias!!!!


Un saludo Pablo Zapico
thumbnail
Gustavo Fernández Gómez, modificado 13 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Regular Member Postagens: 191 Data de Entrada: 26/10/07 Postagens Recentes
Creo que es más interesante que uses Hooks para sobre escribir los servicios.
En el wiki y blog hay varios artículo interesantes sobre este tema. De todas formas para escribir un DLHook igual es más interesante escribir un plugin tipo web, algo parecido al plugin web que sirve para utilizar solr en vez lucen por ejemplo. Pero de esto último no estoy seguro porque no los he usado en desarrollo.
thumbnail
Luis Rodríguez Fernández, modificado 13 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 86 Data de Entrada: 26/06/09 Postagens Recentes
Buenos días a todos,

Estamos intentando desarrollar un Hook que extienda DLFileEntryLocalServiceBaseImpl:

public class ExtDLFileEntryLocalServiceImpl extends
		DLFileEntryLocalServiceBaseImpl {

	public DLFileEntry addFileEntry(String uuid, long userId, long groupId,
			long folderId, String name, String title, String description,
			String versionDescription, String extraSettings, byte[] bytes,
			ServiceContext serviceContext) throws PortalException,
			SystemException {
		// TODO Auto-generated method stub
		return null;
	}


El problema es que al compilar nos dice que no encuentra la clase base com.liferay.portlet.documentlibrary.service.base.DLFileEntryLocalServiceBaseImpl:

package com.liferay.portlet.documentlibrary.service.base does not exist


Sin embargo las dependencias del hook parece que están bien:

<!--?xml version="1.0" encoding="UTF-8"?-->
<classpath>
	<classpathentry excluding="**/.svn/**|.svn/" kind="src" path="docroot/WEB-INF/src" />
	<classpathentry kind="src" path="/liferay-portal-src-6.0.2" />
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" />
	<classpathentry kind="lib" path="/liferay-portal-src-6.0.2/lib/development/activation.jar" />
	<classpathentry kind="lib" path="/liferay-portal-src-6.0.2/lib/development/annotations.jar" />
	<classpathentry kind="lib" path="/liferay-portal-src-6.0.2/lib/development/jsp-api.jar" />
	<classpathentry kind="lib" path="/liferay-portal-src-6.0.2/lib/development/mail.jar" />
	<classpathentry kind="lib" path="/liferay-portal-src-6.0.2/lib/development/servlet-api.jar" />
	<classpathentry kind="lib" path="/liferay-portal-src-6.0.2/lib/global/portlet.jar" />
	<classpathentry kind="lib" path="/liferay-portal-src-6.0.2/lib/portal/commons-logging.jar" />
	<classpathentry kind="lib" path="/liferay-portal-src-6.0.2/lib/portal/log4j.jar" />
	<classpathentry kind="lib" path="D:/LIFERAY/Proyectos_6_0_2/liferay-portal-dependencies-6.0.2/portal-service.jar" />
	<classpathentry kind="lib" path="D:/LIFERAY/Proyectos_6_0_2/liferay-portal-6.0.2/tomcat-6.0.26/webapps/ROOT/WEB-INF/lib/util-taglib.jar" />
	<classpathentry kind="lib" path="D:/LIFERAY/Proyectos_6_0_2/liferay-portal-6.0.2/tomcat-6.0.26/webapps/ROOT/WEB-INF/lib/util-bridges.jar" />
	<classpathentry kind="lib" path="D:/LIFERAY/Proyectos_6_0_2/liferay-portal-6.0.2/tomcat-6.0.26/webapps/ROOT/WEB-INF/lib/util-java.jar" />
	<classpathentry kind="output" path="bin" />
</classpath>


Alguna idea?

Muchas gracias y un saludo,

Luis
thumbnail
Luis Rodríguez Fernández, modificado 13 Anos atrás.

RE: TODOS INTEGRANDO ALFRESCO CON LIFERAY

Junior Member Postagens: 86 Data de Entrada: 26/06/09 Postagens Recentes
Buenos días de nuevo,

Siguiendo el post Minimizing the ext enviroment... (gracias Amos!) hemos conseguido que nuestro Hook despliegue. El error era que teníamos que extender la clase DLFileEntryLocalServiceWrapper.

Nuestra duda es ahora cómo realizar la extensión. Quisiéramos que los documentos se almacenaran en una única ubicación, es decir que no estén replicados en Liferay y en Alfresco. Por ejemplo, para guardar un documento vemos que tenemos que sobreescribir el siguiente método:

public DLFileEntry addFileEntry(String uuid, long userId, long groupId,
			long folderId, String name, String title, String description,
			String versionDescription, String extraSettings, File file,
			ServiceContext serviceContext) throws PortalException,
			SystemException {


Lo que queremos es que Liferay no se "entere" de donde está escribiendo en disco, es decir conservar las referencias de los documentos en base de datos...

Una primera prueba que hemos intentado es instanciar un DLFileEntry mediante el método createDLFileEntry de la clase padre.

Alguna idea?


Muchas gracias y un saludo,

Luis