Project

General

Profile

Development #9849

Publik - Project management #8652: Réaliser l'intégration du BI dans Publik

Export JSON des workflows (pour les statistiques)

Added by Benjamin Dauvergne about 5 years ago. Updated over 4 years ago.

Status:
Fermé
Priority:
Normal
Target version:
Start date:
02 Feb 2016
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:

Description

Un développement minimum pour obtenir les noms des statuts au niveau de l'API schéma des formulaires; il sera ainsi facile de créer une table des statuts pour un export BI.


Files

Associated revisions

Revision 2b1f868f (diff)
Added by Benjamin Dauvergne about 5 years ago

add to_dict() and export_to_json() to Workflow (#9849)

Revision c78e8a67 (diff)
Added by Benjamin Dauvergne about 5 years ago

export workflow in formdef json exports (fixes #9849)

Revision cde8218c (diff)
Added by Benjamin Dauvergne about 5 years ago

Revert "export workflow in formdef json exports (fixes #9849)"

This reverts commit c78e8a671bb78b5d662b0a4a2c67b3664d96a556 inadvertently.

Revision 96e00065 (diff)
Added by Benjamin Dauvergne about 5 years ago

Revert "add to_dict() and export_to_json() to Workflow (#9849)"

This reverts commit 2b1f868f674f07700a59ee70640be231b2d144b2 pushed
inadvertently.

Revision b9b914b9 (diff)
Added by Benjamin Dauvergne almost 5 years ago

api: include more workflow details in formdef schema (#9849)

History

#2

Updated by Benjamin Dauvergne about 5 years ago

C'est nécessaire pour pouvoir externaliser les statistiques.

#3

Updated by Benjamin Dauvergne about 5 years ago

  • Subject changed from Export JSON des workflows to Export JSON des workflows (pour les statistiques)
  • Description updated (diff)
#4

Updated by Frédéric Péters about 5 years ago

Bien qu'en interne l'attribut s'appelle "roles", je préférerais que l'export se fasse sous un autre nom (correspondant au mot "fonction" qu'on utilise dans l'interface).

Actuellement on a un attribut "workflow" qui va contenir le nom, et là on ajoute un workflow_schema qui contiendra lui-aussi le nom, on pourrait garder uniquement "workflow" et que ça prenne le contenu que tu mets dans workflow_schema ? (ça demande mise à jour de import_from_json pour prendre en compte les deux situations).

Je n'ajouterais pas de méthode export_to_json, je garderais celle-là pour assurer une sémantique similaire à celle dans formdefs.py, c'est-à-dire un export qui est le pendant d'un import, sans perte. (pendant des export_to_xml et import_from_xml, aussi).

Dans test_formdefs_api je ne ferais pas de test large sur l'ensemble des attributs présents aujourd'hui.

Il faudrait étendre la documentation pour présenter le contenu de workflow_schema (ou plutôt, pour suivre ce que j'écrivais, le nouveau contenu de workflow). (dans help/fr/api-schema.page)

#5

Updated by Benjamin Dauvergne about 5 years ago

  • Patch proposed changed from Yes to No

Frédéric Péters a écrit :

Bien qu'en interne l'attribut s'appelle "roles", je préférerais que l'export se fasse sous un autre nom (correspondant au mot "fonction" qu'on utilise dans l'interface).

Hmm dans les synonymes anglais de function/role je trouve: berth (informal), billet (informal), capacity, duty, employment, function, job, occupation, office, place, post, role, situation. Je pense que je vais prendre function sauf contrordre ou alors "virtual_roles" mais c'est moche.

Actuellement on a un attribut "workflow" qui va contenir le nom, et là on ajoute un workflow_schema qui contiendra lui-aussi le nom, on pourrait garder uniquement "workflow" et que ça prenne le contenu que tu mets dans workflow_schema ? (ça demande mise à jour de import_from_json pour prendre en compte les deux situations).

Oui j'avais vu mais ne sachant pas à quel point la rétro-compatibilité était importante sur ce point j'ai fais ce choix. Je vais modifier import_from_json pour trouver l'id soit dans ['workflow']['id'] soit dans ['workflow_id'] qui peut disparaître aussi.

Je n'ajouterais pas de méthode export_to_json, je garderais celle-là pour assurer une sémantique similaire à celle dans formdefs.py, c'est-à-dire un export qui est le pendant d'un import, sans perte. (pendant des export_to_xml et import_from_xml, aussi).

D'ac.

Dans test_formdefs_api je ne ferais pas de test large sur l'ensemble des attributs présents aujourd'hui.

Ok je vais faire des tests permettant l'extension (set() <= set() plutôt que set() == set()).

Il faudrait étendre la documentation pour présenter le contenu de workflow_schema (ou plutôt, pour suivre ce que j'écrivais, le nouveau contenu de workflow). (dans help/fr/api-schema.page)

Ok.

#6

Updated by Benjamin Dauvergne about 5 years ago

  • Status changed from Nouveau to Résolu (à déployer)
  • % Done changed from 0 to 100
#7

Updated by Frédéric Péters about 5 years ago

  • Status changed from Résolu (à déployer) to En cours
  • % Done changed from 100 to 50

Ça a été poussé par mégarde, sans la prise en compte des commentaires.

#8

Updated by Benjamin Dauvergne about 5 years ago

  • Status changed from En cours to Résolu (à déployer)
  • % Done changed from 50 to 100
#10

Updated by Benjamin Dauvergne about 5 years ago

  • Patch proposed changed from No to Yes
#11

Updated by Frédéric Péters about 5 years ago

  • Status changed from Résolu (à déployer) to En cours
  • % Done changed from 100 to 0
#12

Updated by Benjamin Dauvergne almost 5 years ago

  • Parent task set to #8652
#13

Updated by Frédéric Péters almost 5 years ago

Pour suivre ce qui se fait dans formdata.py et roles.py, plutôt appeler la méthode "get_json_export_dict" (et non to_dict).

Dans l'exemple, on ne peut pas à la fois avoir un nom personnalisé et _default comme id :

        "name": "Workflow Newsletter",
        "id": "_default",

Il faudrait des tests d'import de formdef json, sur l'ancienne et la nouvelle forme.

Sur l'API, il y a déjà un test_formdef_schema, il faudrait juste y ajouter la partie workflow.

#15

Updated by Frédéric Péters almost 5 years ago

  • File 0001-api-include-more-workflow-details-in-formdef-schema-.patch added
  • Status changed from En cours to Résolu (à déployer)

Il doit y eu un peu trop de merge de patchs, 0001-fix-non-determinism-when-importing-wscall-workflow-a.patch vient de #10477, et dans le test sur l'export dict/json, le "st1 = workflow.add_status('Status1', 'st1')" a été perdu en route.

J'ai réuni ce qui relève de ce ticket dans un unique patch et je l'ai poussé.

commit b9b914b948a7812ba04b3667b239a3b623984ced
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Tue Feb 2 19:16:43 2016 +0100

    api: include more workflow details in formdef schema (#9849)
#16

Updated by Frédéric Péters almost 5 years ago

  • File deleted (0001-api-include-more-workflow-details-in-formdef-schema-.patch)
#17

Updated by Frédéric Péters almost 5 years ago

  • Target version set to v1.42
#18

Updated by Frédéric Péters over 4 years ago

  • Status changed from Résolu (à déployer) to Fermé

Also available in: Atom PDF