{

Alfresco, pro e contro (secondo me)

Alfresco è (nato come) un Document Management System (sistema per la gestione dei documenti) che la fa da padrone nel mercato dei DMS, ad occhio anche perché è open source.

Ci sviluppo oramai da qualche anno; magari non posso dire di conoscerlo fino all'ultima riga di codice, ma ho decisamente incontrato molte delle sue caratteristiche che qui andrò ad elencare dividendole in quelle che reputo positive e quelle che invece non me lo fanno piacere.

PRO

  1. E' estremamente flessibile. Permette praticamente tutte le operazioni che vi vengono in mente, o che per lo meno sono venute in mente ai miei clienti.
  2. Open source e gratuito nella versione Community.
  3. E' scritto in Java, quindi portabile su tutte le piattaforme.
  4. Gira sui DB più diffusi, anche se devo dire che l'ho testato per bene solo su MySQL e Oracle.
  5. Utilizzabile da remoto o con la sua interfaccia. Alfresco infatti permette di essere utilizzato come solo repository documentale, lasciando la possibilità di creare proprie interfacce ai documenti.
  6. Consente di base molte operazioni sui documenti come il versionamento, la classificazione, la gestione di regole e di azioni ed altro configurabile.
  7. Può mappare direttamente un file system o interfacciarsi col protocollo IMAP per essere alimentato via email e non solo.

Per ora direi che queste sono le caratteristiche che per prime mi vengono in mente a favore di Alfresco.

Ora passiamo alle note dolenti.
CONTRO

  1. E' estremamente flessibile. Si, una delle sue caratteristiche positive è anche una negativa. Semplicemente lo è troppo e, spesso, senza possibilità di controllo da parte dell'utente, per esempio segnalando errori od incongruenze.
  2. Non è tipizzato. Sebbene sia possibile associare un insieme di attributi ai documenti, se si sbaglia il nome dell'attributo, o se se ne aggiunge uno non contemplato nel modello, Alfresco non rilancia nessuna segnalazione.
    Capite come questo possa spiazzare e rendere lo sviluppo un vero inferno.
  3. Convention over configuration è un motto di Ruby on Rails, ma nel caso di Alfresco viene preso troppo alla lettera. Per esempio è possibile associare Gruppi per le ACL sui documenti, ma il nome del Gruppo deve avere come prefisso "GROUP_", altrimenti viene associata una proprietà di tipo gruppo anche se il gruppo non esiste.
  4. Configuration over convention ovvero, oltre alle convenzioni, Alfresco non ti solleva dalla configurazione che, spesso, è molto dispersiva.
  5. E' invasivo perché richiede che vengano aggiunte cartelle e configurazioni ad un livello più alto della semplice web application, per esempio inserendole sotto tomcat/shared
  6. In ambiente cluster non tiene gli indici sui documenti cioè potrebbero non essere allineati tra i diversi nodi, fornendo risultati non congrui con la ricerca effettuata.
  7. A fronte di ricerche con risultati numericamente rilevanti non applica correttamente le ACL dando quindi nel risultato anche i file a cui l'utente non può accedere. Non è consentito aprire il file, ma se il suo nome è rilevante, per esempio è la compilazione di una richiesta di malattia, può rappresentare un problema.
  8. Nelle API remote attraverso web services non mantiene la sessione utente anche quando è attesa che venga mantenuta.

Per ora mi fermo qui.

Alfresco rimane uno strumento potente e pieno di funzionalità, ma che può lasciare a tratti troppa libertà di azione e che comunque necessità di una conoscenza molto approfondita prima di poterne avere l'illusione del controllo.

Realizzato con Drupal, un sistema open source per la gestione dei contenuti