Gestire gli articoli dei collaboratori con Joomla – parte 2

La seconda parte dello speciale sulla organizzazione e gestione dei contenuti all'interno del popolare CMS Joomla!

Nella scorsa puntata abbiamo visto come sono organizzati i gruppi di utenti su Joomla, abbiamo quindi creato un utente per ognuno di questi gruppi: Author (utente author), Editor (utente editor) e Publisher (utente publisher). Tutti questi gruppi di utenti hanno in comune la possibilità di accedere con username e password solamente al frontend, e non al backend. Questa scelta è dettata dalla prudenza: per fidati che siano, è sempre meglio che collaboratori esterni non abbiano accesso al backend amministrativo, anche perché correrebbero il rischio di combinare guai modificando contenuti o configurazioni, magari per sbaglio.

Purtroppo vedremo che in questo scenario Joomla è ancora parecchio indietro rispetto alla concorrenza, ad esempio WordPress. La gestione del workflow di pubblicazione nel frontend è, nei migliori dei casi, difficile e poco intuitiva; l’unico modo per migliorare la situazione è quello di realizzare la propria estensione, visto che la maggior parte di quelle esistenti non sono aggiornate o sono a pagamento (o entrambe le cose…). Cercheremo comunque di organizzarci al meglio per rimediare a queste mancanze.

Configurazione del frontend

La situazione tipica è molto simile a quella di una redazione della carta stampata, ovvero un collaboratore prepara il suo articolo, lo invia alla “redazione”, infine attende un feedback. Eseguiamo quindi la login con lo username “author”, che abbiamo creato in precedenza; la schermata che ci attende è molto simile a questa:

Come potete notare non c’è alcun pulsante, link o controllo che ci permetta di inviare il nostro articolo. Rimediamo subito:

  • eseguiamo la login sul backend amministrativo, aprendo un’altra finestra del browser e aggiungendo il path /administrator all’indirizzo del sito, ad esempio:http://www.example.org/administrator/
  • clicchiamo sulla voce Gestione menu;
  • clicchiamo sul Menu Principale, atterrando sulla pagina Voci di menu;
  • aggiungiamo una voce di menu cliccando sul pulsante Nuovo, in alto a destra;
  • cliccando sul pulsante Seleziona, a fianco della voce Tipo di voce di menu, si aprirà un pop-up con delle scelte; cliccare su Crea nuovo articolo dalla sezione Articoli;
  • inserire il titolo “Nuovo articolo”;
  • importante: alla voce accesso, scegliere Registered. In questo modo la voce di menu comparirà solamente agli utenti che hanno eseguito il login sul frontend.

Ecco dunque il nuovo link come comparirà nel menu:

Cliccando sul link Nuovo articolo quindi, si aprirà una pagina dotata di tutti i controlli per inviare un nuovo articolo. Nella textarea centrale abbiamo TinyMCE, un editor di tipo WYSIWYG (acronimo di What You See Is What You Get“quello che vedi è quello che ottieni”). Ci sono molti altri dati da inserire, ma sono quasi tutti opzionali e per il momento non ci interessano.

I moduli di Joomla sono dei blocchi di contenuto, non necessariamente correlati alla pagina in cui vengono inseriti; sono spesso utilizzati per creare i “pezzetti” di informazione che possiamo vedere su un sito: elenchi, banner, riquadri, ecc. Creiamo quindi un modulo per mostrare l’elenco degli articoli più recenti, da mostrare in homepage:

  • dal pannello di controllo nel backend clicchiamo su Gestione Moduli;
  • clicchiamo sul pulsante Nuovo (in alto a destra);
  • si aprirà un popup con l’elenco dei tipi di modulo: selezioniamo Articoli recenti;
  • in Titolo inseriamo “Articoli recenti”;

Ipotizziamo ora che non abbiate già cambiato il template del sito, se così non fosse quello di default per Joomla 1.7 (e che utilizziamo ora per il nostro esempio) è “Beez2”, identificato da beez_20. Per ripristinarlo basta andare sulla voce Estensioni / Gestione template e selezonare Beez2 come default, cliccando sulla stellina a destra.

Tornando al nostro modulo, se clicchiamo sul pulsante seleziona posizione avremo a disposizione un elenco di posizioni possibili dove piazzarlo; per semplificare la ricerca è possibile anche filtrare per template, molto comodo nel caso ce ne siano installati molti. Clicchiamo quindi su position-12 – beez_20 (Middle top). Infine andiamo nel riquadro Assegnazione menu ed effettuiamo queste modifiche:

  • assegnazione modulo: solo sulle pagine selezionate;
  • lasciare il segno di spunta solo su Home.

Da questo momento sulla homepage (frontend) comparirà l’elenco degli articoli più recenti in stato pubblicato. Questa purtroppo è, secondo il parere dell’autore di questo articolo, una delle più grandi limitazioni di Joomla, ovvero il fatto che non è possibile mostrare sul frontend un elenco di articoli non ancora pubblicati. Questa funzionalità permetterebbe agli autori di apportare correzioni in autonomia, riducendo il carico di lavoro sulla redazione; i controlli per limitare la visibilità ai soli autori e ai soli articoli degli autori è già presente, basterebbe davvero poco per migliorare la situazione, e sicuramente in una prossima versione le cose miglioreranno. Nel frattempo, bisogna arrangiarsi in altro modo.

Organizzare il flusso di lavoro

Quello che presentiamo in questa sede è solo uno dei possibili flussi di lavoro, il cui pregio è di funzionare senza dover installare estensioni o sviluppare codice PHP.

  • Per prima cosa, l’utente Author invia un articolo;
  • all’utente Administrator arriva un messaggio email, che lo avverte della presenza di un nuovo messaggio sul pannello di controllo;
  • sempre Administrator legge il messaggio, che lo avverte dell’avvenuto invio di un articolo da parte di Author. Il testo del messaggio è simile a questo:

    Da Utente Autore

    Inviato Domenica, 21 Agosto 2011

    Oggetto Nuovo articolo

    Messaggio

    E’ stato inviato un nuovo articolo da Utente Autore intitolato Articolo Test 1

  • Administrator va nella sezione Contenuti / Gestione articoli e si segna l’ID del nuovo articolo, poi compone una email, destinata all’utente Editor, con un link come questo:http://www.example.org/index.php?view=article&id=1In questo caso l’ID è 1;
  • Editor riceve la mail, esegue la login sul frontend, e poi clicca sul link che gli ha inviato Administrator via email; in questo modo accede all’articolo in modalità lettura, ma cliccando sul simbolo di modifica (un foglio con una matita, in alto a destra), può accedere in modifica all’articolo;
  • una volta terminate le modifiche, Editor inoltra la mail con il link a Publisher;
  • Publisher effettua gli ultimi controlli, e finalmente pubblica l’articolo cambiando il suo stato da Sospeso a Pubblicato.

La sezione Pubblicazione del form di modifica articolo di Publisher infatti è molto diversa da quella di Author o Editor (che, lo ricordiamo, non possono pubblicare). Versione di Author e Editor:

Versione di Publisher:

Conclusioni

Abbiamo visto che Joomla, nonostante la gran flessibilità e potenza, è un po’ carente per quanto riguarda la gestione dei contenuti tramite frontend; siamo riusciti tuttavia a superare questi limiti con un po’ di inventiva e ricorrendo allo strumento che non tramonterà mai: l’email! A parziale difesa di Joomla dobbiamo comunque ammettere che la gestione dei contenuti lato backend è molto più semplice ed efficiente, ed offre molte più possibilità di personalizzazione.

Link