Development #4739
Stockage des formdefs/workflows en xml
0%
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
History
Updated by Frédéric Péters almost 9 years ago
- File 0001-formdefs-add-more-attributes-to-the-XML-export-and-t.patch 0001-formdefs-add-more-attributes-to-the-XML-export-and-t.patch added
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.
Updated by Frédéric Péters almost 9 years ago
- File 0001-formdefs-add-more-attributes-to-the-XML-export-and-t.patch 0001-formdefs-add-more-attributes-to-the-XML-export-and-t.patch added
- File 0002-workflows-add-more-attributes-to-the-XML-export.patch 0002-workflows-add-more-attributes-to-the-XML-export.patch added
Révision du patch, et le même pour les workflows (qui avaient déjà une série de tests).
Updated by Thomas Noël almost 9 years ago
J'ai relu ces deux premiers patches, ça me parait tout bon.
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
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.
Updated by Frédéric Péters over 8 years ago
- File 0001-misc-move-xml-indenting-function-to-a-better-place-4.patch 0001-misc-move-xml-indenting-function-to-a-better-place-4.patch added
- File 0002-categories-add-xml-import-export-4739.patch 0002-categories-add-xml-import-export-4739.patch added
Deux autres patchs innocents, pour avoir le code d'import/export des catégories.
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.
Updated by Frédéric Péters over 8 years ago
- File 0001-storage-move-load-dumps-into-their-own-class-methods.patch 0001-storage-move-load-dumps-into-their-own-class-methods.patch added
Le patch innocent du commentaire 6, que j'avais oublié.
Updated by Frédéric Péters over 8 years ago
- File 0001-categories-change-on-disk-storage-to-be-XML-4739.patch 0001-categories-change-on-disk-storage-to-be-XML-4739.patch added
Et la modification pour les catégories, pour que celles-ci soient stockées en XML sur le disque.
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
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
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)
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.
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)