Workflows généralisés avec Joomla! et Seblod (partie 4)

5813 vues
27 juin 2016
Cyril
heritage-workflow

Lors des formations sur le CCK SEBLOD nous abordons sa capacité à démultiplier la puissance de Joomla! Nous avions présenté dans les 3 premiers billets les éléments de base d'un workflow Joomla! avec SEBLOD et leurs utilisations dans la solution de GED personnalisée FlexiGED.

Nous présentons dans ce nouveau billet un mécanisme récent avec les dernières versions de SEBLOD qui permet de simplifier et de généraliser un workflow pour plusieurs types de contenus.

En effet un nouveau mécanisme d'héritage entre types de contenus SEBLOD, financé par l'agence web Pulsar, permet de factoriser les champs et le comportement d'un workflow entre plusieurs types de contenus (articles, actualités, événements, documents à telécharger, etc...) sans avoir à reporter tout le travail d'un type de contenu à un autre. A la différence de ce que nous montrions dans le second billet il est maintenant possible de ne définir tout le mécanisme du workflow que dans un type de contenu parent et que tous les types de contenus enfants héritent des champs et de leur comportement.

Workflow Joomla! hérité avec SEBLOD

Par exemple on peut construire un type de contenu parent 'workflow' avec les seuls champs suivants:

champs SEBLOD pour un workflow Joomla hérité

Ainsi si on veut faire évoluer le workflow (ajouter un état, modifier un email, etc...) une seule modification dans le type de contenu parent sera nécessaire. Les types de contenu enfants se retrouvent aussi allégés de tous les champs qui sont maintenant placés une seule fois dans le type de contenu parent 'workflow'.

Héritage de type de contenus SEBLOD pour workflow

Lors de la création ou de l'édition du contenu enfant les champs du type de contenu parent (ici le workflow) sont automatiquement ajoutés au formulaire alors qu'ils n'ont pas été placés dans le type de contenu enfant:

Type de contenu enfant qui hérite des champs du workflow

Grâce à ce nouveau mécanisme d'héritage la construction d'un workflow évolutif est grandement facilité. Plus besoin de placer des champs avec un cadenas ouvert (champs partagés) dans chaque type de contenu qui utilisent le même workflow!