mercoledì 22 dicembre 2010

Installazione di Alfresco 3.4 in italiano

Stiamo iniziando a testare il nuovissimo "language pack" in italiano, rilasciato insieme ad Alfresco Community 3.4c ed anche Alfresco Enterprise 3.4 RC1 (quest'ultimo disponibile solo per i clienti Alfresco).


Se scaricate uno degli installer per la versione Community (nel mio caso il tar.gz per Mac OSX) non bisogna fare altro che selezionare subito la lingua italiana in fase d'installazione:


Il pacchetto installa e configura tutto quello che è necessario, compreso una versione di MySQL, OpenOffice, ImageMagick e PDF tools. Date una occhiata al solito file alfresco-global.properties per fare il tuning della configurazione. E' ovviamente possibile scegliere una istanza di MySQL esistente.


Al termine dell'installazione, dopo aver avviato Alfresco, puntate il browser verso http://localhost:8080/share e fate login come utente "admin", con la password che avevate deciso durante l'installazione. Se il locale del vostro browser è impostato correttamente, la pagina di login apparirà localizzata in italiano:


Alfresco Share seleziona la lingua automaticamente a partire dal locale del browser, se la pagina non fosse nella lingua desiderata questo significa che il browser sta passando un locale differente e quindi dovete cambiarne la configurazione.

A questo punto vi troverete nel normale cruscotto Share in italiano, senza necessità di configurazioni manuali.


In caso di errori o imprecisioni nella traduzione italiana, sarebbe molto utile aprire una issue, con la descrizione dettagliata della versione Alfresco e del problema rilevato, in modo che sia possibile fornire feedback al team di localizzazione per le opportune correzioni.

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.