giovedì 16 dicembre 2010

Visibilità del Repository in Alfresco Share 3.4

Fino alla versione 3.3 l'accesso al Repository completo da Share è stato parzialmente limitato. Dalla 3.2 in poi infatti è stata abilitata la navigazione dell'intero Repository, ma solo dalla release 3.4 l'accesso al Repository non è una opzione ma è il default. Inoltre è stata finalmente aggiunta la capacità di fare ricerche avanzate su tutto il Repository e non solo sui siti di collaborazione, utilizzando il Forms Engine.

Share sta diventando la UI centrale per lavorare con Alfresco, con la versione 3.4 si stanno completando i pezzi mancanti di questo processo che, alla base, ha significato un cambio di tecnologia: da JSF utilizzato per il vecchio Explorer, a Spring Surf, che è il framework sul quale Share è costruito.

Il processo di ristrutturazione del prodotto nella 3.4 è focalizzato, tra le altre cose, a rendere più semplice il lavoro di personalizzazione dell'interfaccia, che in passato richiedeva passaggi a volte laboriosi.
In questo breve articolo vorrei rapidamente dimostrare un semplice ma frequente caso d'uso:
Limitare l'accesso all'intero Repository documentale al solo utente Admin, lasciando agli altri utenti la possibilità di vedere solo siti di collaborazione a cui sono iscritti ed autorizzati.
Questo requisito risponde all'esigenza di mantenere un alto livello di separazione tra i diversi siti di collaborazione, senza arrivare al punto di dover attivare un più complesso partizionamento completo tramite configurazione multi-tenant.

Ad esempio, supponiamo di voler creare dei siti Share per differenti dipartimenti aziendali, minimizzando l'intersezione di contenuti tra i vari siti. Però vorremmo dare la possibilità all'amministratore, e solo a lui, di poter vedere tutto, senza eccezioni.

In questo caso proviamo a personalizzare lo Share Header, seguendo queste istruzioni. Di default voglio che, loggandomi come Admin, appaia il bottone "Repository", mentre se mi autentico come altro utente, desidero che il bottone non sia presente sulla barra dei menù.



Quindi rientro in Share non più come Admin, ma come utente semplice:


A questo punto verifico che il bottone "Repository" non sia più disponibile per l'utente normale mturatti:



Nelle precedenti versioni di Alfresco, per ottenere questo semplice ma importante risultato, si era costretti a mettere mano ad alcuni template Freemarker, mentre adesso basta lavorare su un singolo file di configurazione.

In pratica si devono percorrere i seguenti passi:
  1. copiare l'elemento <config> ed il suo contenuto dal file share-config.xml presente in tomcat/webapps/share/WEB-INF/classes/alfresco.
  2. incollare l'elemento dentro il file share-config-custom.xml presente in tomcat/shared/classes/alfresco/web-extension.
  3. Aggiungere replace="true" nell'elemento <config>, che diventa quindi <config replace="true">
  4. Modificare un elemento item sotto <headers><app-items>  <item id="repository" permission="admin" type="link">/repository</item>  aggiungendo l'attributo permission="admin".
A questo punto non rimane che riavviare Alfresco per verificare che sia tutto ok, provando prima a loggarsi come Admin e poi come normale utente.

Dando una occhiata al file ed alle istruzioni, risulta evidente come sia possibile implementare eventuali  ulteriori e più complesse personalizzazioni.

Nessun commento:

Posta un commento