Accedere ad alcuni dati e poter effettuare modifiche in questi, senza però vedere il resto del database, è una funzione utile. In questo modo possiamo attribuire agli utenti gradi diversi di accesso e funzionalità, riservando compiti specifici su alcune aree circoscritte del database.
Ora vediamo come gestire questa funzione con CiviCRM, sia in ambiente Drupal che Wordpress. Per farlo utilizzeremo un esempio semplice, immaginando di avere nel nostro database, oltre ad altri dati, la lista dei Musei Italiani con le varie relazioni per singolo contatto.
Per distinguere questi contatti, abbiamo creato un gruppo "Musei" e tutti i contatti inerenti li abbiamo associati a questo gruppo. Ora vogliamo creare degli utenti che possano operare (visualizzare e modificare) solo questi contatti e non vedere e modificare gli altri contatti del nostro database.
Un nuovo ruolo e nuovi utenti con Drupal e Wordpress
Posso procedere innanzitutto dal backend di Drupal o Wordpress:
- Creo un nuovo ruolo "Operatore Musei";
- Creo un utente di Drupal o Wordpress e gli assegno il ruolo "Operatore Musei";
- Imposto specifici permessi di CiviCRM, ossia le funzioni che può utilizzare:
- Per Drupal:
/admin/people/permissions
.
- Per Drupal:
IMPORTANTE: ricorda di non mettere i permessi:
- "accedi a tutti i dati personalizzati
- "elenchi e moduli per i profili" perché forzano e disabilitano le impostazioni di ACL specifiche, rispettivamente per i gruppi di campi personalizzati e per i profili.
e di non mettere i permessi:
- "visualizza tutti i contatti"
- "modifica tutti i contatti" perché forzano di visualizzare e modificare tutti i contatti indipendentemente dalle ACL specifiche
Ora passiamo a CiviCRM
- Creo un gruppo di tipo "Controllo Accesso" che chiamiamo "ACL Musei".
- Assegno questo gruppo al contatto di CiviCRM abbinato all'utente Drupal o Wordpress e creato nel secondo passaggio precedente. Quando si crea un utente nel CMS viene automaticamente creato e associato un contatto in CiviCRM;
- Nella sezione "Controllo Accesso" di CiviCRM, menu Amministrazione > Utenti e permessi > Autorizzazioni (Controllo accesso):
- Aggiungo un "Ruolo ACL" che chiamiamo "Ruolo ACL Musei"
- Nella sezione "Assegna gli Utenti ai Ruoli" associo il "Ruolo ACL Musei" al gruppo "ACL Musei": in questo modo tutti gli utenti che appartengono al gruppo "ACL Musei" che accederanno a CiviCRM avranno applicate le ACL che definiremo nel passaggio successivo
- Nella sezione "Gestione ACL" creo una nuova ACL che chiamo "Modifica contatti Musei": stabilisco che il "Ruolo ACL Musei" - al quale ho associato nel punto precedente gli utenti appartenenti al gruppo "ACL Musei" - può modificare i contatti del gruppo "Musei"