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 :-)

¡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!
miércoles, 20 de marzo de 2013
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:




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:


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-condig 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 repositoriopara 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:


Pero 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!
viernes, 7 de diciembre de 2012
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:



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:




Y listo.

En dos pasos podreis reutilizarlo =)

Un saludo!!!

Search

Cargando...

Seguidores

Visitas