Pràctica ASI-C3-IAIG: DMS: Alfresco III. Configuració SMTP i altres
Contingut
Objectius
Un tema important que encara no s'ha tocat és l'enviament de correus electrònics per fer notificacions i alertes dins del sistema DMS. Veurem com es configura. També mirarem altres aspectes que poden ser d'utilitat en la implantació real de l'Alfresco.
Desenvolupament
Configuració SMTP
La coonfiguració de l'enviament de mails mitjançant SMTP i el servidor de Gmail està documentat en aquest enllaç:
El tema no és fàcil perquè partint de la documentació oficial no s'implementa bé la solució. El consol és saber que hi ha gent que ha tingut els mateixos problemes i que les possibles solucions es poden trobar en els fòrums. Com a conclusió, és important veure els logs i el rastre de l'activitat, per poder esbrinar la causa dels problemes i poder aïllar el problema.
Alfresco i recepció de mails
prendre una acció després de la recepció d'un mail. Per exemple, quan rebem un mail amb un subject, els fitxers adjunts depositar-los en una carpeta. Upload Files to Alfresco via Email -- Inbound Emails
- http://camelcase.blogspot.com/2010/08/short-video-from-alfresco-s-partner-zia.html
- http://keytocontent.blogspot.com/2010/05/upload-files-to-alfresco-via-email.html
Alfresco i recepció de mails (Inbound Emails)
De la mateixa manera que podem enviar mails, el sistema Alfresco també pot prendre una acció després de la recepció d'un mail. Per exemple, quan rebem un mail amb un subject, els fitxers adjunts podem depositar-los en una carpeta.
A la web està documentat exemples d'integració d'Outlook o Thunderbird amb Alfresco.
- http://camelcase.blogspot.com/2010/08/short-video-from-alfresco-s-partner-zia.html
- http://keytocontent.blogspot.com/2010/05/upload-files-to-alfresco-via-email.html
Openoffice
En el fitxer alfresco-global.properties veiem aquesta informació relacionada amb OpenOffice:
### External executable locations ###
ooo.exe=/opt/alfresco-3.4.d/openoffice/program/soffice.bin
ooo.enabled=false
img.root=/opt/alfresco-3.4.d/common
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
swf.exe=/opt/alfresco-3.4.d/common/bin/pdf2swf
jodconverter.enabled=true
jodconverter.officeHome=/opt/alfresco-3.4.d/openoffice
jodconverter.portNumbers=8101
i veiem que l'executable és /opt/alfresco-3.4.d/openoffice/program/soffice.bin
És necessari tenir el servei d'OpenOffice engegat per tal de poder visualitzar bé els documents .doc, per exemple en el Alfresco Share.
Així doncs, la idea subjacent és disposar d'un servidor d'Openoffice per transformar documents entre formats. Típicament, un navegador web sap visualitzar bé documents HTML/TXT/PDF, però no d'altres formats. Recordem que Alfresco/Tomcat és una solució multiplataforma i per tant s'ha de buscar solucions independentment de la plataforma.
Anem a veure-ho amb un exemple:
Arrencar el servei de OpenOffice en mode background, sense cap X server
/usr/lib/openoffice/program/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless -nofirststartwizard
En aquest cas utilitzo la instal.lació standard de l'Openoffice, però podria utilitzar l'executable que proporciona Alfresco situat a /opt/alfresco-3.4.d/openoffice/program/soffice.bin.
Per aturar el servei:
$ killall soffice.bin
OpenOffice pot arrencar automàticament en el procés d'arrencada de l'Alfresco, tal com es veu en el fitxer openoffice_ctl.sh
# Open Office SOFFICE_PATH="/opt/alfresco-3.4.d4/openoffice/program" SOFFICE_PORT="8100" SOFFICEBIN=/opt/alfresco-3.4.d4/openoffice/program/soffice.bin SOFFICE="$SOFFICEBIN -nofirststartwizard -nologo -headless -accept=socket,host= SOFFICE_STATUS=""
però no arrenca automàticament perque per defecte n el fitxer alfresco-global.properties veiem aquesta informació relacionada amb OpenOffice:
... ooo.exe=/opt/alfresco-3.4.d/openoffice/program/soffice.bin ooo.enabled=false ...
- http://qugstart.com/blog/linux/openoffice-headless-mode-installation-word-doc-to-pdf-conversion/
- http://www.artofsolving.com/opensource/pyodconverter
Resumint, per convertir un document tipus OpenOffice a pdf en background, primer arrenco el Openoffice en mode headless
/usr/lib/openoffice/program/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless -nofirststartwizard
i després necessito un script per interactuar amb el servidor Openoffice. Per exemple:
$ python DocumentConverter.py /home/joan/Documents/hola.odt /home/joan/Documents/hola.pdf
i es crea el fitxer hola.pdf
Google Docs
Document pdf a la web: Getting Started Using Google DocsTM with Alfresco
Llegir i comentar el document i en quins àmbits pot ser útil
Redimensionar imatges
Alfresco, com a sistema de gestió documental, tracta les imatges com a documents, i les sap manipular. La manipulació d'imatges ve de la mà d'una aplicació externa com és ImageMagick.
Existeix l'acció Transformar copiar una imagen. Com a opcions es pot posar el tamaany de la nova mida:
-resize 100x100
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. All manipulations can be achieved through shell commands as well as through an X11 graphical interface (display).
Accedint a la base de dades
El model de dades (les taules i les relacions entre elles), és realment críptic. Fins i tot, no hi ha cap taula que es digui users o similar.
$ cd /opt/alfresco-3.4.d4/mysql/bin$ $ ./mysql -u root -p alfresco mysql> show tables;
mysql> select * from jbpm_taskinstance; ... | 329 | W | 1 | inwf:acceptInviteTask | Invitación a unirse al sitio Seguiment_medic | asi2a09 | 2011-03-25 17:24:13 | NULL | NULL | NULL | 3 | | | � | � ... mysql> select * from alf_activity_feed; ... mysql> select * from alf_permission; +----+---------+---------------+------------------+ | id | version | type_qname_id | name | +----+---------+---------------+------------------+ | 1 | 0 | 21 | All | | 2 | 0 | 32 | Consumer | | 3 | 0 | 32 | Contributor | | 4 | 0 | 38 | Read | | 5 | 0 | 32 | Collaborator | | 6 | 0 | 32 | Editor | | 7 | 0 | 32 | Coordinator | | 8 | 0 | 170 | SiteManager | | 9 | 0 | 170 | SiteCollaborator | | 10 | 0 | 170 | SiteContributor | | 11 | 0 | 170 | SiteConsumer | | 12 | 0 | 38 | ReadPermissions | +----+---------+---------------+------------------+ 12 rows in set (0.00 sec)
Feina per l'alumne
En la pràctica anterior vas treballar amb els usuaris superXX i asi2aXX. Quan l'usuari superXX convida (Invite) el metge resident asi2aXX per escriure en el seu espai, hi ha la possibilitat d'enviar un mail de notificació. Prova-ho (Exercici 1). Per defecte el missatge que s'envia és (Utilitzem la plantilla per defectte: invite_user_email.ftl ):
Asunto: Ha sido invitado a '/Company Home/User Homes/joan/exercicis_corregits' por joan quintana. Missatge: Ha sido invitado a '/Company Home/User Homes/joan/exercicis_corregits' por joan quintana. Usted tendrá el rol de: Contribuidor
Modifica la plantilla d'invitació. Com a admin, crea una nova plantilla:
- Company Home > Data Dictionary > Email Actions > search > Email Templates > invite
Exercici 2: l'alumne editarà la seva pròpia plantilla: invite_user_email_XX.ftl. Ficar la informació en català i personalitzar. Les plantilles estan en el Data Dictionary, i s'ha d'entrar com a admin.
Actualment, la plantilla invite_user_email.ftl és:
You have been invited to '${space.name}' by ${person.properties.firstName}<#if person.properties.lastName?exists> ${person.properties.lastName}</#if>.
<#if role?exists>You will have the role of: ${role}</#if>
You can view the space through the Alfresco client:
<#assign ref=space.nodeRef>
<#assign workspace=ref[0..ref?index_of("://")-1]>
<#assign storenode=ref[ref?index_of("://")+3..]>
${url.serverPath}/alfresco/navigate/browse/${workspace}/${storenode}
Regards
Alfresco
Però tanmateix, la informació no la reps en anglès, la reps en castellà (si esculls la sessió amb l'idioma castellà). Això significa que les frases d'aquesta plantilla estan traduïdes. Tanmateix, la traducció no és una tasca trivial, sinó que s'ha de recompilar i redistribuir l'Alfresco (Tomcat), tal com s'explica: (llegir, Exercici 3)
Exercici 4. Crear una regla:
- títol de la regla: notificació
- condició. Quan el metge super rebi una revisió d'un pacient per part del seu metge resident
- Acció: enviar un mail a superXX
- subject del mail: el metge resitent asi2aXX ha enviat un expedient per revisar
- cos del mail: modificar la plantilla notify_user_email.ftl per adaptar-la al teu propòsit. Creen una de nova amb el nom notify_user_email_XX.ftl
Exercici 5. La idea és la mateixa, enviar un mail, però ara és el superXX el que envia un mail al asi2aXX quan ha resolt com a acceptada/denegada una consulta mèdica. A veure si pots posar en el mail com a text el resultat (...la consulta ... ha estat ACCEPTADA...).
Exercici 6. Tant l'usuari superXX com l'usuari asi2aXX tenen les carpetes radiografies i radiografies_th. Crearás una regla de manera que quan asi2aXX introdueixi una radiografia associada a un expedient (format JPG, GIF, etc, renombrar-la amb un nom que quedi clar a quin expedient està associada), s'hauran d'emprendre les següents accions:
- crear el thumbnail i guardar-lo en la carpeta thumbnail
- enviar la radiografia al superXX en el format original
- enviar el thumbnail a la carpeta thumbnail del superXX
Entrega
No cal entregar res, es pot seguir el rastre de l'activitat en la base de dades i en l'aplicació.
Recursos
Durarda
3 hores
creat per Joan Quintana Compte, març 2011