Persistencia en las credenciales JMX de Alfresco

Aunque esta es una funcionalidad activada y útil sobre todo para Alfresco Enterprise, creo que es una recomendación de seguridad necesaria y a tener muy en cuenta para entornos en producción. Sobre todo si no filtras los puertos con un firewall. Además así evitarás que alguien modifique la configuración de Alfresco.
Vamos a ver cómo cambiar usuarios y contraseñas de acceso JMX por defecto que vienen en Alfresco y que no se sobreescriban cuando actualizamos la versión y siempre tengamos protegido de forma segura el acceso a la consola de configuración y monitorización de Alfresco.
La receta es muy sencilla:
  • Para ello debemos copiar los ficheros alfresco-jmxrmi.access y alfresco-jmxrmi.password que podemos encontrar por defecto en el directorio tomcat/webapps/alfresco/WEB-INF/classes/alfresco/ y los copiamos por ejemplo en tomcat/shared/classes/.
  • Una vez copiados, podemos editarlos y modificarlos a nuestro gusto, los ficheros están muy bien comentados y no dan lugar a dudas.
  • En el fichero alfresco-jmxrmi.access encontramos los nombres de usuario disponibles y el rol asignado:

[bash]
monitorRole   readonly
controlRole   readwrite
[/bash]

  • En el fichero alfresco-jmxrmi.password podemos cambiar la contraseña de cada uno de los usuarios disponibles:

[bash]
monitorRole  mi-nuevo-password1
controlRole  mi-nuevo-password2
[/bash]

  • Por último deberemos añadir la siguiente linea en alfresco-global.properties y reiniciar el servidor de aplicaciones:

[bash]
alfresco.jmx.dir=/directorio/instalacion/tomcat/shared/classes
[/bash]

Por lo tanto, usaríamos el usuario monitorRole para monitorización (aplicaciones externas como Hyperic o Nagios) y el usuario controlRole para acceder mediante jconsole y configurar Alfresco. De eso ya hablé aquí.

Video del webinar “Soluciones de escaneo con Alfresco”

Ya está disponible el video del webinar que hice con la colaboración de Baratz, partner de Alfresco en España. Hablamos de las diferentes opciones de integración con sistemas de escaneo y digitalización, OCR, clasificación, revisión, volcado, mapeo de metadatos, etc. Un webinar muy interesante y creo que bastante ilustrativo sobre las opciones que tenemos con Alfresco y una demo de Ephesoft.

Algunos apuntes sobre Lucene en el mundo de Alfresco

En este artículo quiero hablaros de Lucene. Aunque en la versión 4.0 de Alfresco ya se incorpora SOLR como motor de indexación alternativo y escalable, también se puede seguir usando Lucene. Además, existen multitud de instalaciones que utilizan Lucene y que posiblemente seguirán utilizándolo. Voy a ampliar algunos conceptos al respecto para intentar ayudaros a comprender cómo funciona y cómo solucionar posibles problemas que nos podemos encontrar.
  • NOTA/DISCLAIMER: Lo que aprendas en este artículo no lo uses en producción salvo que sepas realmente lo que estás haciendo. No me hago responsable de los problemas que puedas tener derivados de este artículo 😉
Empecemos por el principio, el documento. Hay dos partes de un documento en Alfresco, la primera es el documento por si mismo y su contenido, la segunda son los metadatos asociados a ese documento. Por defecto, se indexan esas dos partes de un documento, por eso podemos buscarlos y localizarlos. Esta es una explicación simple ya que por debajo hay una serie de tareas automáticas y un poco más complejas que la descripción anterior. Vamos a verlo.
  • En Alfresco puedes buscar información mediante las interfaces web Share o Explorer y también mediante las diferentes APIs disponibles. Las búsquedas pueden ser por palabras clave o búsquedas booleanas, Alfresco las traduce a formato Lucene Query y las ejecuta sobre los índices en su instancia de Alfresco.
  • ¿Cómo puedo saber que hay realmente en los índices de Alfresco? Los índices por defecto se almacenan en un directorio llamado “lucene-indexes” dentro del directorio “alf_data“. Dentro del directorio principal de índices hay más carpetas y ficheros que están relacionados con los índices de los que no podemos ver su contenido directamente ya que son binarios y de los que hablaremos más adelante.
  • Puedes ver el contenido de esos ficheros con una herramienta de debug muy útil y multiplataforma llamada Luke. Para abrir los índices por ejemplo del workspace/Spacestore, en el browser de Luke navega hasta alf_data/lucene-indexes/workspace/SpacesStore y selecciona el fichero IndexInfo. Luke te permite abrir los índices con la opción “Open in Read Only mode”, úsala. Ya que con Luke puedes hacer tareas de lectura sobre los índices y también ¡borrados! Lee bien la documentación antes de aventurarte a hacer alguna fechoría con esta herramienta. No es el objetivo de este artículo hacer un manual de Luke, simplemente darlo a conocer si no lo conocías ya. Si lo usas y lo dominas puedes escribir un artículo que será muy útil para todos.

Sigamos con los índices. Veamos qué hace Alfresco de forma genérica cuando se sube un documento o se actualiza:
Como vemos en la imagen anterior, a ese diagrama global podríamos añadir el siguiente resumen del proceso de indexación:
  • 1º Se transforma el contenido a texto
  • 2º Se usa un analizador basado en el idioma del documento para extraer cadenas derivadas de plurales, mayúsculas, etc. Dependiendo del idioma, estos analizadores serán más o menos complejos.
  • 3º Lucene indexa los metadatos que están marcados para ser indexados.
  • 4º Lucene indexa el contenido, que sea susceptible de indexar (por ejemplo un documento, si se trata de un binario como una imagen no se indexa el contenido). La indexación del contenido se podría desactivar.
  • 5º Si se trata de una actualización, la versión anterior se mueve a otro directorio (interno de los índices) y la nueva versión se crea en el índice activo (live index).
Hay tres directorios que afectan a los índices y que se pueden configurar en alfresco-global.properties mediante las siguientes propiedades (recuerda que se configuraría usando propiedad=valor y todas las opciones está disponibles en el fichero alfresco/WEB-INF/classes/alfresco/repository.properties):
  • dir.idexes y dir.indexes.lock que necesitan estar en los discos locales donde se instala el repositorio (alfresco.war), ya que se hace un uso intensivo de I/O de disco.
  • dir.indexes.backup podemos ubicarlo donde queramos siempre que esté accesible por el servidor, ahí se almacenan los backups automáticos nocturnos a las 3AM cada día. Aunque también se puede ejecutar manualmente mediante JMX en la versión Enterprise. Si quieres saber qué procesos nocturnos afectan a los índices y cómo, lee este artículo. No tener controlados los backups de los índices te pueden llevar a tener que reindexar todo un repositorio completo, que puede llevar varios días dependiendo de la cantidad de contenidos.
Dentro del directorio dir.indexes hay una serie de directorios que corresponden a cada uno de los stores de Alfresco (más info aquí). Cada directorio o subdirectorio contiene un fichero llamado IndexInfo que nos da información sobre los índices de cada uno de los stores.
La indexación de los contenidos se gestionan mediante el modelo de datos, por defecto se utiliza el siguiente fichero alfresco/WEB-INF/classes/alfresco/model/contentModel.xml. Y las opciones para todos los contenidos, si no tenemos ningún tipo adicional es como sigue:

[xml]
<type name="cm:content">
<title>Content</title>
<parent>cm:cmobject</parent>
<properties>
<property name="cm:content">
<type>d:content</type>
<mandatory>false</mandatory>
<index enabled="true">
<atomic>false</atomic>
<stored>false</stored>
<tokenised>true</tokenised>
</index>
</property>
</properties>
</type>
[/xml]

A este respecto, cuando un documento se sube a Alfresco, los metadatos se extraen y se indexan en el acto, pero el contenido no tiene por que ser indexado en ese momento (depende). Veremos más abajo que significan estas opciones y qué nos aportan.
Como vemos en la parte <index enabled=”true”>, hay diferentes opciones en cuanto a los índices de las propiedades o de los contenidos:
  • Enabled=”false”: Si está a “false” no se indexará esa propiedad.
  • Atomic=”true”: Si está a “true”, esa propiedad (metadato) es indexada en el momento de la transacción, si está a “false”, se indexará en background. La indexación de contenidos que necesitan transformación antes de ser indexados (p. ej. PDF), solo serán “atomic=true” si la transformación tarda menos tiempo que el valor especificado en el atributo lucene.maxAtomicTransformationTime. Todos los transformadores por defecto están aquí alfresco/WEB-INF/classes/alfresco/services-context.xml.
  • Stored=”true”: Si está a “true”, el valor de la propiedad se almacenará en el índice y debe ser consultado mediante la API de bajo nivel de Lucene. Esto es útil para debugging si queremos saber qué es exactamente lo que se está indexando, pero no está recomendado en absoluto para producción ya que escribe mucha más información en disco. Recomendado “false”.
  • Tokenised=”true”: Si está “true”, el valor de la cadena de la propiedad se tokeniza antes de ser indexado. Si está a “false”, se indexará como una única cadena, si está a “both” se harán las dos opciones. Valor recomendado “true”.
Recuerda que por defecto todo el contenido, si se indexa, es “not stored”, indexed y tokenized.
  • Si quieres cambiar el comportamiento por defecto puedes hacerlo pero deberás reindexar todos los contenidos tras hacer el cambio. No te recomiendo tocar el modelo por defecto, es mejor hacer el tuyo propio y heredar valores o no, dependiendo de las necesidades que tengas. Recuerda que si haces un tipo que herede del tipo raíz “cm:content” no podrás desactivar el indexado del contenido.
  • Por defecto, las versiones de un documento (que se almacenan en el store workspace://version2Store) no se indexan. Ese comportamiento se podría modificar modificando el fichero core-services-context.xml como se puede ver aquí, referenciando la entrada version2Store al bean avmLuceneIndexerAndSearcherFactory igual que se pueden ver el workspace y el avm. Si lo haces recuerda que tendrás un consumo mucho más elevado de disco en los índices (dependerá del número de versiones que tengas por contenido, si no lo controlas bien no lo hagas, puede ser una bomba). Aunque actives la indexación del store de versiones, los formularios de búsqueda de Share o Explorer no buscarán en version2Store, pero se puede usar la API para realizar la búsqueda.
En cuanto a la recuperación de índices, es importante saber que existen cuatro modos FULL, AUTO, VALIDATE y NONE, que se usan en alfresco-global.properties mediante el atributo index.recovery.mode.
  • index.recovery.mode=FULL: Borra todos los índices actuales y genera un nuevo índice de todo el contenido (reindexa), durante este proceso el servidor no estará disponible.
  • index.recovery.mode=AUTO: Comprueba los primeros y últimos 1000 identificadores de transacción (txn) son válidos en cada store (información en la BBDD y en los índices coincide). Si no son válidos, se realizará una indexación FULL. En un cluster es importante tener sincronizados horariamente los servidores porque de lo contrario se lanzarán las reindexaciones al no coincidir la BBDD con los índices y la hora del servidor.
  • index.recovery.mode=VALIDATE: Comprueba los primeros y últimos 1000 identificadores de transacción (txn) son válidos en cada store (información en la BBDD y en los índices coincide). Si no son válidos, simplente devolverá una excepción.
  • index.recovery.mode=NONE: No se hace ningún tipo de validación en los índices.
Como vemos, los índices son muy importantes para Alfresco, tanto que si al arrancar encuentra algún problema grave en ellos, que no se solucione reindexando, el servidor se parará automáticamente. Este comportamiento se controla mediante el valor system.bootstrap.config_check.strict que por defecto está a “true”, podríamos ponerlo a “false” para poder analizar mejor algún problema concreto del que no tenemos mucha información en los logs (úsalo sólo para debug, afecta a otras opciones de configuración) y que evita que Alfresco arranque totalmente.
Al principio decía que los índices deben estar en discos locales (lo más rápidos disponibles y dedicados si es posible) para garantizar el máximo rendimiento de la aplicación. Para evitar problemas de lentitud es recomendable tener el doble del tamaño del índice total como espacio libre, para evitar problemas en caso de reindexación y sobre todo para el merge de los índices que se realiza a menudo. De hecho si compruebas que la subida de ficheros es muy lenta comprueba que tienes suficiente espacio libre en la partición o disco de los índices y que tienes correctamente configurados los file descriptors del sistema operativo (ver este artículo).
En caso de reindexación FULL podrás ver en los logs trazas como las siguientes:

[bash]
20:33:02,502 INFO [node.index.FullIndexRecoveryComponent] 100 % complete.
20:33:55,753 INFO [node.index.FullIndexRecoveryComponent] Index recovery completed.
[/bash]

Eso no significa que se hayan reindexado todos los contenidos, sólo nos indica que se han reindexado todas las propiedades (metadatos). A partir de ese momento Alfresco se pondrá a reindexar el contenido de los documentos. ¿Como podemos comprobar que está ocurriendo eso? Viendo la actividad en la CPU que puede provocar OpenOffice, ya que éste es utilizado para transformar ficheros MS Word a texto para poder ser indexados, por ejemplo.
Aunque ya lo comenté un poco en este artículo, quiero recordaros que existe el “Adminstrador de índices” o “Index Checker Console” disponible en la versión Enterprise desde la 3.1, puedes encontrarlo aquí: http://localhost:8080/alfresco/service/enterprise/admin/indexcheck. Esta consola te permite:
  • a) Comprobar los índices: por ejemplo, comprobar que cada transacción realizada por el repositorio está contemplada en los índices. Se puede comprobar por rangos de tiempo o rangos de transacciones.
  • b) Comprobar que un nodeRef específico o los nodos de una transacción específica están en el índice.
  • c) Reindexar desde un punto concreto hacia delante.
  • d) Comprobar el estado de sincronización de los índices entre transacciones y identificadores.
Bueno, esto ha sido todo, seguro que se quedan muchas cosas en el tintero pero espero que estos tips os resulten útiles e interesantes.

Eventos de Alfresco en español en diciembre y principios de 2012

Como suele ser habitual, publicamos los próximos eventos de Alfresco en España y en español (salvo que vengan invitados de fuera). Todos estos eventos, ya sean presenciales (talleres expertos) o remotos (webinars), son gratuitos. ¡Nos vemos o nos oímos!

14 DIC: Soluciones de escaneo con Alfresco – con Baratz
Horario: a las 4pm hora de España (CET)
Registro aquí.

  • ¿Cómo podemos usar Alfresco con un sistema de escaneo? ¿Y el OCR? Hay muchas formas de integrarlo con aplicaciones como Ephesoft, Kofax u otras, e incluso directamente con escaners multifunción. Descubriremos cómo funciona y qué opciones tenemos para gestionar un sistema completo de digitalización.¿Cómo podemos usar Alfresco con un sistema de escaneo? ¿Y el OCR? Hay muchas formas de integrarlo con aplicaciones como Ephesoft, Kofax u otras, e incluso directamente con escaners multifunción. Descubriremos cómo funciona y qué opciones tenemos para gestionar un sistema completo de digitalización.

25 ENE: Alfresco y SOLR
Horario: a las 4pm hora de España (CET)

Registro aquí.

  • SOLR es el nuevo motor de indexación que incorpora Alfresco en su versión 4.0, no obstante, se puede seguir usando Lucene. Vamos a aprender qué es SOLR, cómo funciona y cómo está soportado, como configurarlo y migrar de Lucene a Solr, qué efectos tiene en el repositorio y que mejoras nos aporta.

1 FEB: Alfresco Social Publishing Framework – con atSistemas

Horario: a las 4pm hora de España (CET)
Registro aquí.

  • Desde la versión 4.0 Alfresco incorpora el nuevo Social Publishing Framework que nos permite publicar contenidos en diferentes canales como Facebook, Twitter, Slideshare, Linkedin, Flickr o Youtube. En este webinar vamos a ver como funciona el framework y como podemos ampliarlo en base a nuestras necesidades.

15 FEB: Fred – Integración de Alfresco para el escritorio – con Xenit
Horario: a las 4pm hora de España (CET)
Registro aquí.

  • Fred es una aplicación de escritorio que acerca Alfresco al ambiente de trabajo diario de sus usuarios. Reducimos en un 50% o más el tiempo de las tareas más comunes que se realizan sobre documentos. Uno puede arrastrar y soltar (drag and drop) documentos, e-mails y adjuntos desde y hacia Fred. Los metadatos pueden ser agregados en muy poco tiempo. Fred ofrece además soporte para sofisticados agrupamientos y filtros durante la búsqueda de carpetas y documentos. En este webinar veremos una demo de Fred y revisión de las nuevas características de la próxima versión.

14 MAR: Consejos de Seguridad con Alfresco
Horario: a las 4pm hora de España (CET)
Registro aquí.

  • Cuanta más información almacenamos en Alfresco, más necesidades de protegerla tenemos. En este webinar haremos un repaso sobre los consejos de seguridad más importantes a tener en cuenta en Alfresco, tanto a nivel de aplicación como a nivel de servidor, red e intrusiones.

15 DIC: Taller Experto (Madrid)
Horario de 9:30 a 14h
Registro aquí.

18 ENE: Taller Experto (Bilbao)
Horario de 9:30 a 14h
Registro aquí.

8 FEB: Taller Experto (Madrid)
Horario de 9:30 a 14h
Registro aquí.

21 MAR: Taller Experto (Barcelona)
Horario de 9:30 a 14h
Registro aquí.

Alfresco integrado en un ecosistema con Windows, MS Office y Outlook

Integrar Software Libre con entornos propietarios sabemos que hoy en día es necesario. Alfresco también lo hace fácil. En este webinar vas a ver cómo.

¿Cómo integraríamos Alfresco en una red de estaciones de trabajo Windows? Veremos como funciona con MS Office y Share Point, con Outlook (IMAP), mediante CIFS, Webdav y FTP las diferentes formas de interactuar e integrar Alfresco en esta plataforma. La demo empieza en el minuto 35.

Screencast sobre Alfresco Mobile, aplicación para iPad/iPhone

He grabado este breve screencast mostrando las funcionalidades principales de la nueva aplicación de Alfresco, Alfresco Mobile, que está disponible en la Apple Store de forma gratuita para iPad e iPhone. No olvides leer el white paper, visitar la sección de Alfresco Mobile en nuestra web y si quieres pedir alguna nueva funcionalidad o detectas algún fallo puedes reportarlo en la sección apropiada en nuestro Jira, aquí.

Próximos eventos de Alfresco: septiembre – diciembre 2011

Aunque para este tipo de anuncios suelo utilizar mi cuenta Twitter, en este caso voy a hacer una excepción ya que creo que merece la pena por la cantidad de temas que se avecinan. Quiero comentaros los eventos de Alfresco que tenemos planificados celebrar próximamente, que son muchos, muy interesantes y accesibles a todos. Estoy hablando principalmente de la Alfresco DevCon, Talleres Expertos, Webinars y por supuesto la fiesta de lanzamiento de Alfresco 4.0 Community.
  • Alfresco DevCon, conferencia anual de desarrolladores:
Empezamos por el más importante de todos por su repercusión y asistencia, y ya un clásico anual para los desarrolladores de Alfresco, la Alfresco DevCon se celebrará este año en Londres y será durante los días 9 y 10 de noviembre (también en San Diego un par de semanas antes). Si tienes pensado asistir, recuerda que el día 8 hay una jornada formación, donde te puedes aprovechar para tomar una introducción bastante amplia sobre Alfresco, llamada “Alfresco JumpStart“, o un curso orientado a expertos y desarrolladores, “Advanced Alfresco Training“. Las conferencias de la DevCon serán presentadas ingenieros de Alfresco y por importantes gurús de la comunidad. Sin duda es una oportunidad para conocerlos a todos ellos en persona y compartir inquietudes, dudas y ver casos de éxito. Más información en los siguientes enlaces: http://blogs.alfresco.com/wp/devcon/2011/08/19/registration-now-open/ y
No te pierdas el video de presentación: http://www.youtube.com/watch?v=RZtv9NBI6uU
  • Talleres Expertos:
Siguiendo con la dinámica de las “Master Class” que realizábamos por España y Potugal, hemos rebautizado estas sesiones gratuitas con el nombre de “Taller Experto“. Está orientado a clientes, partners y organizaciones interesadas en implementar Alfresco Enterprise, y que tengan un conocimiento amplio de la plataforma ya que se tratarán temas avanzados de diferente índole a elegir por los asistentes, es decir, “Talleres Expertos” a la carta. En estas sesiones que constan de dos charlas hablaremos de temas diversos como Arquitectura, Introducción a desarrollo, Escalabilidad, Clustering, CMIS, Subsistemas, Autenticación y Single Sign On, Almacenamiento, Web Quick Start, Conectores – Interfaces, etc. En algunos casos contaremos con invitados de lujo como Mike Farman (Product Manager de Alfresco) y Rui Monteiro (Solutions Engineer para EMEA de Alfresco). Para asistir a estos Talleres hay que registrarse aquí y posteriormente confirmaremos asistencia por correo electrónico, las plazas son muy limitadas.
  • Webinars:
Estos seminarios virtuales de una hora de duración aproximadamente donde damos a conocer funcionalidades o nuevas características de Alfresco y podéis participar haciendo preguntas. Los próximos webinars son “Alfresco y Activiti”, “Alfresco integrado en un ecosistema con Windows, MS Office y Outlook”, “Alfresco en una hora” y “Soluciones de escaneo y digitalización con Alfresco”. Puedes registrarte a cada uno de ellos aquí. Y puedes acceder a los demás webinar grabados en la sección OnDemand o en nuestro canal de Vimeo.
  • Fiesta publicación de Alfresco 4.0 Community:
Coincidiendo con la liberación de la versión de Alfresco 4.0 Community, celebraremos un encuentro de usuarios, desarrolladores y entusiastas de esta tecnología en Madrid, el día 11 de Octubre. Hablaremos de las novedades y compartiremos experiencias. Para más información sobre esta “fiesta” os recomiendo seguir este hilo del foro, ya que aún quedan temas por confirmar.

Cómo configurar Alfresco para usar Open Office remotamente, como servidor

Cuando vamos a tener un sistema con gran cantidad de usuarios (miles) y con necesidades importantes de transformación de formatos o incluso para lanzar una reindexación completa de ficheros, metadatos y contenido de los ficheros, puede ser útil escalar, ampliar nuestra infraestructura de Alfresco para usar recursos que tengamos disponibles en otras máquinas.

En este artículo voy a enseñar como configurar Alfresco Enterprise para usar un Open Office corriendo como servidor en un servidor remoto.

  • En el servidor dedicado donde ejecutaremos Open Office, que tiene la IP 192.168.0.30 ejecutamos el siguiente comando, poniendo la IP que será en la que “escuche” el proceso:

[bash]
/usr/bin/soffice -headless -nofirststartwizard -accept="socket,host=192.168.0.30,port=8100;urp;StarOffice.ServiceManager" &
[/bash]

  • En el servidor Alfresco, en el fichero alfresco-global.properties:

[bash]
### External executable locations ###
ooo.exe=/backup/alfresco/alfresco-enterprise-3.4.3/openoffice/program/soffice.bin
ooo.enabled=false
ooo.port=8100
ooo.server=192.168.0.30
img.root=/backup/alfresco/alfresco-enterprise-3.4.3/common
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
swf.exe=/backup/alfresco/alfresco-enterprise-3.4.3/common/bin/pdf2swf
jodconverter.enabled=true
jodconverter.officeHome=/backup/alfresco/alfresco-enterprise-3.4.3/openoffice
jodconverter.portNumbers=8100
[/bash]

Recuerda, en el archivo anterior, activar “jodconverter.enabled=true” y añadir el valor “ooo.server” con la IP donde estará el servidor dedicado con Open Office.

  • También creamos el siguiente fichero tomcat/shared/classes/alfresco/extension/remote-openoffice-context.xml con el contenido:

[xml]
<?xml version=’1.0′ encoding=’UTF-8′ ?>
<!DOCTYPE beans PUBLIC ‘-//SPRING//DTD BEAN//EN’ ‘http://www.springframework.org/dtd/spring-beans.dtd’>

<beans>

<bean id="openOfficeConnection" class="net.sf.jooreports.openoffice.connection.SocketOpenOfficeConnection">
<constructor-arg type="java.lang.String" value="${ooo.server}"/>
<constructor-arg type="int" value="${ooo.port}"/>
</bean>

<bean id="transformer.OpenOffice" class="org.alfresco.repo.content.transform.RemoteOpenOfficeContentTransformer" parent="baseContentTransformer" >
<property name="connection">
<ref bean="openOfficeConnection" />
</property>
<property name="documentFormatsConfiguration">
<value>classpath:alfresco/mimetype/openoffice-document-formats.xml</value>
</property>
</bean>

<bean id="openOfficeConnectionTester" class="org.alfresco.util.OpenOfficeConnectionTester">
<property name="connection">
<ref bean="openOfficeConnection"/>
</property>
<property name="strict">
<value>false</value>
</property>
</bean>

</beans>
[/xml]

Hechos esos cambios debemos reiniciar el servidor de aplicaciones y listo. Asegúrate que desde el servidor de Alfresco se llega al puerto de OpenOffice remoto por ejemplo haciendo “telnet 192.168.0.30 8100”, también puedes ver el tráfico que se genera entre los servidores lanzando el comando “tcpdump -nni eth0|grep 8100” en el servidor de OpenOffice.

Recuerda que esta es una funcionalidad de escalabilidad adicional que está disponible en Alfresco Enterprise. Yo la he probado con la versión 3.4.3.