Archive for the tag 'open source'

Archiving en Alfresco 3.2

Toni February 17th, 2010

image_archivingActualización 25/Feb/2010: ver demo-config-files para configuración más cómoda incluso desde Share, reglas y demás (doc calentito que me han enviado desde Alfresco, Gracias Paul!!).

¿Que es el archiving/archivado? Un archivo en gestión documental es una colección de documentos históricos, así como el lugar donde se encuentran. Pues bien, vamos a ver como se configura Alfresco para poder almacenar los contenidos en diferentes sistemas de ficheros, particiones o filesystem (como quieras llamarlo). Cada filesystem puede ser de diferente naturaleza, es decir, los contenidos que se trabajan actualmente deberán estar en los discos más rápidos (discos locales o en una SAN) y los contenidos históricos o de acceso poco frecuente pero debemos mantener, podemos almacenarlos en discos más lentos/baratos o por ejemplo en una NAS.

Todo esto se consigue en Alfresco gracias al Content Store Selector. El Content Store Selector ofrece un mecanismo de control que relaciona el contenido lógico con un fichero físico y su ubicación. Usando el aspecto cm:storeSelector y asignándole una propiedad cm:storeName podemos mover el contenido de un Store a otro de forma totalmente transparente tanto para el usuario como para la aplicación a la hora de mostrar los contenidos, claro que previamente tenemos que definirlos. Esto nos permitirá declarar políticas para controlar la capa de almacenamiento y el uso que de ella hace Alfresco en base a regales de negocio.

Veamos como se configura en base al siguiente escenario:

El repositorio y los ficheros de uso diario, los más usados, los tenemos en /opt/alfresco/alf_data/contentstore, supongamos que ese filesystem corresponde a los discos más rápidos. También tenemos un disco local más lento montado en /opt/alfresco/alf_data/storeA, e incluso podemos tener un filesystem de tipo NAS para los datos que ya no usamos pero necesitamos almacenar montado en /opt/alfresco/alf_data/storeB.

¿Cómo lo configuramos?

Creamos un fichero llamado “sample-content-store-selector-context.xml” en shared/classes/alfresco/extension con el siguiente contenido, lee los comentarios para entender la configuración:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http:// www.springframework.org/dtd/spring-beans.dtd'>
<!-- Define the new file stores -->
<beans>
        <bean id="firstSharedFileContentStore" class="org.alfresco.repo.content.filestore.FileContentStore">
                <constructor-arg>
                        <value>${dir.root}/storeA</value>
                </constructor-arg>
        </bean>
        <bean id="secondSharedFileContentStore" class="org.alfresco.repo.content.filestore.FileContentStore">
                <constructor-arg>
                        <value>${dir.root}/storeB</value>
                </constructor-arg>
        </bean>
<!-- Declare the mapping between store names and store instances -->
        <bean id="storeSelectorContentStore" parent="storeSelectorContentStoreBase">
                <property name="defaultStoreName">
                        <value>default</value>
                </property>
                <property name="storesByName">
                        <map>
                                <entry key="default">
                                        <ref bean="fileContentStore" />
                                </entry>
                                <entry key="storeA">
                                        <ref bean="firstSharedFileContentStore" />
                                </entry>
                                <entry key="storeB">
                                        <ref bean="secondSharedFileContentStore" />
                                </entry>
                        </map>
                </property>
        </bean>
<!-- Point the ContentService to the 'selector' store -->
        <bean id="contentService" parent="baseContentService">
                <property name="store">
                        <ref bean="storeSelectorContentStore" />
                </property>
        </bean>
<!-- Add the other stores to the list of stores for cleaning -->
        <bean id="eagerContentStoreCleaner" class="org.alfresco.repo.content.cleanup.EagerContentStoreCleaner" init-method="init">
                <property name="eagerOrphanCleanup" >
                        <value>${system.content.eagerOrphanCleanup}</value>
                </property>
                <property name="stores" >
                        <list>
                                <ref bean="fileContentStore" />
                                <ref bean="firstSharedFileContentStore" />
                                <ref bean="secondSharedFileContentStore" />
                        </list>
                </property>
                <property name="listeners" >
                        <ref bean="deletedContentBackupListeners" />
                </property>
        </bean>
</beans>

Si te fijas en los dos primeros beans, los valores que se especifican están relacionados con la ubicación de los dos Stores adicionales que estamos creando, en esta caso, relativos a ${dir.root} que es un atributo declarado en alfresco-global.properties. Si nuestros nuevos filesystems no están dentro de dir.root podemos poner la ruta absoluta, por ejemplo <value>/mnt/storeA</value>.

Para poder usar los nuevos contentStores debemos configurar el web-client (Alfresco Explorer) y declararlo como aspecto. Editamos web-client-config-custom.xml y añadimos las siguientes lineas:

<!-- Configuring in the cm:storeSelector aspect -->
        <config evaluator="aspect-name" condition="cm:storeSelector">
                <property-sheet>
                        <show-property name="cm:storeName" />
                </property-sheet>
        </config>
        <config evaluator="string-compare" condition="Action Wizards">
                <aspects>
                        <aspect name="cm:storeSelector"/>
                </aspects>
        </config>

Hecho lo anterior ya podemos reiniciar el servidor de aplicaciones para que los cambios surtan efecto.

Ahora vamos a ver como empezar a usarlo. Recuerda que el aspecto, aunque pueden aplicarlo todos los usuarios, sólo el usuario administrador podrá especificar el store correspondiente y sólo es aplicable a contenidos (no a espacios). En este ejemplo veremos como hacerlo de forma manual, para sistemas en producción deberíamos hacer un script que modifique dicho metadato automáticamente en base a las necesidades que tengamos, por ejemplo los que estén dentro de un espacio concreto, los que tengan más de N años en el repositorio, etc. El procedimiento sería el siguiente:

  • Localizamos el fichero con el que queremos probar (lo moveremos al storeA).
  • Vamos a “Ver detalles” de dicho fichero y pinchamos en “Ejecutar una acción”
  • Seleccionamos “Agregar aspecto al contenido” -> “ContentStore Selector” -> Aceptar -> Finalizar
  • En las propiedades del fichero ya veremos un nuevo metadato llamado “Store Name”.
    propiedades
    Editamos las propiedades y en Store Name especificamos: storeA
    storea
    Cuando pinchemos en Aceptar, automáticamente el contenido se moverá de forma transparente al filesystem alf_data/storeA/2010/2/17/22/50/4365380f-daf1-494c-b79d-db11480cb171.bin correspondiente, en mi ejemplo, a un fichero pdf.

¿Interesante no?

ACTUALIZACIÓN: para automatizar la clasificación por “Stores” podemos hacer un script en Java Script llamado, por ejemplo, action_storeA.js o B según el sitio donde queramos colocar los ficheros, con el contenido:

document.properties["cm:storeName"]="storeA";
document.save();

Lo guardamos y subimos a Diccionario de datos -> Scripts. Hecho esto podemos ejecutar una acción sobre el fichero de turno y seleccionamos “Ejecutar un script” -> Seleccionamos nuestro script “action_storeA.js” y listo. También podemos incluirlo en una regla y hacer el proceso de forma automática, cuando entren los ficheros a un espacio concreto, o incluso clasificar si son vídeos, imágenes, pdf, cad, etc.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Multitenancy en Alfresco

Toni February 8th, 2010

multitenant_small2Desde hace unas cuantas versiones, Alfresco incorpora la característica “Multi-Tenant”, podemos traducirlo como “Multi-Inquilino”, ¿y que significa eso? Alfresco permite que varios inquilinos independientes (Alfrescos independientes) puedan ser alojados en una única instancia, es decir, tenemos un Alfresco con un repositorio y que lo va a usar una organización, pues si activamos el MT, tendremos un Alfresco, que se “virtualiza” a si mismo y dispone de repositorios físicos independientes con un mismo punto de entrada y a través del nombre de usuario, el sistema sabrá de que Tenant se trata.

Vamos a ver esto en el mundo real, así saldremos de dudas. Antes de seguir, recuerda que está todo documentado en la Wiki de Alfresco, en la sección MultiTenant. En este caso veremos como trabajar con MT en Alfresco Enterprise 3.2 pero aplicable a otras versiones.

Primero vamos a ver como se activa MT:

Vamos al directorio mt dentro de <extension>:

# cd $INSTALACION_DEL_TOMCAT/shared/classes/alfresco/extension/mt

Renombramos los tres archivos .sample que encontramos (son 3), no hay que modificar nada dentro de ellos, por defecto funciona correctamente, los podemos renombrar de uno en uno o todos a la vez con este comando:

# for i in *.sample; do mv "$i" "`basename $i .sample`"; done

Hecho esto, reiniciamos Alfresco y en los logs deberemos ver algo nuevo relacionado con el cambio que hemos hecho:

18:21:42,680 User:System INFO  [repo.tenant.MultiTAdminServiceImpl] Alfresco Multi-Tenant startup
- 0 enabled tenants, 0 disabled tenants
18:21:58,027  INFO  [service.descriptor.DescriptorService] Alfresco started
(Enterprise - Multi-Tenant): Current version 3.2.0 (304) schema 3400 - Originally installed
version 3.2.0 (304) schema 3400

OK, ahora vamos a ver si es verdad. Lo primero que debemos hacer es autenticarnos en Alfresco Explorer como administrador, en http://localhost:8080/alfresco admin/admin y listo.

Ahora ponemos la siguiente URL para acceder a la consola de administración de MT:

http://localhost:8080/alfresco/faces/jsp/admin/tenantadmin-console.jsp

consola-mt

En esa misma web podemos ver toda la ayuda que nos brinda la consola para ver, crear, borrar, habilitar, deshabilitar, cambiar contraseña, exportar e importar Tenants.

Vamos a ver unos ejemplos de cómo crear un tenant y empezar a trabajar con él.

Escribimos en la linea de comandos:

create blyx.com password /opt/alfresco-enterprise-3.2.0/alf_data_blyx

Esto tardará unos segundos, en función de lo rápida que sea nuestra máquina. Cuando veamos el mensaje

created tenant: blyx.com” se habrá creado el nuevo tenant… explicación redundante ;)

¿Y realmente que hace ese comando que hemos lanzado? Crea un tenant vacío y activo. Tendrá como administrador del mismo (para crear usuarios, grupos, etc.) un usuario llamado admin@<tenantdomain> en mi caso, admin@blyx.com, con la contraseña “password”. Todos los usuarios que accedan a ese tenant lo deberán hacer usando “usuario@blyx.com“. El repositorio físico (contentstore) estará en el directorio indicado en el comando.

Ahora podemos acceder a nuestro Tenant como admin y ver que realmente tenemos un repositorio totalmente vacío y disponible. Accediendo a nuestro sistema http://localhost:8080/alfresco con las credenciales de administrador del tenant correspondiente.

acceso-al-tenant

¿Qué puede hacer el administrador del tenant?

  • Gestionar los usuarios del sistema  (incluyendo cuotas).
  • Gestionar grupos.
  • Gestionar categorías.
  • Importar.
  • Exportar (incluyendo el repositorio completo del tenant).
  • Acceso a la información del sistema (System Information en la consola de administración).
  • Acceso al Node Browser (consola de administración).
  • Alfresco Share también como tenant.
  • Acceso Webdav.
  • Acceso FTP.
  • WebScripts propios, para ello deben requerir autenticación para conocer de que tenant se trata.
  • Personalización de modelos, webclient, workflows y demás a través de los Modelos Dinámicos y de la consola de repositorio.
  • Acceso del usuario invitado (guest) en el contexto del tenant, es decir, como guest@dominio.
  • Soporta clustering de forma nativa.
  • Los módulos AMP instalados en el dominio por defecto estarán disponibles para los demás tenants.

¿Qué no podemos hacer aún con los tenants o qué no está soportado? Info extraida de la wiki y basado en la versión 3.2.

  • El soporte a CIFS no está soportado actualmente.
  • La autenticación sólo puede ser la nativa de Alfresco, por ahora no soporta autenticación externa (LDAP, NTLM, etc).
  • WCM / Web Studio no soportado.
  • Portlets.
  • Borrar un tenant.
  • Correo electrónico entrante.
  • Replicación del repositorio.
  • IMAP.
  • SPP / VTI (SharePoint Protocol).

Como veis, es una solución orientada a los servicios, a la nube. Espero que os sea de utilidad, por lo menos para saber de que va esto del Multitenant del que tanto se oye hablar.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Nagios plugin for Alfresco released!!

Toni January 29th, 2010

I’ve just released the version 1.0 of the new Nagios Plugin for Alfresco, which can be used with Icinga too. I have employed Enterprise JMX capabilities to extract and check information from Alfresco. It has been tested in Alfresco Enterprise 3.2.

Nagios is an Open Source network monitoring tool that can be configured to monitor services on a network. Icinga is a new fork of Nagios. They are both used extensively in enterprise environments.

You can download it here http://forge.alfresco.com/projects/nagios4alfresco/

nagios_plugin_for_alfresco_screenshot

UPDATED! Version 1.1 released. Added “performance data” support. Now you can graph all checks with pnp4nagios.

It checks the following services:

  • PING
  • SSH
  • Alfresco Application Server
  • Alfresco Web Server - proxy
  • Alfresco VTI Share Point - Jetty
  • Alfresco FTP Server
  • Alfresco CIFS Server - NetBIOS
  • Alfresco CIFS Server - SMB
  • Alfresco RMI - JMX
  • Alfresco IMAP Server
  • Alfresco SMTP Server - incoming
  • Alfresco - Heap Memory Usage -
  • Alfresco - System Load Average
  • Alfresco - Thread Count
  • Alfresco - Number of Total Users
  • Alfresco - Number of Total Groups
  • Alfresco - Connection Pool
  • Alfresco - ContentStore Size
  • Alfresco - ContentStore Deleted Size
  • Alfresco - Audit Store Size
  • Alfresco - Hibernate Connect Count
  • Alfresco - Lucene Indexes SpacesStore Used
  • Alfresco - Lucene Indexes SpacesStore Num
  • Alfresco - Repo Sessions
  • Alfresco - Repo Users Connected
  • Alfresco - Total Memory Used
  • Alfresco - Free Memory
  • Alfresco - Max Memory
  • Alfresco - Cache Size

You can find it at Nagios Exchange or Monitoring Exchange

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Alfresco: configuración de Single Sign On (SSO) con NTLM vía Active Directory. Parte 3 de 3

Toni January 4th, 2010

En este último artículo de la serie veremos como “Activar el SSO en Alfresco CIFS con Active Directory (NTLM)“:

Recuerda activar los logs de DEBUG para CIFS y tener una visión más amplia de lo que pasa en el sistema, para ello debemos descomentar las líneas correspondientes en el archivo log4j.properties que hay en el directorio classes del alfresco.war desplegado (webapps/alfresco/WEB-INF/classes):

# CIFS server debugging
log4j.logger.org.alfresco.smb.protocol=error
log4j.logger.org.alfresco.smb.protocol.auth=debug
log4j.logger.org.alfresco.acegi=debug

Ficheros que intervienen para configurar SSO en Alfresco CIFS:

  • file-servers.xml en <configRoot>
  • file-servers-custom.xml en <extension>

Copia toda la sección <config evaluator=”string-compare” condition=”CIFS Server”> del fichero file-servers.xml a file-servers-custom.xml dentro de la sección “alfresco-config“.

Y también la sección <config evaluator=”string-compare” condition=”Filesystem Security”> del fichero file-servers.xml a file-servers-custom.xml dentro de la sección “alfresco-config“.

Editamos file-servers-custom.xml:

Añada replace=”true” en <config evaluator=”string-compare” condition=”CIFS Server” replace=”true”>

Para mi servidor Alfresco que lo he llamado “alfresco” con dominio “test.tld” pondría esta configuración:

<serverEnable enabled=”true”/>
<host name=”alfresco” domain=”test.tld“/>
<comment>Alfresco CIFS Server</comment>

En <host name=”alfresco” domain=”test.tld”/> elimina la A, este atributo hace que se publique el CIFS con el nombre de la máquina + A en caso de tener otro CIFS en esa máquina, en nuestro caso sólo tenemos uno y la quitamos.

Modificamos <authenticator type=”passthru”/> y descomentamos y/o modificamos la sección siguiente:
<authenticator type=”passthru“>
<Server>TEST.TLD\10.215.253.165, 10.215.253.165</Server> <!– dominio e IP del controlador del dominio –>
<protocolOrder>TCPIP,NetBIOS</protocolOrder>
<offlineCheckInterval>60</offlineCheckInterval>
</authenticator>

Una vez hecho esto ya podremos arrancar Alfresco y acceder, en mi caso, por CIFS a \\alfresco\Alfresco desde un cliente Windows XP del dominio y accederemos directamente sin solicitar usuario y contraseña.

En los logs deberemos ver algo así (usuario toni que está en Active Directory y ha iniciado la sesión) :

00:07:09,486  DEBUG [smb.protocol.auth] Mapped client /10.215.253.168 to domain null
00:07:09,589  DEBUG [smb.protocol.auth] Passthru sessId=15, auth ctx=[NTLM,Challenge=1d9c38e2728fb40a]
00:07:09,594  DEBUG [smb.protocol.auth] Null CIFS logon allowed, sess = T9
00:07:09,607  DEBUG [smb.protocol.auth] Using Write transaction
00:07:09,613 User:toni DEBUG [smb.protocol.auth] Setting current user using person toni (username toni)
00:07:09,613 User:toni DEBUG [smb.protocol.auth] Passthru authenticate user=toni, FULL
00:07:09,619 User:toni DEBUG [smb.protocol.auth] Closed auth session, sessId=15
00:07:09,647  DEBUG [smb.protocol.auth] Null CIFS logon allowed, sess = T9

Por último, para que funcione todo accediendo por FQDN, por ejemplo, hostname.domain.tld hay que configurar los navegadores según el siguiente manual: http://www.nateirwin.net/2007/01/19/enabling-ntlm-authentication-in-firefox-and-internet-explorer/, es decir, en IE configurar la URL como sitio de confianza.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Mejorando la velocidad de Alfresco con Varnish

Toni December 8th, 2009

En la charla que di en el Meetup de Alfresco en Madrid, comenté, entre otras cosas, cómo acelerar Alfresco, en este punto se hablaba de Varnish.

Varnish

Varnish es un proxy caché, acelerador web y balanceador de servidores web que funciona sobre Linux, Mac y *BSD, básicamente usa opciones del kernel y un almacén de la caché para acelerar las peticiones de páginas, es decir, un sustituto a mod_proxy, mod_proxy_balancer o mod_proxy_ajp.

En este artículo os dejo un manual sobre como implementar Varnish por delante de Alfresco para acelerar la experiencia del usuario y funcionamiento en general de la aplicación, tanto Alfresco Explorer como Alfresco Share u otras aplicaciones que desarrollemos sobre Alfresco, reduce los tiempos de conexión de forma considerable y libera de algunas peticiones al servidor de aplicaciones.

En este caso explicaré como instalar y configurar Varnish 2.0.5 en CentOS 5 mediante un RPM aunque también se puede compilar, todo en menos de 5 minutos. La lectura de esta web me ha ayudado para escribir el artículo.

Continue Reading »

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Digitalización, scanning y OCR con Alfresco

Toni July 8th, 2009

alfresco-logoEn el paradigma “oficina sin papeles”, intervienen muchos actores, siendo los principales las personas, que deben ajustarse a una serie de procedimientos y metodologías, y los sistemas de información, que deben proveer soluciones al paradigma.

En cuanto a complejidad, un proyecto de “Paperless Office” es tan difícil y en ocasiones frustrante como un proyecto de “Single Sign” o “Identity Management” en grandes organizaciones consolidadas ya sean públicas o privadas. El problema principal son, por un lado las soluciones Open Source de calidad, que no son muchas, los requerimientos técnicos del cliente dados muchas veces por aplicaciones obsoletas y heredadas.

Con Alfresco, gracias a características como el soporte CIFS, Webdav, reglas, transformación de formatos, workflow o indexación, conseguimos aproximarnos a nuestro objetivo, aunque en una oficina sin papeles necesitaríamos integrarnos con otras soluciones como firma digital, etc, que ya contemplaré algún día por estos lares.

En este caso me gustaría contar qué puede hacer Alfresco por nosotros en cuanto a digitalización de documentos, escaneo masivo (bulk scan) y OCR:

a) Ad-hoc scanning: usando CIFS o Webdav con la extracción de metadatos automática (por defecto). La mayoría de las impresoras/escaner multifunción modernas de oficina y de cierta envergadura soporta montar volúmenes remotos (conectarse a carpetas de red) para colocar la documentación escaneada. También podríamos hacerlo desde un escaner conectado a nuestra estación de trabajo. De esta forma se almacenarían los documentos directamente en Alfresco y posteriormente se pueden lanzar workflows, transformaciones, reglas, etc. Por ejemplo, una hoja de gastos, hoja de reclamaciones, actas, pedidos de clientes, documentos de identificación en puestos de control, etc.

En el caso anterior, que hemos llamado Ad-hoc scanning, no se contempla indexación del contenido de los documentos ya que estas grandes impresoras por defecto no hacen reconocimiento de texto (OCR), por lo que el documento escaneado, aun conteniendo texto, sería como una imagen. Para salvar este escollo se puede integrar con Alfresco una solución gratuita llamada Intelliant, basada en la SDK de Tiger OCR. Esta solución, que sólo funciona si el servidor Alfresco está instalado en un sistema operativo MS Windows, nos permitirá, a través de reglas y transformaciones, extraer todo el texto de un documento escaneado de forma que se pueda indexar y podamos hacer búsquedas por el contenido, algo realmente cómodo.

b) Batch scanning: Cuando necesitamos escanear cientos de documentos tipo plantilla, por ejemplo hojas de matrícula, facturas, exámenes, etc, y de éstos documentos queremos extraer la información y poder vincularla a metadatos de Alfresco, ya sea del modelo de datos por defecto o de un modelo personalizado, necesitaremos una solución que permita mapear la información existente en la plantilla/documento escaneado de turno, con un tipo de contenido de Alfresco, campo del documento con un metadato en Alfresco, etc. Esta solución se llama Kofax Ascent Capture, Alfresco dispone de un plugin gratuito y disponible en la forja de Alfresco [http://forge.alfresco.com]. Este software utiliza la API de WebServices de Alfresco para realizar su trabajo. El plugin sólo funciona en MS Windows.

Kofax Ascent Capture tiene las siguientes características (fuente):

  • Corrección y mejora automática de imágenes.
  • Separado automático de documentos e identificación automática de formularios.
  • OCR, ICR y OMR para reconocimiento de texto impreso o escrito a mano en cientos de idiomas, códigos de barras y otros tipos de códigos.
  • Certificado para funcionar con la mayoría de scanners, ver listado.
  • Integración con Alfresco y gestión de procesos de negocio.

La opción a) es completamente gratuita y la opción b) depende del propio software Kofax Ascent Capture, que no es gratuito.

Hay otras soluciones como usar un escaner con soporte eCopy, cuyo conector con Alfresco ha sido desarrollado por SIRA Systems. Este conector permite a un usuario escanear un documento y ponerlo directamente en Alfresco. Este software se instala en el escaner y hace de interfaz entre el escaner y Alfresco. Sería una solución del tipo a) ya que no contempla selección ni mapeo de datos de los documentos escaneados, aunque si permite la indexación del contenido ya que incorpora un OCR, esta solución cuesta 2.495USD. Más información sobre el conector de SIRA Systems aquí.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Consultoría sobre Zimbra en el mundo real.

Toni June 10th, 2009

zimbra_logoEl otro día recibí un correo electrónico de un antiguo compañero de trabajo que sabía que yo andaba en temas del mundo Open Source, para hacerme una serie de cuestiones relacionadas con Zimbra. Le respondí y le pregunté si le importaba que usara esa respuesta para crear un artículo en mi blog, él accedió y aquí está el correo con cierto toque de rimel y polvos para que quedase medio bien.

Antes de seguir quiero describir de una forma muy breve qué es Zimbra (extraído/traducido de su web): Zimbra Collaboration Suite (ZCS) 5.0 es una moderna e innovadora aplicación de mensajería y colaboración. Zimbra es la primera solución de código abierto para la empresa, proveedor de servicios, educación, gobiernos y medios; ofreciendo tanto a administradores como a usuarios finales una cantidad importante de características y beneficios. Zimbra es una opción interesante como servidor de correo electrónico en Mac y Linux, también soporta clientes para Windows y protocolos para reemplazar MS Exchange sin problemas. Más información aquí.

Consulta:

Tengo un amigo que tiene una empresa y necesita algo para tener sincronizado el mail, contactos, calendario y demás en las tres delegaciones que tiene, además el tiene un flamante iPhone y quiere tener acceso a todo ello de manera móvil.

En los PCs de las delegaciones podría instalar el Yahoo Zimbra Desktop (que no es mas que un cliente para Zimbra) o bien el conector de Zimbra para MS Outlook que sincronice todos los datos. Pero claro he visto que la versión Open Source ni tiene conector ni tiene soporte para iPhone.

He visto que para el tema de importar los datos de MS Outlook (mensajes, adjuntos, contactos y calendario) existe el Zimbra Import Wizard que en teoría tras la migración te lo deja todo bien en el nuevo entorno y te mantiene la estructura de carpetas.

La pregunta es: ¿puedo hacer eso con la Open Source? Sino es asi, merece la pena pagar por la versión Zimbra Network y un plus para el iPhone?

Respuesta:

Como sabes Zimbra tiene dos versiones, la Network Edition (de pago) y la Open Source Edition (gratis), la diferencia principal entre ambas es:

  1. Una es de pago por número y tipo de usuario (Basic, Standard o Enterprise) y la otra es gratis. Eso ya lo sabías ;)
  2. La Network soporta MAPI y la Open Source no. MAPI es el protocolo de MS que ha conseguido implementar Zimbra y simula ser un MS Exchange por lo que permite a un iPhone configurarlo como si de un cliente Exchange se tratara y sincronizar OTA (over the air) tanto la libreta de direcciones, calendarios y correos. La opción MAPI solo está disponible en la Network Edition para cuentas de usuario Enterprise (las más caras).

Otros aspectos a tener en cuenta:

  1. El Yahoo Zimbra Desktop es un cliente de correo pesado que permite trabajar offline, pero es pesado de verdad, te monta un servidor de aplicaciones Java (Jetty) en local, por lo que consume recursos y necesitaras estaciones de trabajo potentes. Este cliente funciona muy bien, pero consume memoria y disco (como es lógico porque descarga los correos del servidor). Este cliente te funciona para Zimbra Colaboration Suite tanto la versión Network como Open Source y es gratis, también para cualquier otra cuenta de Yahoo, Gmail u otros. En cuanto al conector de Zimbra para sincronizar con MS Outlook, las últimas versiones funciona bien, puedes tenerlo en cuenta en clientes MS Windows.
  2. Para importar los PTS y demás datos de Outlook, Zimbra se lo tiene muy currado y dispone de una aplicación que funciona muy bien pero que, por lo que yo se, sólo te sirve para la versión Enterprise (yo lo he probado en esta).

En respuesta a tu pregunta, con la Open Source no puedes si los clientes son iPhone, por el soporte MAPI, si tus clientes móviles son otros podrías utilizar Funambol (algún día hablaré de esa maravilla) que, basado en syncML, permite sincronizar dispositivos móviles y no tan móviles con aplicaciones de servidor. Funambol cuenta con un conector para Zimbra libre y gratuito. Funambol tiene clientes para BlackBerry, Thunderbird y muchos más, incluso para iPhone, la diferencia es que en todos funciona genial menos en iPhone porque este último no permite exportar datos del calendario por syncML, es decir, sólo puedes sincronizar la agenda. Son cosas de los amigos de Apple… a veces no son tan “cool” como parece…

¿Te merece la pena pagar por la versión Network Edition? Pues para lo que quiere esta empresa yo pienso que si, no es mucho dinero y la solución, desde mi punto de vista, es mucho mejor que MS Exchange, las posibilidades que te brinda Zimbra son inmensas, los Zimlets son muy potentes, la capacidad de integración es muy buena y el soporte no funciona nada mal. En http://www.zimbra.com/quote/configurator.php puedes ver lo que cuestan las cuentas Network Edition de una forma más o menos estimada, de las que deberías comprar como mínimo 25 Enterprise a un precio de 875USD (35 dolares por usuario) y no necesitarás ningún plugin de iPhone. También dispones de la Starter Edition (http://www.zimbra.com/quote/starterpkg.php) que son 15 cuentas Professional por 399USD (26,6 dolares por usuario). La Starter no tiene soporte pero si actualizaciones, por eso es más barata. Además en la Wiki y en los Foros de Zimbra hay muy buena información.

Eso ha sido todo.

Ya sabéis, en Intecna somos partners de Zimbra, si queréis una implantación no dudéis en contactar.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Adios Nagios, hola Icinga.

Toni May 9th, 2009

nagiosLos que me conocen saben que soy un enamorado de Nagios, lo conozco desde hace años, desde que se llamaba Netsaint, lo he montado siempre que he podido para demostrar que no tiene nada que envidiar a software propietario y caro que se ve por las grandes compañías de todo el mundo. Me consta que sigue montado en sitios por los que he pasado, no diré más pistas ;).

En los últimos años, a Nagios le han salido muchos competidores en el mundo del Open Source: Zenoss, Hyperic, Pandora, OpenNMS, Zabbix, Centreon y Groundwork, estos dos últimos basados en Nagios. Lo cierto es que tenía la sensación de que Nagios estaba siendo adelantado por sus competidores. El problema principal es que, a pesar de la gran comunidad que existe en torno a Nagios, el core sólo lo desarrolla una persona en USA y parece ser que era un cuello de botella para otros desarrolladores y los usuarios finales. Esto no ha caído en saco roto y la comunidad se ha puesto manos a la obra para que el proyecto pueda seguir creciendo como se merece. Así que la gente de nagios-portal.org, NagVis, NagTrap, PNP4Nagios, icingacheck_multi, NagiosGrapher y NETWAYS han realizado un fork llamado Icinga, que significa en Zulú “explorar o examinar”.

Es la grandeza del Software Libre, y gracias a la libretad de adaptar, modificar, publicar podemos tener noticias como esta. Como ellos mismos indican en su FAQ ya ha ocurrido esto otras veces, por ejemplo con Mambo->Joomla o con XFree86->X.org.

Todo esto está muy bien, pero ¿ganará la comunidad con este cambio? A tenor de lo que la gente de Icinga promete, estoy seguro que si, y mucho. Veamos:

  • Soportará características y plugins de Nagios y será facil migrar desde Nagios.
  • Soportará extensiones y desarrollos e integraciones gracias a una API.
  • Tendrá una nueva interfaz web basada en PHP.
  • Tendrá como addons: PNP, NagVis, Grapher V2 y NagTrap.
  • Nueva interfaz NDO con soporte para ser almacenado en ficheros o en base de datos permitiendo el acceso a esos datos desde la API con PHP o desde WebServices.
  • ReportDesigner para realizar informes personalizados y se podrán configurar envíos automáticos de informes cada cierto tiempo.
  • También se contemplan mejoras para grandes instalaciones.

Por ahora toca esperar, parece que la primera versión de Icinga saldrá el próximo 20 de Mayo. Habrá que estar atento, yo ya he puesto una nota en mi calendario.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Novedades en Alfresco, información de la Chicago Meetup

Toni May 8th, 2009

alfresco-logoEl pasado 29 de Abril tuvo lugar en Chicago el evento “Alfresco Chicago Meetup” donde estuvieron hablando por parte de Alfresco Matt Asay y Michael Uzquizano también se vieron algunos casos de estudio por parte de Ed Wentworth (Orbitz) y trataron temas como la integración entre Alfresco y Drupal con soporte CMIS.

Se trataron muchos temas que recoge Jeff Potts en su blog. Me gustaría hacer un resumen de los temas más significativos que se trataron según he leído.

* Alfresco ha llegado a los 1000 clientes con suscripciones. Todo un éxito.
* Groovy estará implementado en Surf tras liberar la versión 3.2.
* Spring WebFlow se está integrando también en Surf aunque no se conoce la fecha de liberación.
* Sobre recursos CMIS, se ha creado una web llamada CMISDev.org donde encontrar recursos e información relacionada.
* 3.2 Labs saldrá para Junio de 2009.
* 3.2 Enterprise saldrá para Septiembre de 2009.
* 3.3 Labs/Enterprise previsto para el Q1 de 2010.
* 4.0 Labs/Enterprise previsto para el segundo semestre de 2010.

Dentro de la rama 3, se harán grandes cambios de cara a la versión 3.2, entre los que se pueden destacar:

Surf Mobile: El framework Alfresco Surf permitirá desarrollar de forma más sencilla aplicaciones web para iPhone y posiblemente Blackberry.

Nuevo Form Service: se amplia las capacidades en los formularios de WCM y parece que serán utilizables en el DM.

Integración con IMAP: no queda muy claro pero parece que permitirá conectarse a Alfresco como si de un buzón IMAP se tratase, lo que permitiría acceder a la documentación bastante fácil desde cualquier cliente de correo electrónico. Es algo que uso con Zimbra y es muy cómodo.

Clustering: la versión 3.2 soportará cluster real tanto en DM como en WCM. Si has trabajado con Alfresco en cluster sabrás que es algo complejo en cuanto a funcionamiento. Veremos realmente que mejoras habrá en este campo.

Indexación: parece que vendrá con unas características que permitirá “refactorizar” los índices para no tener que re-indexar cuando hay inconsistencias en Lucene. Comentaré de que va esto cuando tenga más datos pero de cualquier forma es esperanzador.

Eso es todo, espero que sea útil.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

EOS Directory, Enterprise Open Source. Listado de aplicaciones Open Source para la empresa.

Toni April 29th, 2009

eosdirectoryInteresante listado de aplicaciones Open Source, clasificadas por tipos, puntuadas y comentadas.
http://www.eosdirectory.com/directory.

Por cierto, el listado is powered by  Optaros.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Next »