Regole di contenuto: come gestire in modo avanzato l'archiviazione di contenuti

Breve introduzione sulle 'regole di contenuto' in Plone. Vedremo come configurare una regola per l'archiviazione automatica delle notizie del nostro portale.

Le regole di contenuto (in inglese "content rules") sono uno degli strumenti piú potenti e flessibili di Plone. Ci permettono di configurare una serie di parametri e azioni, regole per l'appunto, da applicare in automatico ai contenuti del nostro sito.

Ogni regola puó essere associata a dei tipi di contenuto specifico e attivata o disattivata solo in sezioni specifiche del sito. Le azioni applicate dalla regola possono essere scatenate da un cambio di stato o dall'aggiornamento del valore di un campo, etc.

Caso d'uso: archiviazione

Uno dei casi d'uso piú comuni é ad esempio spostare un contenuto in un'altra sezione del portale. L'esempio piú semplice in questo caso é l'archiviazione di news o eventi che non siano piú attuali.

Lo sviluppatore/integratore Plone in questo caso ha due opzioni: sviluppare qualcosa di specifico e verticalizzato per l'esigenza del cliente, oppure sfruttare le regole di contenuto. In questo ultimo caso otterrá due vantaggi fondamentali:

  • ridurre drasticamente la mole di lavoro
  • potrá delegare la creazione e la gestione delle regole all'amministratore del portale

Qui di seguito spiegheremo come adottare l'opzione delle regole di contenuto.

Una soluzione pronta all'uso: raggruppamento per data

Il pacchetto Plone di integrazione delle regole di contenuto (plone.app.contentrules) consente allo sviluppatore/integratore di creare delle azioni personalizzate. Per risolvere il nostro problema riccorreremo ad un pacchetto esistente che fa giá quello che ci serve: sc.contentrules.groupbydate.

sc.contentrules.groupbydate é un pacchetto, sviluppato dall'ottimo team di Simple Consultoria, che definisce una nuova azione chiamata 'Sposta un elemento in una struttura basata sulla data' (in inglese "Move an item to a date-based folder structure"). Attivando questo pacchetto sul nostro portale (rimandiamo alla documentazione del pacchetto per ulteriori info) potremo configurare un'azione che quando richiamata sposterá il contenuto in oggetto in un nuovo path configurabile dalla regola stessa.

Un video vale piú di mille parole

In questo video vedremo come configurare una regola di contenuto che sfrutti il raggruppamento per data.

NOTA: per rendere piú esplicita l'azione dell'archiviazione abbiamo precendentemente creato nel portale d'esempio uno stato di workflow aggiuntivo "Archived" in modo da poter configurare la nostra regola sulla transizione di archiviazione.

Piú azioni sullo stesso stato: usiamo le transizioni

In questo caso abbiamo utilizzato come 'hook', come evento scatenante la nostra azione, il cambio di stato. In un recente progetto avevamo la necessitá di archiviare lo stesso tipo di contenuto (Notizia) nello stesso stato di workflow (Archiviato) in differenti archivi. La decisione sul tipo di archiviazione doveva essere delegata agli editor del portale.

La soluzione adottata é la seguente:

  • creato nuovo stato 'Archiviato'
  • creato piú transizioni per portare la notizia in stato archiviato: 'Archivia notizia 1', 'Archivia notizia 2', 'Archivia notizia N', etc.
    • agganciato ogni regola ad una transizione diversa

    In questo modo possiamo spostare la notizia archiviata con la transizione 'Archivia notizia 1' in un path diverso da quella archiviata con la transizione 'Archivia notizia 2' e cosí via.

    Conclusioni

    Abbiamo visto come sia facile beneficiare di questo potente strumento che - vogliamo sottolineare - fa parte di Plone base (!). Quindi, la prossima volta che avrete necessitá di automatizzare azioni sui vostri contenuti, prima di sviluppare qualcosa di verticalizzato... ricordatevi di questo post ;)

    Punti di riferimento

    Ecco un po' di link utili per saperne di piú su:

    Share this on

    Share |

    On same topics

    Commenti

    comments powered by Disqus