Archivo de la categoría: share

[Alfresco Companion] – Capitulo 2: Primeros pasos

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

Sigue leyendo

Alfresco Share: Error status 408 Read timed out

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 Alfresco 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

Aquí la solución para Alfresco versión 5.x:

  1. Repetir paso 1: Por ejemplo en una 5.0.x sería en WEB-INF/lib el jar spring-webscripts-5.0.2.5.jar
  2. Extrae el jar y abre el archivo  {EXTRACTED_DISK_PATH}\org\springframework\extensions\webscripts\spring-webscripts-application-context.xml
  3. Localiza la propiedad readTimeout, la podrás encontrar dentro del bean <bean id=»connector.remoteclient.abstract» abstract=»true»>
  4. Modifica el valor (está en milisegundos) y reinicia tu 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!

Ocultando Iconos en Share (3.4)

Muy buenas.

Hace poco un cliente me pidió customizar y ocultar algunos componentes para que los usuarios que no tuvieran permisos de administrador no los vieran. En concreto me refiero a los de la cabecera:

icons_share

Pues bien, os quiero enseñar cómo hacerlo siguiendo las buenas prácticas en Alfresco.

Para filtrar los iconos, puedes configurarlo en el share-config-custom.xml (que debes tener ubicado en /shared/clases/alfresco/web-extension/), entre los tags de <header> y </header> tal y como muestro en la siguiente captura:

share_header

Este fragmento, podéis copiarlo desde share-config.xml que tenéis ubicado en /webapps/share/WEB-INF/classes/alfresco/ y podeis pegarlo en vuestro share-config personalizado dentro de web-extension como os comenté más arriba.

Si observáis, lo único que debéis es añadir en el apartado que queráis ocultar permission="admin" y de esta forma solo será visible para éste.

Por ejemplo:

<item type="link" id="repository" permission="admin">/repository</item>

Con esa línea le decimos a Share que nos oculte el icono del repositorio para todos aquellos usuarios que no sean administradores.

El cliente necesitaba ocultar, además de estos iconos, la búsqueda del share que encontramos arriba a la derecha en el dashboard del usuario:

search_sharePero desafortunadamente, para Alfresco 3.4 no es posible controlarlo en el header como los anteriores iconos. Así que optamos por lo más sencillo: Ocultarlo mediante una clase que la declaramos en un css con un display:none.

Espero que os haya servido de ayuda. De todas formas, a medida que vaya trabajando y sacando más cosillas os la iré compartiendo :-)

Un saludo!

[SHARE] Visualizar propiedad texto con editor de texto enriquecido

Buenas a todos.

Os voy a dejar un pequeño apunte que nunca esta demás.

Si tenéis una propiedad en un modelo que sea de tipo texto (d:text), y queréis que al editar esa propiedad se muestre el editor «enriquecido» y aparezca como el campo description:

tex_rich

Lo que tenéis que hacer es ponerla así es por un lado en el modelo de datos cambiar el d:text por d:mltext

Y en segunda instancia, en vuestro share-config-custom.xml envolver el campo descripción de la siguiente forma:

campo_mlText

Y listo.

En dos pasos podreis reutilizarlo =)

Un saludo!!!