Tag Archives: google

Uso de Google Docs con Alfresco… “en la vida real”

Vamos a seguir con nuestros casos de uso en la vida real utilizando Alfresco. Para eso, nuestra ficticia aseguradora FEGOR necesita compartir documentos con los peritos, comerciales y asegurados. José Grillo, antes era perito de la compañía, actualmente lo han cambiado al departamento comercial, necesita de vez en cuando crear y modificar contratos y para ello usa Google Docs que le es muy cómodo ya que puede usarlo desde cualquier ordenador con navegador, además puede compartirlo con otras personas tanto sus jefes como asegurasdos (clientes) para que incluso terminen de rellenar datos que falten.

Como siempre, vamos a suponer que la aseguradora es pequeña y no tiene infraestructura propia para correo, web, etc., excepto el pequeño servidor de oficina con Alfresco instalado, un ADSL y la configuración para poder entrar desde fuera. Vamos a aprovechar las ventajas de Google para hacer esto de forma gratuita y no tener que contratar los servicios de terceros por lo que suponemos que hemos configurado Google Apps para nuestro correo y tenemos las siguientes direcciones:

Para la autenticación de Alfresco con Google Docs: alfresco@fegor.com
Usuario José Grillo que es ahora comercial: josegrillo@fegor.com
Usuario Toni Fuente es el director del departamento de contratos: tonifuente@fegor.com

José Grillo dejará una “copia de trabajo” de un contrato de seguro en Google Docs para que Toni Fuente pueda verificarla y dar el visto bueno o incluso modificar lo que haga falta desde su casa.

Para la configuración de la integración de Alfresco con Google Docs recomiendo los siguientes enlaces:

1. Toni de la Fuente tiene un magnífico vídeo que explica tanto la configuración como el funcionamiento de esta integración. (http://blyx.com/2011/05/23/screencast-sobre-integracion-de-alfresco-y-google-docs)

[vimeo http://www.vimeo.com/24042851 w=400&h=320]

2. http://wiki.alfresco.com/w/images/7/78/Getting_Started_with_Using_Google_Docs_with_Alfresco.pdf

Hay que crear el fichero googledocs.properties en extensionsubsystemsgoogledocsdefaultdefault y poner los siguites valores:

Fichero: googledocs.properties

googledocs.googleeditable.enabled=true
googledocs.application.name=Alfresco ECM system
googledocs.url=https://docs.google.com/feeds/default/private/full
googledocs.downloadurl=https://docs.google.com/feeds/download
googledocs.username=alfresco@fegor.com
googledocs.password=password_de_la_cuenta
googledocs.spreadsheet.service.name=wise

Actualización (10/10/2011), Rodrigo Tardioli Moreira me avisa que debido a la política de seguridad de Google Docs, el valor de “googledocs.url” debe usar el protocolo HTTPS en lugar de HTTP, por tanto, la línea sería:

googledocs.url=https://docs.google.com/feeds/default/private/full

Para más información se puede ir a la siguiente dirección: http://googleappsdeveloper.blogspot.com/2011/09/requiring-ssl-for-documents-list.html

Para que visualice las opciones de creación de los documentos en Google Docs desde Alfresco Share hay que activarlo explícitamente en web-config-custom.xml  de la carpeta web-extension. (Para la versión 4.x no es necesario activarlo ya que viene por defecto descomentado)

[…]

  true
 
    application/msword
    application/vnd.ms-excel
    application/vnd.ms-powerpoint
 

[…]

En el perfil del usuario José Grillo (Email=josegrillo@fegor.com y Usuario Google=josegrillo@fegor.com) y en el perfil de Toni Fuente (Email=tonifuente@fegor.com y Usuario Google=tonifuente@fegor.com)

Además, esto es opcional, si el usuario administrador va a crear todos los espacios donde los usuarios suban documentos y estos no van a ser administradores de dicho sitio, para que no haya problemas en la asignación de roles de escritura a los usuarios que suben los documentos (ya que el propietario o “owner” del documento en Google Docs será el que haya creado el sitio) recomiendo que (usuario admin) sea el mismo usuario de Google que el usado en el fichero de propiedades. En este caso, tanto el “Email” como el “Usuario Google” los he puesto como alfresco@fegor.com.

Vamos a crear un nuevo sitio colaborativo (privado) llamado “Contratos” y dentro de la Biblioteca de documentos crearemos carpetas para “Hogar”, “Vehículos” y “Vida” que serán los tipos de contratos. Este sitio lo creará el usuario Toni Fuente ya que es el responsable de este departamento e invitará a José Grillo al que asignará el rol de Coordinador. José Grillo deberá responder desde su correo a esta solicitud de invitación, evidentemente.

Una vez realizado ambos usuarios deben tener acceso al sitio colaborativo (privado) y poder crear documentos.

Ahora ya puede entrar José Grillo y crear su primer contrato para ser enviado a Google Docs, para ello debe seleccionar la opción de “Crear contenido…” de “Google Docs documento” en la Biblioteca de documentos.

Una vez creado el documento (no el contenido) y rellenado todos los metadatos, puede subirlo (José Grillo) a Google Docs para poder editarlo desde cualquier lugar donde se tenga acceso. De hecho, lo que crea es una copia de trabajo del documento.

Desde este momento ya puede editarse mediante Google Docs utilizando el enlace que Alfresco Share crea para este directamente, “Este documento ha sido subido por usted a Google Docs para su edición”. Además, José Grillo recibe un mensaje a su cuenta de google con el enlace del documento a editar.

Pulsando el enlace iremos directamente al documento y si no hay sesión inicializada en google, se solicitará. En este caso se solicita una autenticación desde Google Apps.

Al entrar, José Grillo puede modificar el documento de contrato con la ventaja de no tener que instalar un programa ofimático en su ordenador o mejor aún, puede editar y modificar el contrato desde cualquier lugar donde pueda acceder a una navegador desde un ordenador.

Pero, además, en este caso, José Grillo necesita dar permisos a su jefe Toni Fuente porque necesita que realice unos cambios. Para ello directamente en el botón “Share” de Google Docs puede incluirlo y asignarle el rol de modificar el documento.

Es evidente que además, si necesita que el “asegurado” pueda editar el documento o simplemente visualizarlo en modo lectura para imprimirlo, puede invitarlo igualmente. Solo tendrá que tener una cuenta en google.

Pero, ¿y si necestita que toda la aseguradora tenga acceso a dicho documento?, es decir, todos los que pertenezcan al dominio fegor.com deben poder modificar/ver el documento. Pues, desde el mismo Google Docs cuando estamos dentro de un dominio Google Apps podemos asignar permisos a nivel de la misma organización. Para ello pinchamos  en el enlace “Change” o “Compartir” de la primera línea de permisos que se visualiza, en este caso se puede observar en la imagen anterior. De esta forma podemos hacer que las cuentas creadas dentro de fegor.com tengan acceso vía un link o acceso directamente.

Una vez modificado, José Grillo puede “desproteger” el documento con lo que es borrado del acceso desde Google Docs y ya puede tener acceso desde el entorno Alfresco.

Solo comentaros que, igual que se ha creado desde cero el documento, para subir un documento a Alfresco y poder compartirlo en Google Docs necesitamos asignarle el aspecto “Editable en Google Docs” y ya podremos realizar todas las tareas que hemos visto.

Ahora toda la aseguradora FEGOR puede modificar, ver e imprimir contratos de seguros y además pueden enviar links compartidos a los asegurados, lo que le reporta un gran beneficio y flexibilidad a la hora de trabajar de forma deslocalizada y colaborativa…

… y espero que este artículo sirva de ayuda para extrapolarlo a otras situaciones similares 🙂

Crear módulos AMP para share (Alfresco)

Mi amigo Toni de la Fuente ha modificado un componente en WebScript (repository) para visualizar todas las consolas de que disponemos en la versión Enterprise de Alfresco: http://blyx.com/2011/03/07/anade-mas-utilidades-de-administracion-en-alfresco-share/ y ha creado un proyecto en google code a partir de este en: http://code.google.com/p/alfresco-useful-admin-links/

Para instalar este WebScript solo hay que copiarlo en la ruta indicada directamente (ver información en su proyecto) o bien, también se puede crear un módulo AMP para que pueda ser instalado dentro del fichero share.war

Bien, eso es lo que vamos a hacer, crearemos un fichero AMP con los ficheros de WebScript para que pueda dejarlo para descarga en su proyecto.

La creación de módulos para “share” de Alfresco es la misma que cuando se crean módulos para el “explorer”. Evidentemente cambian las localizaciones, dónde vamos a dejar los ficheros y que en este caso la mayoría de las veces serán archivos relacionados con WebScripts más que clases Java.

Si tenemos el SDK de Alfresco se puede realizar una copia de su “SDK Basic AMP” y a partir de ahí continuar, si no es así se puede crear un proyecto Java en Eclipse y dotarlo de la siguiente estructura:


En build/dist se creará el fichero de módulo, este se generará a partir de un fichero .jar generado, a su vez, a partir de lo que se tenga en el directorio source; así como también de los ficheros que hay en el directorio config.

Dentro del directorio config podemos crear la estructura misma que usa Alfresco (share) para almacenar los componentes y en concreto los de la consola para el administrador; y que está en alfresco/site-webscripts/org/alfresco/components/console

Lo más importante aquí es tener un buen fichero de ant para que pueda ser “compilado” todo correctamente.

Mi fichero ant para esto (build.xml) es el siguiente:

   
   
   

   
   
   
   

   
       
       
       
   

   
       
       
       
   

   
       
   

   
       
       
           
               
               
               
           
       
   

   
       
           
       
   

   
       
           
           
           
           
               
               
               
               
               
           
           
       
   

Una vez que todos los componentes están en su sitio solo hay que ejecutar el archivo build.xml (botón derecho encima del fichero build.xml en Eclipse y elegir “Run as…->Ant Build”) y comprobar el resultado.

 ¿Ventajas de tener un módulo?, creo que están claras, mejora la administración y mantenimiento del producto, mayor facilidad para instalación, etc. Por supuesto es lo aconsejado por Alfresco.

¿Desventajas?, pue sí, como con todo, también las hay, la más importante es que copiando los ficheros directamente en el despliegue de la aplicación solo hay que “refrescar” el “inventario” de WebScripts para tenerlos disponibles y en caliente, mientras que de la otra forma aunque no paremos el servidor o la aplicación share, al modificar el .war se autodesplegará produciendo al menos que tengámos que volver a autenticarnos, siempre y cuando no tengamos activado el Single Sign On (SSO)… 😉