11-14-2016 12:33 PM
La metafora "cartelle e file" è stata introdotta nella preistoria dell'informativa (nei mitici laboratori Xerox di Palo Alto) ed è risultata tanto efficace, intuitiva e universalmente riconoscibile che ancora oggi è utilizzata praticamente da tutti i sistemi operativi...
...però...
...quando viene applicata in ambito documentale mostra più di qualche limite.
Il problema è che un albero di cartelle esprime solo uno dei tanti modi di classificare un insieme di documenti. E' per questo che chi gestisce grandi archivi si trova spesso a dover ricorrere alla funzionalità di ricerca, per trovare i file che gli interessano.
Le smart-folders nascono per superare (o almeno mitigare) questi limiti.
Quello alla base delle smart-folders non è certo un concetto nuovo. Semplificando all'estremo, possiamo dire che sono delle cartelle virtuali che contengono documenti risultanti da una ricerca.
Il fatto che siano "virtuali" è rilevante: non possono essere trattate alla stregua delle folder tradizionali(!) di Alfresco. Ad esempio, non è possibile copiare in esse dei file (ok, in effetti sotto determinate condizioni questo è possibile... ma il comportamento è diverso da quello standard).
In Alfresco le smart-folders possono essere di tre tipi:
System e Custom sono molto simili tra loro e più semplici da capire. Le Type-based sono più versatili ma un po' più complesse.
In questo post ci occuperemo dei primi due metodi. In un post successivo parleremo anche del terzo.
Per prima cosa bisogna abilitare le smart-folders in Alfresco perchè di default sono disattivate.
Nel solito alfresco-global.properties settate:
smart-folders-enabled = true
Naturalmente ci sarà bisogno di riavviare l'applicazione per recepire le nuove impostazioni. Fatelo... e mentre aspettate che Alfresco torni su, potrete ingannare il tempo creando un nuovo template, che altro non è che un file json con una sintassi ben definita (nella pagina ufficiale della documentazione sulle smart-folders trovate i dettagli).
Ecco un semplice esempio:
{
"name" : "Virtual Folders Test",
"nodes" : [{
"id" : "101",
"name" : "Documenti pdf",
"description" : "I documenti pdf dell'utente contenuti nel sito",
"search" : {
"language" : "fts-alfresco",
"query" : "(PATH:'/app:company_home/st:sites//*')
AND =cm:content.mimetype:application/pdf
AND (=cm:modifier:%CURRENT_USER% OR =cm:creator:%CURRENT_USER%)"
}
}, {
"id" : "102",
"name" : "Immagini",
"description" : "Le immagini dell'utente contenute nel sito",
"search" : {
"language" : "fts-alfresco",
"query" : "(PATH:'/app:company_home/st:sites//*')
AND =cm:content.mimetype:image/jpeg
AND (=cm:modifier:%CURRENT_USER% OR =cm:creator:%CURRENT_USER%)"
}
}]
}
Il significato delle sue parti è intuitivo: definiamo un oggetto che contiene una lista di nodi (due nel nostro caso). Ciascun nodo è a sua volta un oggetto con alcune proprietà: id, name, description, search.
Tra queste:
Il template appena creato va salvato in Alfresco nella cartella "<repository>/Dizionario dati/Modelli di cartella intelligente" ("smart folder templates" in inglese). Potete dargli nome -ad esempio- smartFolder_tutorial.json.
Ora bisogna dire ad Alfresco che quello non è un file json qualunque ma rappresenta un template di smart-folders. Per farlo dobbiamo attribuire al documento un tipo speciale. Cliccate sul nome del file per aprire la vista di dettaglio, poi sulla destra selezionate "Cambia tipo" e tra quelli proposti scegliete: "modello di cartella intelligente" (smartFolderTemplate).
Ci siamo quasi...
L'ultimo passo è attribuire il nostro template ad una cartella. Questo si fa associandole un aspetto ben preciso e valorizzando alcuni suoi metadati.
Dal menu delle azioni a destra selezionate "Gestisci aspetti" e poi scegliete quello di nome "Cartella intelligente di sistema". Poi, sempre nel menu delle azioni sulla destra, cliccate su "Modifica proprietà" per veder comparire la finestra di dialogo con il form di modifica.
Assicuratevi di mostrare tutte le proprietà (con il pulsante in alto a destra). Se avete seguito correttamente le istruzioni dovreste veder comparire in basso un ulteriore campo di nome "Modello di cartella intelligente" con una casella a discesa. Selezionate il template che avete creato in precedenza (smartFolder_tutorial.json) e salvate le modifiche.
Ora accadrà la magia: se aprite la cartella, scoprirete che ciascun oggetto node dichiarato nel template è stato trasformato in una smart-folder. Il contenuto della smart-folder è il risultato della query specificata nella property query.
Il nostro esempio genererà quindi due smart-folders:
Una paio di cose prima di chiudere
PS:
Vi state ancora chiedendo che differenza c'è tra i due tipi di smart-folders: System e Custom? Ecco soddisfatta la vostra curiosità. Se usate l'aspect "Cartella intelligente di sistema" potrete scegliere solo i template presenti nella directory "<repository>/Dizionario dati/Modelli di cartella intelligente".
Se invece avete optato per "Cartella intelligente personalizzata" il template potrà essere posizionato ovunque nel repository... tutto qui.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.