Page 1 sur 1

[Resolu]XPages + Précédent Navigateur = Conflit

MessagePublié: 30 Oct 2013 à 18:03
par R-one
Bonjour à tous,

Je travaille actuellement sur une application XPages en workflow.

Mon souci est le suivant :
Etape 1 : L'utilisateur rentre en modification sur document à travers une Xpage (avec dans l'url, action=editDocument et documentID=son universal id
Etape 2 : L'utilisateur clique sur un bouton "enregistrer et fermer" qui enregistre la dataSource et ouvre une nouvelle page
Etape 3 : L'utilisateur clique sur le bouton "précédent" du navigateur et donc retour sur la XPage (dont l'url comporte toujours action=editDocument et documentID=son universal id
Etape 4 : L'utilisateur clique à nouveau sur le bouton "enregistrer et fermer" => problème, cela créé un conflit sur le doc... :evil:

J'ai ouvert un PMR au près d'IBM, qui me répond qu'ils ne voient pas où est le problème. (la réponse habituelle d'IBM : ça marche comme c'est prévu.)

Du coup, je viens vers vous pour savoir si vous avez une solution pour éviter ce problème. (empêcher les utilisateurs de cliquer sur le bouton précédent du navigateur sous peine de représailles, une propriété magique de la dataSource qui permet d'empêcher un conflit qui n'a pas lieu d'être, ...)
J'avais pensé à faire une petite bidouille dans le beforePageLoad, mais quand on clique sur le bouton précédent du navigateur, on ne passe pas dans le beforePageLoad de la page qu'on réouvre. (on doit passer que dans le onClientLoad)

Bonne soirée et merci d'avance pour vos idées

Re: XPages + Précédent Navigateur = Conflit

MessagePublié: 01 Nov 2013 à 17:22
par Jérôme Deniau
De mémoire, avec une meta, dans l'étape 1 dire au navigateur, pas d'historique, tu oublie cette page.

Re: XPages + Précédent Navigateur = Conflit

MessagePublié: 01 Nov 2013 à 18:03
par Jérôme Deniau
Possible d'utiliser aussi les événements beforepageload etc

Des pistes: http://linqed.eu/?p=59

Re: XPages + Précédent Navigateur = Conflit

MessagePublié: 14 Nov 2013 à 11:28
par R-one
Bonjour,

Merci pour la réponse! Ca a l'air de bien marcher. On va devoir mettre ce code dans chacune des XPages qui permet d'ouvrir une dataSource DominoDocument.

Pendant ce temps là, IBM se creuse encore la tête pour me répondre... :roll:

Pour ceux qui rencontrent le problème, j'ai utilisé dans le beforePageLoad du document à enregistrer, le code suivant :
var excon= facesContext.getExternalContext();
var response=exCon.getResponse();
response.setHeader("Cache-Control", "no-store");

Re: [Resolu]XPages + Précédent Navigateur = Conflit

MessagePublié: 15 Nov 2013 à 18:29
par Jérôme Deniau
Le plus simple:

Créer un custom control/contrôle personnalisé avec le code et l'insérer dans chaque xPages soit en dur soit dynamiquement, ainsi s'il y a besoin d'autres variables/code, c'est pris en compte.....