Open Source Document Management: Alfresco

In questi giorni sto testando alcuni prodotti per il Document Management, per i quali vorrei darvi le mie impressioni. Il primo, e forse il più conosciuto, è Alfresco.
Alfresco è una soluzione completa di Enterprise Content Management fondata nel 2005 da John Newton (cofondatore di Documentum) e John Powell (COO di Business Objects). Basata interamente su tecnologie open source e standard aperti, vanta clienti come Electronic Arts, Activision, Fox e molti altri.

Alfresco viene offerto in due versioni:

  • Enterprise Edition: edizione stabile, certificata e con supporto dedicato (a pagamento). Pensata per aziende, organi governativi e tutte quelle realtà in cui è necessario avere uno SLA. EE è scaricabile e valutabile per un periodo di 30 giorni.
  • Community Labs: edizione non certificata e supportata esclusivamente dalla community di Alfresco. Distribuita con licenza GPL 2 (con linking exception) è liberamente scaricabile ed utilizzabile.

Per maggiori informazioni sulle differenze tra le due edizioni, si rimanda a:

http://www.alfresco.com/it/products/networks/compare/

La versione Community Labs che ho installato è la 3.0 Final, rilasciata il 19 Gennaio 2009.
Basato su tecnologie Java, l’installazione ed il funzionamento sono possibili su svariate piattaforme: Linux, Windows, Mac.

Le funzionalità di Alfresco si articolano su queste aree:

  1. Document Management
  2. Web Content Management
  3. Collaboration
  4. Content Platform and Repository
  5. Content Management Interoperability Services (CMIS)
  6. Records Management
  7. Image Management

Tra le funzionalità principali:

Document Management

Check-In/Out dei documenti e Version Control

  • Simple Library Services – Check-Out del documento per prevenire la modifica contemporanea da parte di più utenti
  • Version Control – Minor e major version control

Disco condiviso

  • Tutti i contenuti sono disponibili attraverso un’unità condivisa
  • Utilizzo di qualsiasi prodotto di authoring, senza bisogno di installare pacchetti o plugin
  • Funzionalità di salvataggio, versioning, condivisione, ricerca e auditing

Integrazione con Microsoft Office

OpenSearch

  • Sistema di ricerca in stile Amazon o Google
  • Possibilità di ricerca su multipli repository Alfresco oltre ad eventuali fonti esterne (wiki, feed RSS, blog, …)

Social tagging

  • Tagging dei contenuti e ricerca basata sui tag

Integrazione con portali esistenti

  • Integrazione basata su standard JSR-168 e REST

Accesso ai contenuti anche via CIFS, WebDAV ed FTP

Sicurezza

  • Gestione accessi e privilegi a utenti e gruppi
  • Controlli di sicurezza fino a livello del singolo documento
  • Single sign-on attraverso NTLM o LDAP
  • Supporto ad Active Directory

Gestione automatizzata di workflow e ciclo vita dei documenti

  • Integrazione con jBPM
  • Gestione dei contenuti con controllo della creazione, review, approvazione, eventuale validità, retention ed archiviazione

Data management and Transformation Engine

  • Servizi di trasformazione automatica: da Office a ODF/PDF, da PowerPoint a Flash

Web Content Management

Oltre alle funzionalità elencate nella sezione precedente:

Sandbox, visualizzazione e virtualizzazione

  • Anteprima delle modifiche a qualsiasi pagina o applicazione Web
  • Virtualizzazione delle modifiche su un siti e pagine web

Architettura REST

  • L’interfaccia URL consente l’assemblaggio semplice e rapido degli oggetti Alfresco, e di altre applicazioni Web, attraverso varie tecnologie

Creazione di modelli e rami per siti Web

  • Creazione rapida di nuovi siti da modelli esistenti e possibilità di organizzare i principali aggiornamenti dei siti ramificando il sito esistente

Editoria XML e pubblicazione multicanale

  • Editoria di moduli utilizzando schemi XML standard
  • Visualizzazione automatica dell’interfaccia utente, basata sullo standard XForms
  • Creazione automatica di vari formati per una molteplici canali: web, mobile, …

Collaboration

Oltre alle funzionalità elencate nelle sezioni precedenti:

Creazione di strumenti di collaborazione

  • Blog, wiki, portali di progetto, …

Document library

  • Upload multiplo dei documenti sui portali di collaborazione
  • Visualizzazione dei contenuti via web, grazie a Flash
  • Ricerca dei contenuti e dei relativi meta-dati, tag e proprietà
  • Accesso ai contenuti via feed RSS

Attività

  • Tracking degli aggiornamenti di ogni progetto: contenuti nuovo o aggiornati, commenti, nuovi membri del team e date o milestone critiche

Supporto al protocollo SharePoint

Dopo qualche giorno di utilizzo, questi i punti di forza riscontrati:

  • Estrema flessibilità e completezza
  • Adozione di standard e formati aperti
  • Integrazione con Active Directory
  • Molteplici possibilità di accesso ai contenuti: WebDAV, CIFS, FTP, …
  • Supporto dei più comuni DBMS (MySql, PostgreSQL, MS-SQL, Oracle, …)

…e queste invece alcune difficoltà riscontrate:

  • Complessità e curva di apprendimento ripida
  • Difficoltà di manutenzione
  • Documentazione non sempre aggiornata

Alcuni screenshot:

Repository Alfresco montato come disco di rete

Repository Alfresco montato come disco di rete


Repository Alfresco con interfaccia web

Repository Alfresco con interfaccia web


Alfresco Share: creazione di strumenti di collaborazione (wiki, portali, blog, ...)

Alfresco Share: creazione di strumenti di collaborazione (wiki, portali, blog, ...)


Proprietà di un documento

Proprietà di un documento