Undo

Bonjour,

Je dois mettre en place une fonctionnalité permettant aux utilisateur
de annuler leur modification
Ex A modifie un document ou le supprime mais il se rend compte que ce
n’est pas le bon. il aimerais revenir en arrière en tapant sur undo.

Je demande pas bien sur le code pour faire cette fonctionnalité mais
plus des indications

Merci
Bolo M.
[email protected]
http://blog.developpez.com/index.php?blog=30

±le 13.11.2006 10:36:07 -0400, Bolo M. a dit :
| Bonjour,
|
| Je dois mettre en place une fonctionnalité permettant aux utilisateur de
| annuler leur modification
| Ex A modifie un document ou le supprime mais il se rend compte que ce n’est
| pas le bon. il aimerais revenir en arrière en tapant sur undo.
|
| Je demande pas bien sur le code pour faire cette fonctionnalité mais plus
| des indications

Ben, la seule manière correcte de le faire est de versionner les
enregistrements, doit y’avoir un acts_as_version qui existe.

Le 13 nov. 06 à 10:48, Eric D. a écrit :

Le Lun 13 novembre 2006 15:36, Bolo M. a écrit :

Bonjour,

Je dois mettre en place une fonctionnalité permettant aux utilisateur
de annuler leur modification

Règle 1 : na jamais proposer ou accepter ce genre de
fonctionnalités dans
une appli Web, c’est l’horreur à gérer.

Je n’ai pas encore accepter. Je voulais savoir si c’était possible et
gérable

marque.
Je pense que cette solution est vraiment interessante
Je te remercie
spécifique à chaque action que peut faire ton utilisateur. Tu n’as pas
fini de développer et tu as toutes les chances d’oublier des cas.


Eric D.


Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Bolo M.
[email protected]
http://blog.developpez.com/index.php?blog=30

Bonjour,

Il existe le plugin Acts_as_versioned créé par Rick O… Je ne
l’ai jamais utilisé mais, si tu veux un exemple, ce plugin est
implémenté dans Mephisto le “Blogging system” du même auteur.

Le plugin :
http://svn.techno-weenie.net/projects/plugins/acts_as_versioned/

Dernière release stable de Mephisto :
http://svn.techno-weenie.net/projects/mephisto/tags/rel-0.7.2/

En espérant que cela t’aide.

Mathieu

Les suppressions elles ne
sont pas supprimées mais simplement “marquées comme supprimées”,
ce qui
permet de fouiller dans les documents supprimés et d’enlever la
marque.

Je pense que cette solution est vraiment interessante
Je te remercie

Pour un exemple d’implémentation de cette fonctionnalité regarde du
coté de acts_as_paranoid[1]

Richard

[1] http://rubyforge.org/projects/ar-paranoid/


http://www.railsfrance.org/
http://paris.onrails.info/

Le Lun 13 novembre 2006 15:36, Bolo M. a écrit :

Bonjour,

Je dois mettre en place une fonctionnalité permettant aux utilisateur
de annuler leur modification

Règle 1 : na jamais proposer ou accepter ce genre de fonctionnalités dans
une appli Web, c’est l’horreur à gérer.

Pour l’implémentation tu as deux possibilités :

  • tu ne proposes pas d’undo mais tu gardes un historique versionné de
    toutes les modifications. Il n’aura pas le “annuler” mais il pourra
    trouver la version précédente et la republier. Les suppressions elles ne
    sont pas supprimées mais simplement “marquées comme supprimées”, ce qui
    permet de fouiller dans les documents supprimés et d’enlever la marque.

  • Tu proposes vraiment un undo, à chaque action tu stockes l’action en
    question dans une table, les anciennes valeurs et les entrées supprimées
    dans un fichier quelque part sur le disque. Quand on tente l’annulation
    tu
    dépiles les dernières entrées de ta table pour restaurer les données. Le
    problème c’est qu’il te faudra une logique d’annulation et de sauvegarde
    spécifique à chaque action que peut faire ton utilisateur. Tu n’as pas
    fini de développer et tu as toutes les chances d’oublier des cas.


Eric D.