Configuración JCR-RMI de Alfresco (Tomcat)

Introducción

Configuración necesaria en la instalación de Alfresco para permitir el acceso remoto mediante JCR-RMI a su repositorio.

Documentos de referencia

http://wiki.alfresco.com/wiki/Configuring_JCR-RMI_Extension_Runtime_Parameters

http://forums.alfresco.com/en/viewtopic.php?f=28&t=16420#p57106

Información técnica

nohup rmiregistry &

Nota: ejecuta el rmi registry, configurado en /etc/init.d/rmiregistry [ver anexo]

chmod a+rwx /etc/init.d/rmiregistry

activarlo en yast (Sistema -> Servicios del sistema (niveles de ejecución))

port TCP 1099 (jcr-rmi)

alfresco necesita que rmiregistry esté "ANTES" activo. Se ha configurado en /etc/init.d/tomcat6 [ver anexo]

Instrucciones

1a etapa : Instalación de la extensión alfresco-rmi

Descargar rmi-extension (extension-jcr-rmi-1.0.0-src.zip) de http://forge.alfresco.com/frs/download. ... .0-src.zip.

Descomprimir la extensión « rmi » zippée vers un dossier temporaire.

-Copiar el fichero extension-jcr-rmi /lib/jcr-rmi-1-impl-classes.jar al directorio:

/srv/tomcat6/webapps/alfresco/WEB-INF/lib/

</opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/lib> //si no se ha usado el paquete edit@

-Copiar el fichero extension-jcr-rmi/build/dist/extension-jcr-rmi.jar al directorio:

/srv/tomcat6/webapps/alfresco/WEB-INF/lib/

</opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/lib> //si no se ha usado el paquete edit@

-Copiar extension-jcr-rmi/source/web/jsp/jcrRmiTest.jsp al directorio:

/srv/tomcat6/webapps/alfresco/jsp/

<C:\Alfresco\tomcat\webapps\alfresco\jsp> //si no se ha usado el paquete edit@

Cambiar en jcrRmiTest.jsp:

out.write("logging in as admin ibermatica to default workspace</br>");

vJcrSession = vJcrRepository.login(new SimpleCredentials("admin", "ibermatica".toCharArray()));

-Copiar el contenido del directorio extension-jcr-rmi/config/alfresco/extension al directorio:

/srv/tomcat6/webapps/alfresco/WEB-INF/lib/

</opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/lib> //si no se ha usado el paquete edit@

Nota: El contenido de dicho directorio es

messages/jcr-rmi-messages.properties

jcr-rmi-context.xml

jcr-rmi.properties

jcr-rmi-web-client-config-properties.xml

2a etapa : Instalación de la extensión extension-jcr-thread-bound

-Descargar "extension-jcr-thread-bound-1.1" (extension-jcr-thread-bound-1.1.jar) de:

http://forge.alfresco.com/frs/?group_id=21&release_id=298

-Copiar le jar extension-jcr-thread-bound-1.1.jar al directorio:

/srv/tomcat6/webapps/alfresco/WEB-INF/lib/

</opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/lib>

-Descargar "extension-jcr-thread-bound" (extension-jcr-thread-bound.zip) à partir du lien suivant:

http://forge.alfresco.com/frs/download. ... -bound.zip.

-Décompresser l’extension « jcr-thread-bound » zippée vers un directorio temporal.

-Copiar el fichero extension-jcr-thread-bound/config/alfresco/extension/thread-bound-jcr-context.xml al directorio:

/srv/tomcat6/webapps/alfresco/WEB-INF/classes/alfresco/extension/

</opt/Alfresco/tomcat/shared/classes/alfresco/extension> //si no se ha usado el paquete edit@

3a etapa : Modificación de los ficheros

-Eliminar / faire en commentaire la ligne suivante : (<import resource="classpath:alfresco/jcr-context.xml"/>) du fichier

/srv/tomcat6/webapps/alfresco/WEB-INF/classes/alfresco/extension/jcr-rmi-context.xml

/opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/jcr-rmi-context.xml //si no se ha usado el paquete edit@

Code: Select all

<beans>
  <!-- import resource="classpath:alfresco/jcr-context.xml" /-->
   ...
</beans>

-Modificar el fichero

/srv/tomcat6/webapps/alfresco/WEB-INF/classes/alfresco/extension/jcr-rmi-context.xml

/opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/jcr-rmi-context.xml //si no se ha usado el paquete edit@

pour faire pointer le bean javaContentRepositoryRmiBinding vers threadBoundJcrRepository

Code: Select all

...
<property name="jcrRepository">
        <ref bean="threadBoundJcrRepository"/>
</property>
...

-Modificar el servername y port dans el fichero

/srv/tomcat6/webapps/alfresco/WEB-INF/classes/alfresco/extension/jcr-rmi.properties

/opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/jcr-rmi.properties

para configurer celui par défaut d'Alfresco

Code: Select all

# ###############
# RMI JCR Configuration #
# ###############
rmi.jcr.binding.servername=alfrescoedita.ibit.org
rmi.jcr.binding.port=1099
rmi.jcr.binding.name=javaContentRepository
rmi.jcr.resources.path=/alfresco/extension/messages/jcr-rmi-messages.properties

4a etapa: Integración de las bibliotecas (jar)

-Descargar el fichero JAR jcr-1.0.jar à partir de : http://svn.nuxeo.org/trac/nuxeo/browser/maven-repo/jcr-1.0.jar?rev=7891&format=raw puis copiar el fichero al directorio:

/srv/tomcat6/webapps/alfresco/WEB-INF/lib/

</opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/lib/> //si no se ha usado el paquete edit@

-Descargar el fichero JAR jackrabbit-jcr-rmi-1.4.1.jar à partir http://jackrabbit.apache.org/downloads.cgi (archive download site -> binaries) y copier jackrabbit-jcr-rmi-1.4.1.jar al directorio:

/srv/tomcat6/webapps/alfresco/WEB-INF/lib/

</opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/lib/> //si no se ha usado el paquete edit@

-Ahora, se necesita "org.apache.jackrabbit.api.XASession". Se puede obtener mediante una de las siguientes opciones:

Opción a:

Descargar jackrabbit-api-1.4.jar de http://jackrabbit.apache.org/downloads.html (archive download site -> binaries)

y copiarlo a:

/srv/tomcat6/webapps/alfresco/WEB-INF/lib/

</opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/lib/> //si no se ha usado el paquete edit@

Opción b:

Descargar jackrabbit-jca-1.6.0.jar de http://jackrabbit.apache.org/downloads.html

Extraer del mismo jackrabbit-api-1.6.0.jar y copiarlo a:

/srv/tomcat6/webapps/alfresco/WEB-INF/lib/

</opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/lib/> //si no se ha usado el paquete edit@

5a etapa : Prueba de JCR

-Après la configuration de rmiserver, on peut tester le JCR-RMI à partir de lien suivant : http://localhost:8080/alfresco/faces/jsp/jcrRmiTest.jsp

-------------------------

Configuración de un custom resource en GlassFish (en que se ejecuta el cliente remoto que ataca a alfresco mediante jcr-rmi)

Resources->JNDI->Custom Resources

JNDI Name:jcr/Alfresco

Resource Type:javax.jcr.Repository

Factory Class:org.apache.jackrabbit.rmi.client.ClientRepositoryFactory

Description:Repositorio remoto de Alfresco

Status: Enabled

Properties:

url=rmi://localhost:1099/javaContentRepository //javaContentRepository és el nom amb el que Alfresco es registra a RMI