viernes, 28 de noviembre de 2014
Muy buenas.

Hace algún tiempo estuvimos viendo cómo realizar una instalación de Alfresco en nuestro local paso a paso, pues bien, escribiendo este fin de semana sobre la arquitectura me vino la cabeza una serie de chequeos o recomendaciones antes de realizar una instalación. Pues bien ahí van:

Algunos consejos antes de realizar una instalación:

  • Siempre que vayamos a realizar una instalación debemos tener claro cuál será su uso: Lo creáis o no es muy importante instalar solo lo que necesitemos, durante la instalación out-of-thebox, es decir usando el instalador, deberemos seleccionar las aplicaciones que usaremos así como los protocolos, etc. La idea es básicamente no sobre cargar innecesariamente nuestra instalación con cosas que no vamos a utilizar. Sentaos con el responsable de vuestro proyecto, haced un brainstorm y, en base a eso, realizad la instalación (no suele llevar más de 20 minutos). Una vez elegidas las aplicaciones, si queréis algunas nociones de arquitectura, echadle un vistazo a este post que hizo Fernando González hace ya algún tiempo, que sin duda os podrá servir como punto de partida.
  • Antes de iniciar la instalación, desde el equipo de Alfresco se nos propone Alfresco Day Zero, con una serie de pasos para chequear que nuestro servidor cumple todo los requisitos mínimos (click aquí para descargar el día cero para la versión 4.2).
  • Una vez realizado el paso anterior, existe una utilidad llamada Environment Validation Tool  por si queréis comprobar que todo esté correcto en el servidor donde se vaya a instalar Alfresco: Por ejemplo, probar las conexiones entre Alfresco y la base de datos. Click aquí para echarle un vistazo. 
  • Además, Toni de la Fuente dio en su día una charla muy interesante durante el Alfresco DevCon en Londres (2012) que me parece realmente útil, sobre todo para la parte más técnica. Échadle un vistazo aquí. En ella podréis encontrar consejos para antes y después de la instalación (Muy útil!!).
  • Por último, pero no menos importante, chequead esta guía que nos proporciona el propio Alfresco llamada Alfresco Security Best Practices con información sobre seguridad entre otros puntos.

Consejos después de realizar una instalación:

  • Aquí os dejo algunos tips técnicos de la mano de Alfresco (ojo con la configuración de la JVM!)
  • Los logs son tus amigos, configuralos, ¡úsalos! Me gustaría recomendaros este artículo de la web de Toni de la Fuente donde explica cómo configurarlos de forma eficiente. 
  • Bueno ¿y qué ocurre con los administradores? No worries! Para esas personas que deben mantener y administrar las instancias de Alfresco, tenéis la presentación que hizo Antonio Soler (técnico de Alfresco) durante el Alfresco Summit de Barcelona en 2013: A day in the life of an Alfresco Admin
  •  
Bueno y creo que con esto por ahora es más que suficiente. Tened en cuenta que la idea de este post es: antes de instalar un Alfresco, reflexionad para qué lo necesitáis y, una vez instalado, chequead que la arquitectura esté bien balanceada (JVM, Base de datos tuneada, etc). Y a posteriori, una serie de consejos para el día a día y mantenimiento del mismo :-)

¡Un saludo y hasta la próxima!
lunes, 24 de noviembre de 2014
Buenas.

He estado haciendo un brainstorm con distintas personas y, tras varios garabatos en un papel, creo que el siguiente paso para este tutorial debería ser explicaros la Arquitectura que envuelve nuestra instalación, así podríamos tener una visión global de la arquitectura y saber a alto nivel los distintos componentes que interaccionan en nuestra instalación lo cual, en líneas generales, nos ayudará a comprender qué es Alfresco.

Echemos un vistazo a su arquitectura:




 Veamos punto por punto de qué se compone:


1. Physical Storage - Esta capa donde están ubicados nuestro repositorio o file system (alf_data) y la base de datos.

2. Alfresco Content Application Server - En esta capa encontramos todos los servicios que componen Alfresco y que utilizaremos cuando, desde una aplicación externa, necesitemos recuperar y tratar la información que tenemos guardada en nuestro repositorio.

  • Alfresco es el que contiene las APIs con las que podremos interactuar desde otras aplicaciones como Share, Web Quick Start o una app propia que hayamos desarrollados. 
  • Alfresco está basado en dos estándares: CMIS (Content Management Interoperability Services) y JCR (Java Content Repository / JSR-170/286). Estos estándares abarcan las especificaciones necesarias para cubrir definición y almacenamiento; interactuación con contenido, versionado y permisos. Cumpliendo con esos estándares se proporciona una aplicación fiable, escalable y eficiente. 
  • Alfresco proporciona los siguientes servicios:
            Content services (transformation, tagging, metadata extraction)
            Control services (workflow, records management, change sets)
            Collaboration services (social graph, activities, wiki)
3. Alfreco Client - En esta capa encontramos las principales aplicaciones: Alfresco Explorer y Share. Nos centraremos en conocer Share porque Alfresco Explorer está relegado más a tareas administrativas desde 2010.
  • Share podemos desplegarlo en una capa a parte, no tiene por qué estar en el mismo servidor que Alfresco. Esto quiere decir que podremos tener en un servidor un alfresco.war, en otro un share.war, y conectarlos entre si para que Share use los servicios que proporciona alfresco. Mientras que Alfresco contiene los servicios necesarios para interactuar con nuestro contenido, Share es una aplicación orientada a la colaboración entre usuarios. Share está basado en Spring Surf y es muy sencillo extenderlo y personalizarlo.
4. Aplicaciones que podemos usar cuando instalamos Alfresco: Document Management (Alfresco en sí), Web Content Management (para manejar contenidos web, Web Quick Start), Record Management (RM) y Colaboración (share).
Los clientes se comunican con Alfresco y sus servicios a través de numerosos protocolos soportados. HTTP y SOAP ofrece acceso programático (cuando desarrollas en tus aplicaciones) mientras que los protocolos CIFS, FTP, WebDav, IMAP y Microsoft Sharepoint ofrecen acceso a nivel de aplicación. 

Normalmente cuando se realiza una instalación desde cero se debe tener en cuenta para qué se va a utilizar, si la finalidad va a ser para usar Alfresco como repositorio y nosotros implementaremos una aplicación aparte que ataque al mismo (en este caso solo instalaremos y usaremos alfresco), o si la empresa quiere gestionar sus documentos en plan colaborativo, con workflows, etc. Entonces pensaríamos en Alfresco y Share. Si además necesitas gestionar contenidos y publicarlos en web, la combinación pasaría por Alfresco, Share y Web Quick Start, etc.

Estructura de carpetas básica:

Ahora me gustaría enseñaros cuando realizamos una instalación básica cómo queda en nuestro PC:

1. Physical Storage: 



 
2, 3 y 4. Clientes:



Esto es todo por el momento. Espero que no se haya hecho muy pesado, los que conozcan Alfresco ya saben que tiene mucho material para hablar (sobre todo cuando se trata de arquitectura). Mi idea es dividirlo en pequeños tutoriales así evito que sea muy pesado :-)

Cualquier feedback/opinión será como siempre bienvenido.

Un saludo y hasta la próxima.
lunes, 24 de febrero de 2014
Buenas a todos.

En este capítulo vamos a dar nuestros primeros pasos con la herramienta: Descargaremos el bundle (o paquete de instalación), lo instalaremos y comprobaremos que lo tenemos todo preparado para empezar a meternos en chicha. Mi intención, en los próximos capítulos, es ver un poco más allá y explicaros qué es lo que habéis instalado a nivel de despliegue (archivos, configuración, etc), así como el día a día del uso de la aplicación (acceder como un administrador, ver opciones disponibles, etc).

Lo primero que hacemos es irnos a la página de descargas de Alfresco y observamos esto:

Página de descargas
Si accedemos siempre a través de esta página, nos aseguraremos que descargamos siempre la última versión.  En mi caso voy a escoger la versión Community 4.2.e para MacOS que es el Sistema operativo que tengo. Si os fijáis abajo a la izquierda, me sale resaltada la opción.

Una curiosidad: Las distribuciones que terminan por una letra, por ejemplo 3.4.d, corresponden a la versión Community, si por el contrario vemos que hay disponible una versión terminada en número, por ejemplo 4.1.6, estaríamos hablando de la versión One (antigua Enterprise).

La filosofía es: Alfresco trabaja sobre una versión Community, libre y gratuita, en la que la "comunidad" reporta errores que los ingenieros de Alfresco van solventando y cada N releases de esta Community sacan una versión estable, es decir, una versión One. La diferencia hasta aquí está clara, pero: ¿Debería usar Community o One? Respuesta sencilla: Depende de tus necesidades: Si lo que tienes es un entorno pequeño que vaya a ser usado por un número reducido de usuarios, entonces puedes usar la Community sin problemas. Si, por contra, estás en una empresa donde se prevee que haya cientos de usuarios, con una disponibilidad de 24h, 7 días... entonces directamente recomendaría la One. Obviamente, también puedes plantearte hacer un pequeño piloto en la versión Community y mas adelante, si tus necesidades van en aumento, dar el salto a la One.

Bueno, sin más pasemos a instalarnos un Alfresco :-)

 NOTA añadida el 28/11/2014: Echadle un vistazo a esta entrada antes de instalar vuestro alfresco! 

¡Manos a la obra!

Instalando nuestro Alfresco

1. Ejecutamos el instalador que nos hemos descargado de la web de Alfresco y elegimos el idioma



2. Presionamos siguiente



3. Tenemos dos opciones de instalación posibles: Fácil o Avanzado. La versión sencilla instalará los compomentes con los puertos que tengan por defecto, sin embargo, con la opción avanzada, podréis elegir concretamente qué queréis instalar así como cambiar los puertos.

En mi caso voy a escoger la avanzada para ver qué componentes y sobre qué puertos van a instalarse.



4. A continuación nos saldrá qué queremos instalar en nuestro Alfresco



5. La ubicación donde se instalará



6. Puerto para la base de datos



7. Puertos para nuestro servidor de aplicaciones web (Tomcat)


Cuando accedemos a nuestro alfresco lo hacemos a través de  protocolo://dominio:puerto_tomcat/aplicación, por ejemplo http:/localhost:8080/share
  • Protocolo  Por defecto Alfresco se instala con un protocolo http (sin securizar las comunicaciones).
  • Dominio Hay un archivo llamado hosts en el sistema operativo en el que ya viene configurado que esa dirección, 127.0.0.1, sea interpretada en nuestro navegador como localhost (para más información visitar el siguiente enlace). Pero resumiendo, está definido en:

    • Windows 7: Windows\System32\drivers\etc\hosts 
    • Ubuntu: /etc/hosts
    • MacOS:  /private/etc/hosts 
  •  Puerto Por defecto 8080.
  • Aplicación En nuestro caso solo podremos elegir entre alfresco o share. Ya veremos más adelante el por qué.
Así finalmente si queremos acceder al Share, que os recuerdo que es la aplicación para la colaboración entre personas, sería algo como:

http://localhost:8080/share
o también
http://127.0.0.1:8080/share

8. El puerto FTP



9. Puerto RMI: Remote Method Invocation de Java, es decir,  un mecanismo que nos ofrece Java para llamar un método o función de manera remota (más información en este enlace). En nuestro caso por ejemplo si en un futuro queremos acceder a la consola JMX, tirará de este puerto. Pero ya lo veremos más adelante.



10.  Metemos la contraseña para el usuario admin. Advertencia: Tened cuidado y apuntadla porque sin ella no podréis acceder a vuestro Alfresco.



11. El puerto de Sharepoint


Sharepoint o también conocido como módulo VTI: Todas las interactuaciones entre Share con los documentos de tipo office: Word, Excel, Access, etc se realizan a través de este protocolo. Como por ejemplo editar un documento en línea, que nos abra nuestro Word para poderlo editar y guardarlo de nuevo en Share.


12. Puerto del Open Office


Alfresco utiliza el Open Office para la transformación entre tipos de documentos, por ejemplo, de un documento Word, salvarlo como PDF.


13. Finalmente, nuestro programa empezará a instalarse con la configuración que le hemos dejado.




14. Vamos a comprobar que esté funcionando todo correctamente. Para ellos nos vamos a http://localhost:8080/share e introducimos admin y la contraseña que hemos configurado anteriormente



15. Si todo ha ido bien, veremos una pantalla como esta:




Y esto ha sido todo por ahora. En el próximo post me gustaría explicaros qué hemos instalado pero navegando por las carpetas de la instalación, porque lo creáis o no es muy útil conocer la estructura y dónde debéis tocar para hacer vuestras customizaciones/personalizaciones y añadir vuestros scripts o por ejemplo dónde tenemos la base de datos y cómo podemos hacer backups.
¡Un saludo!
domingo, 2 de febrero de 2014

Pongamos esta situación: Estás en tu empresa cuando tu jefe te dice: "Hey, tienes que instalar Alfresco y hacernos un reporte para ver si podemos usarlo internamente".

Lo primero, lógicamente, vamos a Google y buscamos ¿Qué es Alfresco? Nos sale lo siguiente:


Alfresco - Definición (fuente)    Alfresco es un sistema de administración de contenidos de código fuente libre, desarrollado en Java, basado en estándares abiertos y de escala empresarial para sistemas operativos tipo Windows, Unix Solaris y algunas versiones de Linux. Se distribuye en dos variantes diferentes3 :
  • Alfresco Community Edition: Es software libre, con licencia LGPL de código abierto y estándares abiertos.
  • Alfresco Enterprise Edition: Se distribuye bajo licencia de código abierto y estándares abiertos, con la posibilidad de soporte comercial y propietario a escala empresarial.
  • Alfresco Cloud Edition (Alfresco in the cloud) que es la versión SaaS o Software como Servicio de Alfresco.
Está diseñado para usuarios que requieren un alto grado de modularidad y rendimiento escalable. Alfresco incluye un repositorio de contenidos, un framework de portal web para administrar y usar contenido estándar en portales, una interfaz CIFS que provee compatibilidad de sistemas de archivos en Windows y sistemas operativos tipo Unix, un sistema de administración de contenido web, capacidad de virtualizar aplicaciones web y sitios estáticos vía Apache Tomcat, búsquedas vía el motor Apache Solr-Lucene flujo de trabajo en jBPM. 

Antes de nada deciros que esa información está algo desactualizada ya que a partir de la versión 4.2 Alfresco Enterprise se llama Alfresco One y, en cuanto a flujos de trabajo, puedes utilizar tanto jBPM como BPMN2 (ó Activiti).

Bien, si estáis comenzando con Alfresco puede que la mitad os suene a chino, por eso os propongo echarle un vistazo a todas las partes que componen "Alfresco" y más adelante las veremos con más detalle.


Los productos que Alfresco ofrece son:

  1. Alfresco One - Como comentaba, es el antiguo Alfresco Enterprise, plataforma que permite a las empresas gestionar cualquier tipo de contenido, desde sencillos documentos administrativos a imágenes escaneadas, fotografías, planos de ingeniería e incluso ficheros de vídeo de gran tamaño.
  2. Alfresco Community Edition - Es como el Alfresco One pero en versiones de prueba. Es decir, te dan la herramienta gratis sin algunas funcionalidades, como la integración con Oracle o la posibilidad de ponerlo en alta disponibilidad.
  3. Alfresco en la nube - Nuevo servicio que ofrece Alfresco para que, en vez de tener un Alfresco en local, esté alojado en sus servidores (en Amazon) pudiendo acceder a éste de forma segura en cualquier dispositivo y en cualquier lugar.
  4. Alfresco Mobile - Solución de Alfresco para tabletas y móviles (iOS y Android), que nos permitirá ver todo el contenido almacenado en nuestro Alfresco local o en la nube.

Por cierto, si queréis conocer más información sobre los productos que ofrece Alfresco, echadle un vistazo a este link.

Nosotros nos centraremos en Alfresco One que, entre otras herramientas, es con la que podemos gestionar nuestros documentos, compartirlos, editarlos, metadatarlos, ¡hasta incluso publicar una web!


Alfresco One se compone de:

  1. Document Management - Lo que conocemos como Alfresco. Antiguo cliente para el control de documentos. Esta herramienta se ha quedado como consola de administración o backend de Share
  2. Enterprise Collaboration - O Share. Espacio de colaboración entre personas, con opción a foros, blog, y más, mucho más.
  3. Web Content Management -  También conocido cómo Web Quick Start (WQS).  Se utiliza para la publicación de sitios web totalmente dinámicos y manejados desde Share.
  4. Record Management -  Se centra en capturar los procesos de la gestión documental de documentos tanto físicos como electrónicos o lo que llamamos ciclo de vida de los documentos: Desde su creación, almacenamiento y destrucción (+ info).
  5. WorkDesk - Es una aplicación que, siendo complementario a Alfresco Share, está más orientado a roles de negocios dejando a un lado la necesidad de tener que desarrollar o tener conocimientos en IT para poder configurarlo. Si queréis más información Toni de la Fuente realizó un webinar muy muy completo que os recomiendo ver sin dudarlo (aquí).

Durante este tutorial nos vamos a centrar en los tres primeros puntos: Primero en Alfresco y Share, y más adelante veremos Web Quick Start. No haré distinciones entre la versión Community o One porque, aunque Alfresco One ofrece más funcionalidades con respecto a la Community, para este tutorial no es relevante. Igualmente si vemos algo que difiera entre uno y otro lo especificaré. 

En el siguiente capítulo empezaremos a ver qué es Alfresco. Mi intención es enseñaros qué relación tiene con Share, porque si queremos extender su funcionalidad, primero tendremos que tener las ideas claras de qué son cada cosa y cómo funcionan ambos.

Espero que no haya sido muy pesado esta introducción pero antes de pasar al "meollo" quería meteros en contexto ¡Ah! Y si tenéis críticas, dudas o sugerencias por favor comentadme :-)

¡Un saludo!

PD: ¡Gracias Roser Santísimo por la revisión del post!
Muy buenas a todos.

Este último año, durante el Alfresco Summit celebrado en Barcelona volví a ver a mucha gente conocida y, entre otras cosas, estuve hablando con una amiga sobre qué podría escribir en el blog, y me comentó que por qué no escribía entradas con cosas básicas para principiantes en Alfresco, como por ejemplo: ¿Qué es? ¿Cómo puedo interactuar por primera vez? ¿Qué ocurre con el desarrollo? ¿Dónde miro si tengo un error? Y así, un sin fin de preguntas.

Según me contaba, ella había tenido que empezar desde cero sin tener nada de ayuda salvo internet (que no es poco), pero como ella misma me comentaba: Hay mucha información, toda desperdigada y mucha de ella desactualizada (por no decir obsoleta). La idea es intentar daros algo de luz en muchas áreas con las que cuenta Alfresco hoy en día e intentaré ir publicando cada poco un nuevo post para que no pase mucho tiempo.

Alfresco Companion se compone de los siguientes apartados


  1. [Alfresco Companion] - Capitulo 1: Qué es Alfresco
  2. [Alfresco Companion] - Capitulo 2: Primeros pasos



-----

A medida que vaya escribiendo posts iré actualizando este índice así tendréis toda la información recapitulada aquí mismo.

En fin espero que os sirva de utilidad y sobre todo si queréis que escriba de algo en concreto se admiten sugerencias

Un saludo desde Bélgica.

domingo, 8 de diciembre de 2013

Auditorías ... Auditorías everywhere.  

Muy buenas a todos.

Me gustaría hablaros en esta ocasión de auditar contenido en un Alfresco 3.4, que como sabéis por defecto el contenido que auditéis se os muestra en los logs como texto plano (poco intuitivo y algo difícil de leer). En este mini tutorial os quiero enseñar lo que yo he puesto en algunos clientes, que aunque sea básico, creo que es bastante útil :-) 

Os quiero hablar del módulo de auditorias ASUR, creado por la empresa Francesa StarXpert para Alfresco 3.4 y que creo que más de un cliente o usuario final agradecerá tenerlo.
La idea es sencilla: Obtener una gráfica con las transacciones que se tienen según un filtrado (hora, mes, día, etc..) y una información mínima ¿Lo bueno de usarlo? Que tiene incluso ejemplos sencillos de auditorias ya pre configuradas y que además podréis añadirles auditorías propias.
Además de éste módulo os enseñaré cómo complementarlo instalando un dashlet para auditoria bastante útil para los administradores.


¿Qué debéis saber para comenzar este tutorial?

Obligatorio:
- Saber manejar el módulo de alfresco alfresco-mnt-tool para instalar los amps.
Opcional:
-Tener vuestro propio archivo para auditar.


Manos a la obra...


Por lo pronto deberemos tener nuestro archivo de auditoría con lo que queramos mostrar. En este tutorial no voy a entrar en detalles sobre cómo realizar un archivo para auditar contenido (más abajo os dejo links con alguna referencia) pero usaremos un ejemplo que os facilitaré para que hagáis la toma de contacto sin mucha dificultad.

Objetivos: Entender como instalar la consola ASUR, el dashlet de auditoria, configurarlo y así poder usar la auditoría en share de una forma mas intuitiva.

Descarga: aquí os dejo todo lo que necesitáis: Amps, jar y archivo de ejemplo







PASOS A SEGUIR

 1. Abrid el alfresco-global.properties (shared/classes/alfresco) y añadid estas lineas al final del todo

## Audit
audit.enabled=true
Colocamos el archivo con el mapeo de nuestra auditoría - (alfresco-audit-example-login.xml)
2. Copiamos el archivo a /tomcat/shared/classes/alfresco/extension/audit  (creamos esta carpeta si no la tenemos aun creada)

Habilitando el log para mostrar trazas del contenido que vamos a auditar.
3. Creamos un archivo con un editor de notas que llamaremos custom-audit-log4j.properties  y dentro pegamos estas lineas:
## Log para modulo de auditoria
log4j.logger.org.alfresco.repo.audit.AuditComponentImpl=info
log4j.logger.org.alfresco.repo.audit.inbound=info
Instalamos la consola en nuestro alfresco y share.
Alfresco ubicación del amp (ASUR-Alfresco-1.0.2.amp)
4. Cogemos el jar de Alfrescoy lo pegamos a alfresco_home/amps/
Share ubicación del amp (ASUR-Share-1.0.2.amp)
5. Cogemos el jar de Share y lo pegamos en alfresco_home/amps_share/

Para instalar los amps, por favor seguid estas indicaciones.
Consejo! Una vez estén compilados, desde cmd (consola de comandos) para estar seguros de que los tenemos desplegados ejecutad desde la carpeta bin: java -jar alfresco-mmt.jar list alfresco_ruta/tomcat/webapps/alfresco.war y  java -jar alfresco-mmt.jar list alfresco_ruta/tomcat/webapps/share.war  Si os sale un listado con los amps de ASUR, estamos preparados para seguir con el tutorial.

Dashlet con la consola (audit-dashlet-0.43.jar)
6. Pegar el jar  /shared/lib/

Y bien ya lo tenemos todo para echar a andar nuestro alfresco y empezar a trastear.

Arrancamos nuestro alfresco y accedemos a Share como admin. Lo primero que haremos será configurar nuestro dashlet de auditoría.

Accedemos arriba a la derecha a "Personalizar el panel de inicio"





Presionamos Añadir dashlet y arrastramos el "audit aplication" abajo y presionamos Aceptar.





En el dashboard del administrador sí que podremos ver por fin el dashlet pero tendremos que configurarlo de la siguiente forma para visualizar los datos que estamos auditando:




Presionamos en Configurar (o configure) y obtendremos esta pantalla:




Como veis, automáticamente  os coge el archivo de auditar que le hemos metido en la carpeta de  extension (en mi caso tengo alguno más). Lo seleccionamos y presionamos aceptar.


Nota: En el caso de que no os salga, bastará con introducir la palabra login y ya os aparecerá disponible la lista.
Y aquí tenéis la lista con los datos auditados


El null que aparece ha sido un intento fallido de login (con el usuario que no existía)



Ahora vamos a ver como se visualiza en la consola de audición del Share. Para ello pinchamos arriba en la derecha a + y al botón de la consola de audición:





Y nos encontraremos con la siguiente pantalla:



A la izquierda tenéis las auditorías disponibles, si bien lo único que debéis hacer es seleccionar una de ellas, ponerle un filtro (vista en horas,días, etc..), presionar submit y obtendréis una gráfica algo básica pero útil.

Y esto es todo para este turorial... Aunque quería recomendar que le echaseis un vistazo al dashlet para auditar contenido que tenéis disponible en la página de Share add-ons y manejarlo todo desde nuestro dashboard (como administrador, por ejemplo).  

Sin más, espero que os haya servido de ayuda :-) 

¡Ah! Os dejo algunos links de interés:
Auditoría - Wiki de alfresco
Tutorial para auditar en Alfresco 3.4


¡Un saludo a todos!
sábado, 10 de agosto de 2013
Buenas a todos.

Quiero compartir este problema porque, en un principio, no le encontramos solución buscando por Internet y creo que podría servirle a más de uno en el futuro:

Tenemos una instalación en un cliente con más de 100 gigas (y creciendo), unos 6.000 usuarios (creciendo también), un Alfresco 3.4.10 y una JVM de 8 gigas asignada (para la heap - Xmx y Xms).

Aqui el problema: Mediante un dashlet que mostraba todos los workflows de un usuario (usando el getPooledTasks del servicio del workflow), cuando intentaba rescatar alrededor de 5.100 tareas Alfresco no era capaz de reaccionar y nos mostraba este error a nivel de servidor de aplicaciones (catalina.out, o en mi caso el log hub de weblogic):

17:04:20,050  INFO  [webscripts.connector.RemoteClient] Error status 408 Read timed out
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)....

El problema es que Alfresco, con la JVM que tiene (la heap en concreto) no es capaz de atender todas las peticiones que recibe, excediendo el tiempo que tiene establecido internamente para la respuesta entre Alfresco y Share (por defecto 120 segundos), de ahí a que muestre un read time out.

Investigando por Google encontramos varios JIRAs, pero hablan de la 4.0 y nosotros tenemos una 3.4. por lo que no nos servía.

Aquí la solución para la versión 3.4:


1. Abrir el jar spring-webscripts-X.X.X-SNAPSHOT.jar que encontráis en webapps/alfresco/WEB-INF/lib/ y navega dentro de él por: org/springframework/extension/webscript/

2. Copia spring-webscript-application-context.xml a tu carpeta web-extension (en shared/classes/alfresco) con el nombre custom-spring-webscript-application-context.xml

3. Incrementa las propiedades <property name="readTimeout"><value>120000</value></property>

4. Reiniciar el Alfresco

Y listo, ahora con el tiempo de respuesta incrementado cuando desde Share manda la petición alfresco es capaz de atender las peticiones y de devolver todas las tareas de ese usuario :-)


Espero que os haya servido  ;)

¡Un saludo!

Buscar

Cargando...

Seguidores

Visitas

Entradas populares