Organic groups
Rispetto alla versione per Drupal 6 di Organic Groups (og), la versione Drupal 7 è cambiata per riflettere il cambiamento alla base della struttura del framework. Ora nodi, commenti, tassonomie e utenti non sono più elementi "slegati" tra loro ma hanno un punto di contatto, sono accomunati dal fatto di essere tipi di entità (entity types). Ogni entity type può avere più bundles ossia implementazioni che differiscono per la configurazione dei campi (fields). Un'istanza di un tipo di entità o di un bundle prende il nome di entità (entity). Concretamente, l'elemento "nodo" è un tipo di entità, il tipo di nodo "articolo" è un bundle del tipo di entità nodo, l'"articolo con titolo Y" è un'entità.
In og è possibile designare un'entità di qualsiasi tipo come gruppo, quindi anche un termine di tassonomia e non solo un contenuto come per Drupal 6, ma quest'ultimo rimane comunque il caso d'uso tipico.
- Designare un'entità come gruppo
- Gruppi privati
- Aggiungere membri/persone al gruppo
- Permessi di un gruppo
Designare un'entità come gruppo
Per designare un tipo di nodo ad essere un gruppo è necessario visitare la pagina di modifica del tipo voluto (es Struttura > Tipi di contenuto > Gruppo) o crearne uno appositamente e selezionare sul tab "Organic Group" il valore "Gruppo" e salvare.
Per designare un'entità diversa come gruppo procediamo invece come segue.
Dalla pagina Configurazione >> Organic groups >> OG field settings selezioniamo da Bundles l'entità che vogliamo rendere disponibile come gruppo e da campi Gruppo
seguendo l'esempio riportato ora possiamo utilizzare come gruppo i termini della tassonomia "Tassonomie - Gruppi" (il nome è fittizio).
Gruppi privati
Come rendere un gruppo privato, in modo che i contenuti interni siano visibili solo ai membri dello stesso.
Una volta creato un tipo di gruppo, mettiamo sia un nodo di tipo "Gruppo" ed aver attivato il modulo "Organic groups access control" che fa parte di og, andiamo in Configurazione >> Organic groups >> OG field settings.
Qui dobbiamo selezionare da Bundles il tipo di nodo (voce: node --> Gruppo) e in Campi il valore group --> Group visibility. Clicchiamo su "aggiungi campo".
Creiamo poi un nuovo contenuto di tipo Gruppo oppure modifichiamone uno già creato e impostiamo il nuovo campo "Group visibility" a "Private - accessible only to group members".
Ora i contenuti del gruppo saranno visibili solo ai membri.
Aggiungere membri ad un gruppo
Visitando un contenuto designato come gruppo, se l'utente corrente è un amministratore dello stesso o detiene i permessi di amministrare i gruppi ("Administer Organic groups permissions") può visualizzare un tab "Gruppo"
Cliccando sul tab appaiono una serie di link per effettuare varie azioni sul gruppo, tra cui quella di aggiungere membri
Permessi di un gruppo
Ogni gruppo, di default, "contiene" tre ruoli interni, "non membro", "membro" e "membro amministratore" ad ognuno dei quali è possibile assegnare determinati permessi per compiere azioni all'interno del gruppo stesso. Sempre di default, come è possibile vedere dall'immagine sopra, sia i permessi che i ruoli di un'istanza di un gruppo appiono "read-only", in sola lettura: questo perchè ogni istanza del gruppo eredita i permessi/ruoli globali che sono comuni a tutti le istanze di un certo tipo di gruppo (es tutti i gruppi di tipo "Gruppo" per seguire l'esempio precedente).
Questi default possono essere modificati da Configurazione >> Organic groups >> OG permissions overview e da Configurazione >> Organic groups >> OG roles overview. In queste pagine si trovano le configurazioni di permessi e ruoli per ogni tipo di gruppo impostato nel sistema. Ad esempio:
Può essere utile a volte poter gestire i ruoli/permessi di ogni singola istanza di un tipo di gruppo separatamente. Questo è possibile configurando il gruppo come segue: andiamo in Configurazione >> Organic groups >> OG field settings e aggiungiamo al Bundle "Gruppo" il campo "Group roles and permissions" e salviamo
Ora modificando un'istanza del nostro tipo di gruppo "Gruppo" (o creandone una nuova), vedremo l'opzione per "sovrascrivere" i permessi e i ruoli di default:
salvando il contenuto e cliccando sul tab "Gruppo" ora potremo modificare ruoli e permessi come necessario:
Sperando in un tuo ritorno o
Sperando in un tuo ritorno o nel contributo della comunità scrivo questa domanda per capire aluni aspetti e allo stesso tempo integrare dei passaggi ulteriori.Nello specifico, vorrei capire meglio come vengono ereditati i permessi.
Perchè prendendo in riferimento un ipotetico
utente Mario "ruolo globale" utente autenticato
Iscritto al Gruppo_Drupal/veterani
Fattispecie del Gruppo_Drupal (Tipo di contenuto assegnato ad essere un gruppo)
Osserviamo come Mario abbia dei permessi:
Cme utente globale rispetto al sito
Come membro di gruppo Gruppo_Drupal/veterani
Come utente autenticato rispetto al Tipo di contenuto Gruppo_Drupal (designato ad essere un tipo di gruppo).
Ora facciamo l'ipotesi che l'amministratore decida di designare il tipo di contenuto Articolo ad essere un contenuto di Gruppo per tutti i Gruppo_Drupal/*
Quindi farà un passaggio, sopra non scritto, in cui
nel modificare o creare un nuovo tipo di contenuto in questo caso "Articolo"Flaggherà nelle opzioni,
Organic Groups della prima immagine - Group Contet
In questo modo Articolo diverrà disponibile come Tipo di contenuto per Gruppo_drupal
Da qui , come fare ad assegnare la possibilità per Mario ad inserire il proprio Articolo nel suo gruppo?