Nella scorsa puntata abbiamo visto come realizzare con Drupal un sito web di tipo “giornalistico”, dove i contenuti possono essere realizzati da collaboratori per poi essere corretti e pubblicati da persone abilitate. La particolarità dell’approccio adottato è che non abbiamo fatto ricorso a moduli esterni, cosa che invece faremo in quest’occasione. Vedremo infatti all’opera due dei moduli più famosi (e utilizzati di Drupal): CCK (Content Construction Kit) e Views.
Preparazione
Il modulo CCK in realtà si è dimostrato talmente utile che è stato incluso direttamente nel core di Drupal dalla versione 7, quindi non c’è bisogno di installare alcunché. Discorso diverso invece per Views, che richiede l’installazione di due moduli:
Fate attenzione a scaricare le versioni per Drupal 7, ovvero quelle la cui numerazione inizia per “7.x-….”.
La procedura di installazione dei moduli non è molto complicata:
- si scaricano gli archivi in locale e si scompattano in una directory temporanea;
- si copiano i contenuti (solitamente un’unica directory) all’interno di sites/all/modules;
- si esegue la login come amministratore e si clicca sulla voce Moduli nel menu di gestione;
- si abilitano i moduli necessari, che nel nostro caso sono Views e Views UI, e poi si clicca su Salva configurazione;
- nel caso del modulo Views verremo informati che sarà abilitato anche Chaos Tools. Diamo quindi la nostra conferma e clicchiamo su Continua.
Una nota: daremo per scontato che l’istanza di Drupal sia configurata come spiegato nello scorsa puntata, in caso abbiate installato da zero vi consigliamo di leggere la prima parte dell’articolo per allineare il vostro ambiente.
In quell’occasione abbiamo inserito il blocco Contenuti recenti in homepage, in cima alla pagina. La soluzione che abbiamo applicato però soffre di un problema non da poco, il blocco infatti mostra tutti i contenuti recenti, sia quelli pubblicati che non; in questa puntata troveremo delle alternative più efficaci.
Torniamo quindi in Struttura / Blocchi, cerchiamo il blocco e assegnamogli la regione nessuno dal menu a tendina, infine salviamo la configurazione cliccando su Salva blocchi.
Creazione delle View
Quella che affronteremo ora è sicuramente la parte più interessante, soprattutto per chi non ha mai provato a mettere mano sul modulo Views. Il modulo Views permette infatti di creare delle selezioni di contenuti, chiamate “viste” anche per la vaga parentela con il concetto di SQL VIEW, e di configurare molti tipi di visualizzazione. Ad esempio è possibile specificare come mostrare la vista quando viene caricata come pagina a sé stante, oppure quando viene inserita in un blocco, in un feed RSS, eccetera. Davvero uno dei moduli più utili e potenti per un CMS!
Nel nostro caso il modulo view servirà per creare due viste:
- “Contenuti da revisionare”, con path
/tracker_unpublished
; - “Miei contenuti non pubblicati”, con path
/tracker_my_unpublished
.
Entrambe le view verranno inserite nel menu di navigazione sulla sinistra, in questo modo l’utente potrà accedervi da qualsiasi pagina del sito. La distinzione principale fra le due view è che la prima, tracker_unpublished, servirà a editor e publisher per sapere quali articoli devono essere revisionati e/o pubblicati, mentre tracker_my_unpublished servirà agli autori per avere accesso ai propri articoli non ancora pubblicati.
Il modulo Views mette a disposizione diverse view predefinite, che possono essere attivate, clonate e/o modificate; queste view sono un ottimo punto di partenza per crearne di proprie, e quasi sempre si possono già utilizzare così come sono. Creeremo quindi le nostre view clonando una view esistente: tracker.
- andare nel menu Struttura / Views;
- attivare la view Tracker (ultima in basso);
- dal menu a tendina sotto Operazioni (a destra) della view Tracker, selezionare Clona;
- View name: inserire “Contenuti da revisionare” e fare clic su Continua;
A questo punto dovremmo essere arrivati nell’editor delle view, un vero e proprio ambiente di sviluppo integrato che consente di creare e manipolare ogni aspetto delle view. Nella parte superiore abbiamo i controlli di configurazione, mentre in basso abbiamo un’anteprima della view stessa:
Procediamo quindi con la modifica dei parametri per la view “Contenuti da revisionare”:
- inseriamo il titolo “Contenuti da revisionare”;
- Filter criteria:
- cliccando su Contenuto: Pubblicato si apre un pop-up con diverse opzioni;
- selezionare l’opzione no alla voce Pubblicato;
- cliccare clic Apply (all displays);
- Page settings:
- cliccare su Percorso, modificare da
/tracker
a/tracker_unpublished
, salvare; - cliccare su Menu, modificare Titolo in “Contenuti da revisionare”, salvare;
- Access: cliccare, selezionare Ruolo e cliccare su Apply, poi selezionare questi ruoli: administrator, editor, publisher;
- cliccare su Percorso, modificare da
- infine, cliccare su Salva (in alto a destra) per salvare la view.
Il procedimento per creare la view “Miei contenuti non pubblicati” (/tracker_my_unpublished) è molto simile, ma partiremo clonando la view appena creata:
- torniamo quindi sull’elenco delle view, e selezioniamo clona dal menu Operazioni a fianco della view “Contenuti da revisionare” (/tracker_unpublished);
- inseriamo “Miei contenuti non pubblicati” in View name e clicchiamo su Continua;
- inseriamo lo stess valore in Titolo;
- Filter criteria:
- clic sulla tendina aggiungi;
- nella tendina Filtra scegliere la voce Utente;
- selezionare la checkbox in corrispondenza della voce Utente: Current (Filter the view to the currently logged in user);
- clic su Add and configure filter criteria;
- nel pop-up che viene aperto scegliere Is the logged user – Sì;
- clic Apply (all displays);
- Page settings:
- Percorso: cliccarci sopra, modificare da /tracker_unpublished a /tracker_my_unpublished, salvare;
- Menu: cliccare, modificare Titolo in “Miei contenuti non pubblicati”, applicare le modifiche;
- Access: cliccare su Multiple roles, aggiungere author (administrator, editor e publisher dovrebbero essere già selezionati), applicare le modifiche;
- infine, ricordarsi di cliccare sul pulsante Salva in alto a destra per non perdere le proprie modifiche.
Verifica
Come nella scorsa puntata, passiamo alla verifica del workflow. Facendo il login come utente author dovremmo avere ora la voce Miei contenuti non pubblicati nel menu di navigazione sulla sinistra:
Cliccandoci sopra finiremo su una pagina con una tabella contenente l’elenco degli articoli che abbiamo salvato come utente author (quello che stiamo impersonando attualmente) ma che non sono ancora stati pubblicati.
Se eseguiamo la login come editor o publisher invece, avremo la voce Contenuti da revisionare:
Link
- Sito ufficiale di Drupal;
- Content management system (Wikipedia);
- Modulo Views;
- Modulo CTools.