Projet

Général

Profil

Development #33643

date de référence "arrivée dans un statut terminal" pour les actions globales

Ajouté par Frédéric Péters il y a presque 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
03 juin 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Pour faire une action globale d'anonymisation qui serait n jours après l'arrivée dans un statut terminal, peu importe lequel, pour éviter de commencer par déplacer les demandes dans un statut d'anonymisation (où l'info "statut" est perdue), pour éviter aussi de devoir lister toutes les possibilités de statut terminal dans l'action.


Fichiers


Demandes liées

Lié à w.c.s. - Development #25394: actions globales sur demandes terminéesFermé20 juillet 2018

Actions

Révisions associées

Révision 234cd799 (diff)
Ajouté par Frédéric Péters il y a presque 5 ans

workflows: add possibility to trigger global actions on finalized data (#33643)

Révision a79a53d4 (diff)
Ajouté par Frédéric Péters il y a presque 5 ans

tests: make sure all formdata are wiped in global timeout test (#33643)

Historique

#1

Mis à jour par Frédéric Péters il y a presque 5 ans

#3

Mis à jour par Frédéric Péters il y a presque 5 ans

#4

Mis à jour par Thomas Noël il y a presque 5 ans

Inquiétude habituelle sur les performances, parce que data_class.select(iterator=True) va tout parcourir, y compris les brouillons et les demandes anonymisées.

Je serais pour garder le parcours des demandes ouvertes quand aucun trigger n'est de type finalized.

Mais surtout : on risque d'avoir un usage du genre "quand la demande est en statut terminal, la mettre en statut finifini 10 jours plus tard"... et le statut "finifini" sera encore un statut terminal, et donc l'action s'y jouera encore 10 jours plus tard, indéfiniment. Je ne vois pas comment éviter ça, et ça me semble un problème.

#5

Mis à jour par Frédéric Péters il y a presque 5 ans

Inquiétude habituelle sur les performances,

Ça m'irait qu'on commence à mesurer les choses, genre le temps d'exécution du cron.

Je serais pour garder le parcours des demandes ouvertes quand aucun trigger n'est de type finalized.

ok.

Mais surtout : on risque d'avoir un usage du genre "quand la demande est en statut terminal, la mettre en statut finifini 10 jours plus tard"... et le statut "finifini" sera encore un statut terminal, et donc l'action s'y jouera encore 10 jours plus tard, indéfiniment. Je ne vois pas comment éviter ça, et ça me semble un problème.

Sur un statut, une action n'est jamais jouée qu'une fois (cf WorkflowGlobalActionTimeoutTriggerMarker).

#7

Mis à jour par Thomas Noël il y a presque 5 ans

Je pense qu'il faut aussi ajouter NotNull('anonymised') dans les critères, genre :

criterias = [NotEqual('status', 'draft'), NotNull('anonymised')]
#8

Mis à jour par Frédéric Péters il y a presque 5 ans

Voilà, avec Null('anonymised') (parce qu'on veut zapper ceux qui sont anonymisés, pas l'inverse).

#9

Mis à jour par Thomas Noël il y a presque 5 ans

C'est ok.

J'aurais pu taquiner en disant que si on optimise pour "parcourir aussi les demandes finalisées", on aurait pu faire la réciproque pour éviter de parcourir les demandes en cours dans le cas où il n'y aurait que des actions globales déclenchées sur des statuts finaux. Mais on peut imaginer que ça sera assez rare, et qu'il n'y a en général pas beaucoup de demandes en cours.

Aussi, les actions sur base d'expression ne seront jamais déclenchées sur les demandes finalisées, peut-être un "hint" sur anchor_expression ("Ne sera calculé que pour les demandes actives") ?

#10

Mis à jour par Thomas Noël il y a presque 5 ans

  • Statut changé de Solution proposée à Solution validée

Je valide ainsi quand même, hein.

#11

Mis à jour par Frédéric Péters il y a presque 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
+                 hint=_('This will only apply to open forms.'),
commit 234cd7999e74d0b9c8861663dafe9aa7c5d0da8b
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sun Jun 30 15:53:31 2019 +0200

    workflows: add possibility to trigger global actions on finalized data (#33643)
#12

Mis à jour par Frédéric Péters il y a presque 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF