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

Ridimensionare i dischi vdi di VirtualBox

Recentemente mi è capitato di esaurire lo spazio di un disco virtuale (.vdi) VirtualBox. Come fare per ridimensionarla senza dovere reinstallare tutto?

  1. Creare una nuovo disco vdi delle dimensioni desiderate.
  2. Scaricare GParted Live, una distribuzione live di linux che contiene tutti i tool per la gestione di dischi e partizioni.
  3. Avviare GParted Live, avendo cura di attaccare entrambi i dischi (il vecchio e il nuovo).
  4. Una volta avviata GParted Live, aprire il Partition Editor e controllare i nomi che vengono assegnati ai dischi. Di solito sono /dev/hda e /dev/hdb.
  5. Aprire un terminale, e digitare il comando:
    dd if=/dev/hdX of=/dev/hdY
    con hdX: nome del disco origine pieno e hdY: nome del nuovo disco, così come verificato al punto 4.
  6. Riavviare la macchina, togliendo GParted Live dal lettore cd virtuale e staccando il vecchio disco.

Una volta controllato che tutto funzioni è possibile utilizzare il Virtual Disk Manager di VirtualBox per cancellare il vecchio disco.

[Via VirtualBox Forum]

Transmission: unknown error

Transmission, per chi non lo conoscesse, è uno dei client BitTorrent più utilizzati per OsX (ma è disponibile anche per Linux – GTK). Può capitare che alcuni torrent, in particolare quelli prodotti da EZTV, non partano anche dopo decine di minuti.
Controllando il tracker con Inspector, è possibile verificarne lo status. In caso sia presente un enigmatico error unknown, avete due possibilità:

  1. aggiungere altri tracker manualmente: per EZTV ad esempio, è possibile reperirne una lista qui.
  2. controllare se il tracker appartiene al dominio di thepiratebay. In questo caso, poiché anche OpenDNS non aiuta per le ragioni che tutti sappiamo, il consiglio è quello di ottenere il suo indirizzo IP (pingandolo) e di creare la corrispondente entry nel file /etc/hosts

Happy downloading!