Joomla ACL: Configurare ACL back-end

Informazioni utili

Scritto da Jen Kramer traduzione di Claudio Driussi, Articolo originale

Note sulla traduzione: Nell'articolo originale si usa il termine client che è di difficile traduzione in italiano, ho preferito usare il termine utente che però andava in conflitto con il concetto di Utente del sito Joomla, per questo motivo quando ci si riferisce agli Utenti Joomla ho preferito utilizzare il termine user che è largamente usato per identificare gli utenti informatici.

migliorare l'esperienza utente aumentando l'usabilità utilizzando ACL nel back-end di Joomla

In un precedente articolo ho discusso La terminologia ACL ed una panoramica generale di come funziona ACL, configurando il livello di accesso del front-end, e realizzando una migliore esperienza utente al login. Ora ci occupiamo di come migliorare l'esperienza utente aumentando l'usabilità utilizzando ACL nel back-end di Joomla.

Per molti siti che ho fatto, ho provato a configurare gli utenti dal front-end di Joomla. Sfortunatemente le possibilità di configurazione del front-end di Joomla sono limitate. Non è possibile, per esempio, creare facilmente nuovi articoli o collegarli al front-end del sito, senza attivare le funzionalità blog (ed alle volte non è quello che vogliamo usare). Quindi più spesso di quanto vorrei sono costretta a dare ai miei utenti accesso al back-end di Joomla anche per fare cose semplici.

Poi quando un utente arriva al back-end di Joomla, rapidamente viene distratto da funzionalità che non dovrebbe mai toccare. Anche se date al vostro utente il livello di accesso Manager, verrà comunque distratto da molte opzioni da prendere in considerazione.

Togliendo funzionalità del back-end di Joomla e lasciando solamente quelle a cui l'utente deve accedere, rendete il processo più semplice per il vostro utente. Quindi ora saprà il significato di ogni opzione nella struttura di menu e saprà come utilizzarla... sempre che gli forniate un adeguato addestramento e la documentazione.

Nega fino a Consentire oppure Consenti fino a Negare

L'ACL di Joomla è configurato di sistema come nega fino a consentire (deny until allow), Il gruppo pubblico degli utenti non ha alcun permesso tranne quello di vedere il front-end del sito. Ogni gruppo di utenti predefinito ha qualche permesso aggiunto, ed ogni permesso serve a consentire qualcosa.

Ricorda che la negazione non può essere sovrascritta. Se tu neghi ad un gruppo la possibilità di modificare i contenuti di una categoria, non riuscirai a dare il consenso per singoli articoli di quella categoria. Però se il gruppo ha ereditato il permesso "non configurato" dal gruppo pubblico, i suoi appartenenti non potranno modificare gli articoli, però si potrà consentire l'accesso a singoli articoli sovrascrivendo i permessi della categoria.

Possiamo aggiungere permessi a gruppi per effettuare alcune operazioni ad alcuni livelli. Proviamo a considerare la possibilità di aggiungere permessi di modifica in modo che gli utenti possano modificare articoli. Ci sono alcuni posti in cui possiamo aggiungere i permessi di modifica.

  • Modifica, Configurazione globale: Molti dei gruppi predefiniti di Joolma, hanno i permessi di modifica abilitati nella Configurazione Globale. Questo tipo di configurazione significa che il gruppo ha il permesso di modificare qualsiasi tipo di contenuto: articoli, links, contatti e così via. Per disabilitare questo è necessario Negare il consenso e questo comporta la negazione di modifica in molti posti. Di solito sconsiglio di abilitare la modifica a questo livello.
  • Modifica, Opzioni articolo: Aggiungendo il permesso di modificare in questa posizione consentite la modifica di tutti gli articoli e le categorie. A questo punto potreste avere la necessità di negare singole categorie o articoli se l'utente non li deve modificare. Ricordate che i permessi non possono essere sovrascritti. Se gli utenti non devono avere avere il permesso di modificare tutti gli articoli e le categorie, io sconsiglio anche questa opzione.
  • Modifica, singola categoria: Gli utenti con questa opzione hanno la possibilità di modificare gli articoli di una singola categoria. Già questo ha più senso ed è più facile da gestire. Avete la possibilità di negare accesso a singoli articoli e non vi dovete preoccupare di che cosa accadrà se avrete bisogno di modificare qualcosa più a valle.
  • Modifica, singolo articolo: Potete attivare i permessi per ogni singolo articolo, ma questo richiede tempo. In genere sconsiglio di cambiare i permessi degli articoli se non è assolutamente necessario. Ricordate che negare a livello di categoria inibisce la possibilità di attivare a livello di articoli.
In genere è preferibile seguire la strategia Nega fino a Consentire quando si configura l'ACL di Joomla. Questo conferisce la massima flessibilità per attivare i permessi articolo per articolo. Se voi Consentite fino a Negare non avrete la flessibilità di modificare i permessi dopo.

 

Il problema che cerchiamo di risolvere

Immaginiamo di voler dare agli utenti un accesso veramente minimo al back-end di Joomla:

  • Possibilità di creare, modificare, e pubblicare/sospendere articoli in una categoria o più
  • Possibilità di creare, modificare, e pubblicare/sospendere voci di menu
  • Possibilità di accedere ad alcuni componenti di base come ade esempio weblinks

 

Panoramica della soluzione

In genere l'approccio alla configurazione dovrebbe essere il seguente:

  1. Creare un nuovo gruppo, assegnare i premessi principali e creare gli user per ogni utente
  2. Assegnare i livelli di accesso appropriati
  3. Assegnare i permessi in modo che gli utenti possano accedere solo ad Articoli, Menu e Link web
Consiglio di seguire questo esempio usando due web browsers. Io uso FireFox per il login da super user e Chrome per il login da utente, ma voi potete utilizzare qualsiasi combinazione di browsers supportati da Joomla. In questo modo potete passare da uno all'altro senza dover rifare continuamente login e logout per vedere le differenti combinazioni. Joomla non consente di avere più di un utente con lo stesso browser.

 

1. Creare un nuovo gruppo, assegnare i premessi principali e creare un user

Ho già parlato di questo in dettaglio in altri articoli. Brevemente fate quando segue:

  • Create un nuovo gruppo chiamato Gruppo Utenti. Rendetelo figlio del gruppo Pubblico.
  • Mella Configurazione Globale, sotto Permessi, impostate i permessi di amministratore come Consentito. (Se l'utente deve accedere anche da front-end attivate anche quel permesso ed in genere attivate tutti i permessi di cui avete bisogno.)
  • Create un user ed assegnatelo al Gruppo Utenti. Scrivetevi da qualche parte username e password!

 

2. Assegnate il livello di accesso

Se fate il login come utente a questo punto, vedrete una pagina simile a questa:

Questo non aiuta molto! Ora potete fare il login, ma dove sono il menu ed il pannello di controllo, cosa potete fare oltre che fare logout?

Una cosa che non avete ancora configurato è il livello di accesso al back-end del sito. Ricordate che il livello di accesso controlla chi vede cosa, compresi moduli, contenuti e via dicendo. I menu sono moduli anche nel back-end di Joomla. Essi sono moduli di amministratore ed a questi moduli viene assegnato il livello di Special. Quindi il vostro utente necessita di avere assegnato anche il livello Special nel suo Gruppo.

Siccome Special è richiesto per far funzionare ACL e back-end, io consiglio di non attivare il livello Special nel front-end di Joomla.

Fate così:

  • Da super user, assegnate l'accesso Special al Gruppo Utenti. (Se avete bisogno di aiuto guardate questo articolo)
  • Fate il logout dell'utente e rifate il login. (Siccome il livello di accesso cambia avere bisogno di fare logout e login per vedere i cambiamenti nell'interfaccia di amministratore)

 

Ora dovreste vedere qualcosa come questa pagina:

Questo è quello che l'utente può fare a questo punto:

  • Cambiare il proprio profilo, compreso cambiare username e password (ma siccome non sono super user, non avranno la possibilità di modificare il proprio Gruppo)
  • Vedere i link all'Aiuto, che sono pagine pubblicamente disponibili.
  • Fare logout e vedere il sito front-end.
  • Vedere la lista dei 5 articoli più letti e degli utlimi 5 articoli aggiunti, ma non hanno ancora la possibilità di modificare questi articoli.

 

3a. Assegnare i permessi: Articoli

L'utente dovrebbe essere in grado di accedere alla gestione degli Articoli del back-end di Joomla. Il primo passo consiste nel fornirgli accesso alla voce di menu. Quando la voce è visibile ci possiamo concentrare nel fornirgli permessi più specifici.

Far apparire la gestione articoli nel back-end dell'utente

Per far apparire la gestione Articoli come opzione del menu, andare in: Contenuti -> Articoli -> Opzioni e scegliere il tab "Permessi", quindi mettere Consentita su Accesso interfaccia amministrativa per il Gruppo Utenti. Cliccare "Salva & Chiudi" in alto a destra.

(Potreste essere curiosi sul significato dell'azione Configurazione. Questa consente di accedere al Dialog Box delle Opzioni. In genere questa opzione si lascia solo al super user.)

Ora andate nel browser dell'utente e fate il refresh della pagina, dovreste essere in grado di vedere Gestione Articoli e Gestione Categorie tra le icone del pannello di controllo e come voci del menu Contenuti.

Sfortunatemente per questo momento non è possibile separare i permessi di Articoli e Categorie. Questa è una delle maggiori debolezze del sistema ACL di Joomla.

Ora come utente potete vedere la lista completa degli articoli. Però non li potete modificare e nemmeno modificare il loro stato. Non c'è il pulsante per creare nuovi articoli in alto a destra. C'è solo il pulsante di Aiuto.

Modificare tutti gli articoli oppure categorie di articoli

Il prossimo passo consiste nel dare agli utenti la possibilità di modificare gli articoli ed il loro stato. Volete dare agli utenti la possibilità di modificare tutti gli articoli so solo quelli di determinate categorie, oppure avete bisogno di decidere i permessi articolo per articolo?

La risposta è sempre Dipende! Quando configurate la struttura delle categorie per il sito io consiglio:

  • Tenete in mente ACL configurando le categorie. Se volete escludere alcune pagine del sito conviene metterle tutte nella stessa categoria anche se il loro contenuto è molto diverso. Questo rende ACL più facile da configurare.
  • Allo stesso modo se l'utente deve modificare solo alcuni articoli conviene inserirli nella stessa categoria.
  • Cambiare i permessi articolo per articolo dovrebbe fatto solo in rari casi. È faticoso spiegare agli utenti come configurare i permessi nei nuovi articoli. Se impostate i permessi a livello di categoria gli utenti non avranno necessità di toccarli quando creano nuovi articoli.
Per ogni scenario questo è il modo di procedere:

 

L'utente può modificare tutti gli articoli

Se l'utente può modificare tutti gli articoli se deve configurare i permessi così:

  • Sotto Contenuti -> Gestione Articoli -> Opzioni -> Permessi, per il Gruppo utenti, impostare Crea, Modifica, Modifica stato e Modifica elementi propri a Consentito. In genere è meglio non dare agli utenti il permesso di cancellare, perché altrimenti possono svuotare il cestino. Se desiderano possono cambiare lo stato dei singoli articoli per sospenderli o per cancellarli

 

L'utente può modificare gli articoli di singole categorie

Se l'utente può modificare solo gli articoli di una categoria o di un piccolo gruppo di categorie, configurate ogni categoria nel modo seguente:

  • Avete ancora bisogno di accedere a Contenuti -> Gestione articoli -> Opzioni -> Permessi.
  • Da Contenuti -> Gestione categorie, cliccate il nome della categoria di articoli che l'utente potrà modificare. Alla fine della pagina di configurazione di ogni categoria impostare i permessi, si dovrebbe Consentire Crea, Modifica, Modifica stato e modifica elementi propri
  • Ripetete questa operazione per tutte le categorie a cui l'utente avrà accesso.

 

L'utente ha bisogno dell'accesso articolo per articolo

Potete anche modificare articoli singoli come super user, andate al fondo della pagina ed impostate i permessi. Questo dovrebbe essere usato solo nei casi più rari. La configurazione dei permessi a livello di categorie è l'approccio migliore per facilitare la manutenzione.

Ora ho consentito ai miei utenti di creare, modificare, cambiare lo stato per gli articoli del sito. Il pannello di controllo per l'utente dovrebbe assomigliare a questo:

3b. Assegnare i permessi: Gestione Media

Come utente, se si modificano gli articoli, una delle cose di cui abbiamo certamente bisogno è la possibilità di aggiungere immagini agli articoli.

Nel modo in cui sono stati correntemente assegnati i permessi, l'utente ha la possibilità di andare negli articoli, sceglierne uno e cliccando sul titolo entrare nella pagina di modifica. Poi cliccando sul pulsante immagine in fondo alla pagina si apre la finestra di Gestione media che assomiglia a questa:

Notate che l'utente ha la possibilità di scegliere le immagini, ma non c'è modo per caricare nuove immagini nel sito. Questo perché la Gestione dei media è un componente separato dalla Gestione articoli e per questo motivo ha la propria gestione dei permessi separata. Ma c'è di più, la Gestione dei media non appare nella struttura del menu di back-end di Joomla quando si fa login come utente.

Per cambiare questo, basta passare al login di super user, andare su Contenuti -> Gestione Media -> Opzioni -> Permessi ed impostare Consentire su Accesso interfaccia amministrativa.

3c. Assegnare i permessi: Menu

A questo punto, dovreste avere un'idea abbastanza precisa di quello che viene ora. Se l'utente necessita di collegare articoli al menu, deve avere accesso alla voce Menu del back-end di Joomla.

Come super user andate in Menu -> Gestione menu -> Opzioni -> Permessi, e per il Gruppo utenti impostate Consentire su Accesso interfaccia amministrativa, Crea, Modifica e Modifica stato.

Purtroppo agli utenti è consentito aggiungere voci di menu solo come figli di voci esistenti, e ad essi non è possibile limitare la possibilità di aggiungere solo alcuni tipi di voci di menu. Questa sarebbe un'aggiunta molto gradita alla ACL di Joomla.

3d. Assegnare i permessi: Componente Link web

Questo è il modo in cui appare ora il back-end degli utenti:

Ora voglio dare agli utenti accesso ai Link web, ma a nessun altro dei componenti di Joomla. Per fortuna questo è facile da fare, ed a questo punto probabilmente sareste in grado di indovinare da soli come fare.

Come super user, andamo su Componenti -> Link web -> Opzioni -> Permessi e per il Gruppo utenti impostate Consentire su Accesso interfaccia amministrativa, Crea, Modifica, Modifica stato e Modifica elementi propri.

Si può ripetere questo procedimento per ogni Componente principale di Joomla per cui desideriamo che l'utente abbia accesso.

Nota: alcuni componenti di terze parti non hanno integrato pienamente il sistema ACL di Joomla. Se ACL è importate per il vostro sito, tenete in considerazione questo parametro quando scegliete i componenti per il vostro sito.


CommentaCommenta questo articolo sul forum
Commenta su G+Oppure commenta e condividi questo articolo sulla nuova pagina ufficiale di Joomla.it su Google+