Gestire l'ACL su un singolo articolo

FACL pluginFare in modo che un determinato utente possa modificare solo un particolare articolo può essere una grande comodità se, ad esempio, si decide di sviluppare un portale in cui diversi utenti hanno una pagina personale, che solo loro devono poter modificare. Certo, in Joomla esiste il gruppo di utenti Editor, ma gli utenti appartenenti a questo gruppo sono in grado di modificare qualsiasi articolo. Ma grazie ad un fantastico plugin gratuito, possiamo riuscire finalmente nel nostro intento senza hack al core del nostro amato CMS!
L'estensione che andremo ad utilizzare si chiama Core Design File ACL, un plugin che permette un maggiore controllo dei permessi sugli articoli, le categorie e le sezioni. Il compito che svolge è lo stesso di noixACL, di cui abbiamo già parlato in un precedente articolo. Tuttavia, con quel componente, non è possibile gestire i permessi su un singolo articolo, ma solo su un'intera categoria, mentre quest'altra estensione che useremo tra poco consente la gestione dell'ACL su un singolo articolo.
Per usare questa estensione bisogna avere la versione 1.5.10 o superiore di Joomla, con le precedenti versioni non funziona.
Scarichiamo l'estensione da qui e installiamola. Adesso possiamo creare gruppi di utenti personalizzati, ma soltanto manualmente andando a modificare dei file di testo! A noi questo non piace perciò, con una piccola installazione in più, ci risparmieremo un sacco di tempo e fatica. Occhiolino
Gli stessi autori del plugin di cui stiamo parlando, ne hanno sviluppato un altro: Core Design Scriptegrator plugin. Questo ci serve per caricare la libreria jQuery di JavaScript, indispensabile per avere un'interfaccia grafica per la gestione dei gruppi di utenti. Scarichiamolo qui e installiamolo.
Adesso andiamo in Gestione Plugin, dove dovremmo vedere quelli appena installati:
  1. System - Core Design File ACL plugin
  2. System - Core Design Scriptegrator plugin
Entriamo nelle impostazioni del primo, settiamo l'opzione Enable interface su Yes, salviamo e attiviamolo.
Clicchiamo dunque sul secondo plugin per entrare nelle sue impostazioni. Sulla destra ci sono 2 opzioni Load to. La prima è riferita alla libreria jQuery (quella che interessa a noi), la seconda si riferisce invece alla libreria Highslide. Impostiamo quindi la prima opzione Load to su Administration, salviamo e attiviamo questo plugin.
Adesso bisogna assicurarsi che il File ACL plugin venga caricato dopo Scriptegrator. Per assicurarci ciò, modifichiamo l'ordinamento dei plugin facendo attenzione che il numero di ordinamento di Scriptegrator sia minore (e non uguale) a quello di File ACL. Finalmente siamo pronti per creare gruppi di utenti personalizzati! Ridente
Vediamo come...
Vogliamo che l'utente Pippo abbia una sua pagina nel sito che solo lui possa modificare. Creiamo quindi il nostro utente cliccando su Nuovo in Gestione utenti, associandogli come gruppo Editor, dato che dovrà soltanto modificare il proprio articolo. Adesso dobbiamo creare un gruppo di utenti personalizzato. Avrete notato che "magicamente" è apparsa una nuova icona nella toolbar di Gestione utenti: cliccandoci apparirà l'interfaccia grafica per la gestione di gruppi di utenti personalizzati!
L'interfaccia grafica che appare cliccando sull'icona FACL.

Clicchiamola e, nella finestra che appare facciamo click su Group manager. Premiamo poi Add e diamo un nome al nostro gruppo di utenti personalizzato. Nel nostro esempio lo chiameremo PippoTeam.
Group manager
Ora facciamo click su User manager, selezioniamo il gruppo appena creato e associamoli l'utente Pippo.
NB: Solo gli utenti creati dopo l'installazione di questa estensione appariranno nell'elenco degli utenti associabili ai gruppi personalizzati!
User manager
Bene! L'utente ce l'abbiamo, il gruppo anche, manca solo l'articolo! Ridente
Andiamo in Gestione articoli e creiamo un articolo dal titolo Pagina di Pippo. Clicchiamo sull'icona di FACL qui in Gestione articoli, selezioniamo l'articolo appena creato, selezioniamo come Task Edit, associamo il gruppo PippoTeam e il gioco è fatto: solo l'utente Pippo (e altri eventuali utenti appartenenti al gruppo PippoTeam) può modificare il suo articolo, a patto che gestiamo i permessi di tutti gli altri articoli usando questo plugin. Infatti, gli utenti appartenenti al gruppo Editor, possono ancora modificare tutti gli articoli del vostro portale, a meno che con FACL non gli abbiate associato un gruppo utenti personalizzato.
Article manager

Bene! Ora siete in grado di gestire l'ACL su un singolo articolo, nell'attesa che esca la versione 1.6 di Joomla che dovrebbe avere queste funzionalità già integrate.

Scritto da Federico Aliprandi
CommentaCommenta questo articolo sul forum