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.
Fichiers
Demandes liées
Historique
Mis à jour par Frédéric Péters il y a presque 10 ans
- Fichier 0001-formdefs-add-more-attributes-to-the-XML-export-and-t.patch 0001-formdefs-add-more-attributes-to-the-XML-export-and-t.patch ajouté
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.
Mis à jour par Frédéric Péters il y a presque 10 ans
- Fichier 0001-formdefs-add-more-attributes-to-the-XML-export-and-t.patch 0001-formdefs-add-more-attributes-to-the-XML-export-and-t.patch ajouté
- Fichier 0002-workflows-add-more-attributes-to-the-XML-export.patch 0002-workflows-add-more-attributes-to-the-XML-export.patch ajouté
Révision du patch, et le même pour les workflows (qui avaient déjà une série de tests).
Mis à jour par Thomas Noël il y a presque 10 ans
J'ai relu ces deux premiers patches, ça me parait tout bon.
Mis à jour par Frédéric Péters il y a presque 10 ans
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
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Statut changé de Nouveau à En cours
- Patch proposed mis à Oui
Un patch innocent, qui permettra par la suite aux objets cités de gérer différemment leur stockage.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0001-misc-move-xml-indenting-function-to-a-better-place-4.patch 0001-misc-move-xml-indenting-function-to-a-better-place-4.patch ajouté
- Fichier 0002-categories-add-xml-import-export-4739.patch 0002-categories-add-xml-import-export-4739.patch ajouté
Deux autres patchs innocents, pour avoir le code d'import/export des catégories.
Mis à jour par Thomas Noël il y a plus de 9 ans
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.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0001-storage-move-load-dumps-into-their-own-class-methods.patch 0001-storage-move-load-dumps-into-their-own-class-methods.patch ajouté
Le patch innocent du commentaire 6, que j'avais oublié.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0001-categories-change-on-disk-storage-to-be-XML-4739.patch 0001-categories-change-on-disk-storage-to-be-XML-4739.patch ajouté
Et la modification pour les catégories, pour que celles-ci soient stockées en XML sur le disque.
Mis à jour par Thomas Noël il y a plus de 9 ans
Frédéric Péters a écrit :
Le patch innocent du commentaire 6, que j'avais oublié.
Ack
Mis à jour par Thomas Noël il y a plus de 9 ans
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
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Patch proposed changé de Oui à Non
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)
Mis à jour par Frédéric Péters il y a plus de 7 ans
- Sujet changé de Stockage des formdefs/workflows/categories en xml/json à Stockage des formdefs/workflows en xml
Les catégories c'est fait, et c'est du xml.
Mis à jour par Frédéric Péters il y a environ 7 ans
- Statut changé de En cours à Nouveau
- Assigné à
Frédéric Péterssupprimé