Supprimer une extension depuis un wikitty
Bonjour, Il semble que la suppression d'extension n'existe pas dans un Wikitty (A comprendre le retrait d'une extension sur un Wikitty). Si je me trompe, oubliez ce mail :) Sinon, voici la façon dont je vois la chose : Lorsqu'une extension est retirée d'un wikitty, cela correspond à supprimer chaque champs de l'extension depuis le wikitty, et lui enlever l'extension de sa liste. Il est cependant possible qu'une extension soit requise par une ou plusieurs autres. Dans ce cas, je pense que le plus simple à faire est de gérer la cascade depuis wikitty : les extensions nécessitant l'extension que l'on souhaite soustraire du wikitty seront retirées également. Par ailleurs, il semble que la philosophie wikittienne est de ne pas supprimer réellement les wikitties, mais plutot de les "archiver" en les taggant comme supprimés. De là, je me pose la question sur une gestion similaire au niveau des extensions. Est-il envisageable, utile, et sain, d'avoir un tag "removeDate" sur l'extension du wikitty ? L'extension serait alors toujours sur le wikitty, mais non requettable. Par contre, comment géré lorsqu'on souhaite remettre une telle extension sur le wikitty ? -- Yannick Martel <martel@codelutin.com> Société Code Lutin Tel: 02 40 50 29 28 http://www.codelutin.com
On Tue, 22 May 2012 10:40:55 +0200 Yannick Martel <martel@codelutin.com> wrote:
Bonjour,
Il semble que la suppression d'extension n'existe pas dans un Wikitty (A comprendre le retrait d'une extension sur un Wikitty). Si je me trompe, oubliez ce mail :)
Il me semble aussi que ça n'existe pas ;)
Sinon, voici la façon dont je vois la chose :
Lorsqu'une extension est retirée d'un wikitty, cela correspond à supprimer chaque champs de l'extension depuis le wikitty, et lui enlever l'extension de sa liste.
Il est cependant possible qu'une extension soit requise par une ou plusieurs autres. Dans ce cas, je pense que le plus simple à faire est de gérer la cascade depuis wikitty : les extensions nécessitant l'extension que l'on souhaite soustraire du wikitty seront retirées également.
Je verrais bien ce travail de suppression d'une extension via les objets Extensions, ou un Helper d'extension, meme si l'appel pourrait etre fait sur le wikitty. Quelques façon possibles (laquelle est la mieux ? perso la 1 appel la 3. Et si vraiment on veut la 2 appel la 3): - w.removeExtension(WikittyExtension ext) - monExtension.remove(Wikitty ... w) ou MonExtension.remove(Collection<Wikitty> c) - ExtensionHelper.remove(monExtension, Wikitty ... w) ou ExtensionHelper.remove(monExtension, Collection<Wikitty> c) Après un des ces appels, il faut un client.store(c); Il faut interdire la suppression d'une extension si une autre en a besoin (ou alors ajouter un boolean qui dit de faire la suppression en cascade ?) Que choisit-on de faire lors de la suppression d'une extension qui avait ajouté de façon automatique une autre extension ? On ne peut pas savoir si l'autre extension a été ajouté automatiquement ou non, donc actuellement on ne peut pas faire autre chose que la conserver, l'utilisateur devra donc la retirer explicitement aussi. Pour ce qui est des données, il n'y a pas vraiment besoin de les supprimer du wikitty (même si c'est mieux). Car normalement le storage ne sauve que les champs existant dans les extensions du wikitty. Donc si des valeurs existent encore, mais ne sont pas un champs d'extension, elles ne sont pas sauvées. L'avantage de les supprimer, est qu'il y a moins de données a transférer pour la sauvegarde. L'inconvéniant est qu'on fait des traitements (boucle) en plus pour vider la map des champs du wikitty. Je serais partisan de dire que se traitement supplémentaire est nécessaire (objet propre, et moins de coût de transfert, surtout si l'extension apportait un champs binaire qui pouvait être volumineux)
Par ailleurs, il semble que la philosophie wikittienne est de ne pas supprimer réellement les wikitties, mais plutot de les "archiver" en les taggant comme supprimés. De là, je me pose la question sur une gestion similaire au niveau des extensions. Est-il envisageable, utile, et sain, d'avoir un tag "removeDate" sur l'extension du wikitty ? L'extension serait alors toujours sur le wikitty, mais non requettable. Par contre, comment géré lorsqu'on souhaite remettre une telle extension sur le wikitty ?
Non, on ne garde pas de trace, si les wikitties sont conservé dans plusieurs version, c'est eux qui auront cet historique. -- Benjamin POUSSIN -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com http://www.codelutin.com
participants (2)
-
Benjamin POUSSIN -
Yannick Martel