Bookmark and Share
Document Actions

I workflow di Plone 3
medio

Plone 3 offre dei nuovi workflow, l'amministratore di un sito ha ora ancora più scelta nel gestire il modo in cui gli utenti interagiscono con i contenuti.

Introduzione

Plone 3 offre una di una serie di nuovi workflow. Ognuno di essi ha caratteristiche uniche rispetto al modo in cui gestisce il ciclo di vita dei contenuti di un sito web e il processo che gli utenti seguono quando creano, modificano, revisionano e visualizzano i documenti.

Il modo migliore per imparare a conoscere bene i workflow a disposizione è testarli con differenti profili utente, con ruoli specifici diversi. Appena si installa Plone, si ha un unico profilo utente, "admin".

Ammettiamo di usare due browser, per esempio Safari e Firefox (ma l'esempio funzionerebbe ugualmente con qualsiasi altro browser moderno). L'utente con account "admin" effettua il log-in utilizzando Safari, mentre un utente con un profilo meno "privilegiato" usa Firefox. Entrambi accedono al sito web Plone con i rispettivi account e i rispettivi browser.


admin-role-small.jpg

Workflow di semplice pubblicazione

Quando Plone 3 viene installato, il workflow di default è "Workflow di semplice pubblicazione" ("Simple Publication Workflow"). La definizione di questo tipo di workflow è descritta da questi tre punti:

  • Workflow semplice, utile per siti web di base.
  • I contenuti appena creati sono impostati in stato Privato; possono essere sottoposti per revisione o pubblicati direttamente.
  • Il creatore di un contenuto può modificarlo anche dopo che questo è stato pubblicato.

Quando viene creato un nuovo utente, questo può solo modificare il suo profilo personale e gestire i portlets che appaiono sulla sua dashboard. Per far sì che quest'utente possa creare dei contenuti, bisogna assegnargli i permessi appropriati. Ciò può essere fatto sia per quanto riguarda tutto il sito, in modo quindi che i permessi concessi valgano all'interno di tutte le cartelle, usando il pannello di controllo Utenti e Gruppi (Users and Groups) sotto Configurazione del Sito (Site Setup) sia per una particolare area del sito o per una o più cartelle specifiche, usando il tab Condivisione. Nell'esempio si garantirà all'utente il ruolo di "Partecipante" ("Contributor") per quanto riguarda l'intero sito.

contributor-role-small.jpg

Ora, passando al secondo browser, l'utente "non privilegiato" è ora in grado di aggiungere una pagina e di modificarne il suo contenuto. Dato che, come visto prima, lo stato iniziale del contenuto è Privato, solo l'utente stesso che l'ha creato o un altro utente con un ruolo di grado superiore possossono accedere ad esso, per ora.

contributor-adds-content-small.jpg
contributor-submits-small.jpg

Proviamo ora ad aggiungere un terzo utente, e concedergli il ruolo di "Redattore" ("Editor"), in modo da poter osservare come utenti con differenti ruoli possono interagire con il contenuto appena creato nel nostro esempio con questo tipo di workflow.

editor-edits-small.jpg
editor-submits-small.jpg
editor-retracts-small.jpg

Il nuovo utente può modificare la pagina e proporla per la pubblicazione (Sottoponi a revisione), ma non può aggiungere nuovi contenuti. Questo tipo di restrizione nel workflow è utile per separare gli utenti del sito a seconda dei compiti di ognuno. Per esempio, se molti utenti lavorano per creare nuovi contenuti per il sito, uno (o un gruppo) può diventare responsabile di aggiungere i contenuti, mentre un altro può avere il compito di revisionarli e proporli ad un altro utente ancora per la pubblicazione.

Una volta che un contenuto è stato sottoposto a revisone, rimane "in sospeso". Un "Revisore" può scegliere di riportarlo allo stato privato o pubblicarlo. Quando un contenuto è "in sospeso", nè il "Redattore" nè il "Partecipante" possono modificarlo.

reviewer-reviews-small.jpg

Possono però decidere di modificare la pagina anche una volta pubblicata, se il cambiamento è minimo, o revocare la pubblicazione e riproporre per la revisione se si tratta di un cambiamento consistente. In questo modo un workflow di semplice pubblicazione rende il processo di revisione e approvazione obbligatorio solo per contenuti nuovi. Una volta che un contenuto è stato pubblicato, la responsabilità di gestirlo è del creatore e del redattore; il processo di revisione è gestito attraverso un'organizzazione che prevede un certo grado di fiducia verso i creatori e i redattori dei contenuti.

Quando un contenuto è in stato Privato, solo il Redattore, il Partecipante e il Lettore ("Reader") possono accedervi. Sarà ora chiara quale sia la distinzione tra quali tipi di modifiche siano da effettuare mantenendo il contenuto in stato Pubblico e quali invece richiedano di revocare la pubblicazione e sottoporre i cambiamenti a revisione. Per esempio, una parte di un contenuto può descrivere una linea di prodotti; se avviene che si debba effettuare una modifica minore nelle pagine dei prodotti, non sarà necessario revocare la pubblicazione, mentre se i cambiamenti avvenuti nella linea di prodotti sono consistenti, si dovrà revocare la pubblicazione in modo che le modifiche vengano sottoposte ed approvate dal responsabile di quella linea di prodotti.

I workflow possono essere rappresentati da dei diagrammi grafici. Gli ovali si riferiscono allo stato di un contenuto, mentre le linee che li uniscono sono le transizioni tra i diversi stati. I diagrammi che descrivono il workflow individuale di un utente possono essere usati per comprendere e valutare l'intero workflow.


simple_publication_workflow.jpg

  • Un "intranet workflow" in cui i contenuti sono accessibili solo se si è autenticati.
  • Gli stati di base sono: Bozza Pubblica (Internal Draft), In revisione (Pending Review), Pubblicato internamente (Internally Published) e Privato (Private).
  • È previsto anche uno stato di pubblicazione esterna, in modo da rendere certi contenuti disponibili per utenti esterni alla intranet.

Per testare i workflow è molto utile capire se le loro caratteristiche rispecchiano le proprie esigenze. Si possono mantenere gli stessi utenti e gli stessi contenuti visti prima, basta cambiare il tipo di workflow nel pannello di configurazione "Tipi" ("Types") sotto Configurazione del Sito.

switch-workflow-small.jpg

Se si passa al tipo "Intranet/Extranet", verrà richiesto di scegliere gli stati equivalenti da assegnare ai vari contenuti nel nuovo workflow. Un volta impostato il nuovo workflow, gli stai di tutti i contenuti verranno aggiornati nella maniera appropriata, seguendo le scelte fatte nella configurazione.

Basta ora osservare come si comporta il sistema se si creano e modificano contenuti, se si prova ad accedere ad essi senza aver fatto il log-in.

Una funzionalità spesso utile è la separazione tra contenuti interni ed esterni. Invece di avere due sistemi di pubblicazione distinti, è possibile aggiungere alcuni stati addizionali nel workflow.

Invece di avere un solo stato di pubblicazione, ora se ne avranno due, uno interno ed uno esterno: nel primo solo i membri del sito, coloro che si sono autenticati nella intranet, possono vedere i documenti pubblicati; nel secondo tutti, inclusi i visitatori anonimi, possono accedervi.

Quando una pagina è nello stato Bozza pubblica, può essere visualizzata e modificata dai creatori e dai redattori, e solo visualizzata da tutti gli altri membri. Ma nello stato Privato solo il creatore e membri a cui è stato concesso il permesso di modificare o contribuire possono visualizzarla.

Una volta che i contenuti sono stati pubblicati, internamente o esternamente, solo un utente con ruoli da amministratore può manipolare il suo stato, le pagine non possono più essere modificate. In questo modo si crea una gerarchia ben definita in cui un gruppo ristretto di utenti hanno la responsabilità di prendere decisioni sui contenuti da pubblicare, interagendo con i creatori, revisiori e partecipanti degli stessi. È un tipo di schema che si trova frequentemente per esempio in un ufficio che si occupa di editoria.


intranet_workflow.jpg

Community Workflow

  • Gli utenti possono creare contenuti che sono immediatamente accessibili al pubblico.
  • I contenuti possono essere sottoposti a revisione dai creatori stessi o da un manager, soprattutto per quanto riguarda news ed eventi da promuovere in home page.
  • I Revisori possono pubblicare o respingere un contenuto, i creatori di un contenuto possono revocare la propria proposta di revisione.
  • Un contenuto "in sospeso", in attesa di aprovazione, può essere comunque letto da chiunque.
  • Se un contenuto viene pubblicato, può puoi essere riportato a stato privato solo da un Manager.

Quando si tratta di un sito dedicato ad una comunità aperta e non c'è la necessità di evitare che il pubblico veda i contenuti che non sono ancora stati approvati, questo tipo di workflow può essere l'ideale.

Può anche essere il caso di un sito di un gruppo di utenti. Quando si può riporre fiducia in tutti i membri del sito, bastano pochi membri che abbiano il compito di  controllare i contenuti pubblicati, soprattutto quelli in home page, oppure per materiale di discussione.

plone_workflow.jpg

One State Workflow

  • Un workflow senza transizioni da uno stato all'altro, con uno stato Pubblicato, per far funzionare portlets ed applicazioni.

Il workflow più semplice in assoluto è utile quando si tratta di un sito gestito da una sola persona, come un blog. In questo caso potrebbe non essere per niente funzionale dover passare da fasi addizionali per pubblicare i contenuti, che sono creati esclusivamente per essere pubblici.

Conclusione

Con Plone 3 la già ricca serie di caratteristiche dei workflow è stata potenziata per permettere l'organizzazione di differenti portali, da un blog a una intranet che gestisce molti contenuti diversi e molti utenti dai compiti differenti. In questo modo si possono soddisfare svariate esigenze nella gestione dei contenuti. La maniera migliore per trovare il workflow che rispecchia meglio i propri bisogni rimane quello di provare le differenti caratteristiche di ognuno.

 

Libera traduzione dal testo originale "New workflows for Plone 3", presente sul sito plone.org.

 
by Alice Narduzzo last modified 2008-10-21 16:07