Project

General

Profile

Development #4739

Stockage des formdefs/workflows en xml

Added by Frédéric Péters almost 9 years ago. Updated about 6 years ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
25 April 2014
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:

Description

Ces objets peuvent s'apparenter à de la configuration et vu sous cet angle il devient pratique de les imaginer dans des fichiers textes plutôt que dans des pickle; ça pourrait aussi aider, peut-être, à en regarder les différences avant de les écraser d'une instance à l'autre.

Sur le format, on a à la fois déjà du xml utilisé pour les fonctions d'import et d'export, et un peu de json (pour l'export "web service"); c'est sans doute plus rapide d'aller vers de l'xml, mais ce n'est pas tip top dans l'air du temps (mais quand on se retrouve à parler d'interopérabilité du format des formulaires, il y a des avantages à dire que c'est du XML).

Concrètement, il s'agirait d'ajouter une classe intermédiaire entre FormDef et StorableObject, mettons XmlStorableObject, qui spécialiserait les méthodes get_filename, store et remove_object (qui seraient un rien refactorisées pour minimiser la duplication). Le get_filename aurait un fallback sur le fichier pickle, ce qui assurera le travail de migration. Le remove_object devra lui bien enlever les deux fichiers, xml ou json + pickle.


Files


Related issues

Blocked by w.c.s. - Development #5348: Import JSON de formdefFermé29 August 2014

Actions
Blocked by w.c.s. - Development #5349: Import/export JSON de workflowRejeté29 August 2014

Actions

History

#1

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

Après discussion avec Thomas, xml.

#2

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

Un premier patch, parce qu'à vouloir utilisé autre chose que le pickle, on doit blinder la (dé)sérialisation. Pour ce patch j'ai passé en revue les attributs pour qu'ils soient bien tous inclus dans l'xml, et j'ai ajouté une série de tests.

#4

Updated by Thomas Noël almost 9 years ago

J'ai relu ces deux premiers patches, ça me parait tout bon.

#5

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

Poussés.

commit 1bbb5bdb16b1b3cc1fbabf2b21520f8598c99d47
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri Apr 25 15:50:25 2014 +0200

    workflows: add more attributes to the XML export

commit 01f7d953d60a78f2f4a40633a659cccadcb28e6e
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri Apr 25 12:57:16 2014 +0200

    formdefs: add more attributes to the XML export, and tests
#6

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

  • Status changed from Nouveau to En cours
  • Patch proposed set to Yes

Un patch innocent, qui permettra par la suite aux objets cités de gérer différemment leur stockage.

#8

Updated by Thomas Noël over 8 years ago

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

Deux autres patchs innocents, pour avoir le code d'import/export des catégories.

Ack pour ceux-ci.

#10

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

Et la modification pour les catégories, pour que celles-ci soient stockées en XML sur le disque.

#11

Updated by Thomas Noël over 8 years ago

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

Le patch innocent du commentaire 6, que j'avais oublié.

Ack

#12

Updated by Thomas Noël over 8 years ago

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

Et la modification pour les catégories, pour que celles-ci soient stockées en XML sur le disque.

Ack aussi

#13

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

  • Patch proposed changed from Yes to No

Je viens de pousser ces affaires.

commit dfe463ae481e622a733ae1daf4a4722ce84719e5
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Nov 25 13:33:58 2014 +0100

    categories: change on-disk storage to be XML (#4739)

commit 9cbdb2da56b1469c28c0e0d7424d1fc2f41b4d8b
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Nov 25 12:13:40 2014 +0100

    categories: add xml import/export (#4739)

commit 3be51c00d28f363c11096dadff7f342ed918e8b0
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Nov 25 11:46:02 2014 +0100

    misc: move xml indenting function to a better place (#4739)

commit 7c592ad9d232b3371bfb7653edf420fef755c612
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Mon Nov 24 16:14:58 2014 +0100

    storage: move load/dumps into their own class methods (#4739)
#14

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

  • Subject changed from Stockage des formdefs/workflows/categories en xml/json to Stockage des formdefs/workflows en xml

Les catégories c'est fait, et c'est du xml.

#15

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

  • Status changed from En cours to Nouveau
  • Assignee deleted (Frédéric Péters)

Also available in: Atom PDF