Workflow & approbations
Encadrer la publication avec des flux d'approbation configurables, des conditions sur les données, des SLA et des approbations parallèles.
Les workflows sont des flux d'approbation à machine à états configurables qui déterminent quand un produit (ou une autre entité) peut être publié. Un workflow fait passer une entité par des états (par exemple brouillon → en révision → approuvé / rejeté) via des transitions, chacune protégée par un rôle et des conditions optionnelles sur les données.
Le flux d'approbation préinstallé
Une organisation neuve fournit un workflow Approbation de produit : brouillon → en révision → approuvé / rejeté. Un éditeur soumet un produit à révision ; un administrateur l'approuve. La barrière de publication bloque la publication tant que le produit n'est pas approuvé — appliquée aux deux points de publication du produit.
Conditions sur les données
Une transition peut porter une condition de sortie, et un état cible une condition d'entrée. Les deux sont évaluées (combinées par ET) contre un instantané des attributs du produit et du nombre de ressources. Les conditions s'exécutent uniquement via le bac à sable de conformité sûr — jamais eval — et bloquent par défaut : une condition mal formée, ou une condition sans instantané à évaluer, refuse la transition avec une erreur CONDITION_NOT_MET. Chaque condition est analysée au moment de sa création, de sorte qu'une expression incorrecte est rejetée en amont.
Par exemple, une condition d'entrée « nombre d'images ≥ 1 » bloque l'approbation d'un produit sans image.
SLA et escalade
Une politique de SLA (par organisation, par état de workflow) pilote un scanner d'arrière-plan. Lorsqu'une tâche est ouverte au-delà de son échéance, il rappelle l'assigné ; après une fenêtre de grâce mesurée depuis le rappel, il escalade vers le rôle de la politique, réassigne éventuellement automatiquement au réviseur le moins chargé et consigne l'étape. L'escalade est idempotente (aucune → rappelée → escaladée), de sorte qu'une tâche n'est jamais traitée deux fois. La boîte de réception dispose d'un filtre overdue=true, et l'ouverture d'une tâche définit son échéance à partir de la politique.
Approbations parallèles
Un état peut se répartir en plusieurs branches de révision parallèles. Les réviseurs revendiquent explicitement une branche, puis votent via la transition normale. Une règle de jonction (all, any ou quorum) ne fait avancer l'instance que lorsque la règle est satisfaite ; le premier rejet agit comme un veto en court-circuit et annule les branches sœurs. Un réviseur ne peut détenir qu'une seule branche (réviseur distinct imposé), et une définition parallèle doit fournir à la fois une arête d'approbation et une arête de rejet sortantes.
Workflows et intégration
Lorsque le produit d'un fournisseur est importé via l'intégration dans une organisation fournisseur non gérée dotée d'un workflow produit actif, l'import crée le produit en brouillon et déclenche la transition de soumission initiale en tant qu'action système, de sorte que la propre barrière de publication du fournisseur régit la suite. Les organisations fantômes gérées ignorent l'encadrement.