Les traitements sur les contenus tel que HTMLEditorContentAction fonctionne de la manière suivante :
- récupération du contenu dans une Action cocoon ;
- modification du contenu à partir des paramètres de requête ;
- sauvegarde du contenu ;
- création d'une nouvelle version du contenu ;
- récupérer le workflow de ce contenu et le faire avancer.
Mais si il n'est plus possible d'effectuer l'action sur le workflow, le contenu est déjà sauvegardé.
La bonne approche est la suivante :
- récupérer le workflow associé au contenu dans une Action cocoon ;
- effectuer l'action voulue en fournissant le contexte qui va bien :
- modification du contenu à partir des paramètres de requête ;
- création d'une nouvelle version du contenu.
Dans cette dernière approche la réelle action de mise à jour est codée dans un Function qui est un composant Avalon.
Référénces :
- Document de conception "Evolution de la gestion des workflows"