Acces simultanés

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Acces simultanés

Messagepar seroa » 01 Déc 2010 à 17:14

Bonjour,

J'ai une application ou les utilisateurs se connectent afin de remplir un formulaire.

Au moment de la sauvegarde (dans le webQuerySave), un agent s'exécute et calcule un solde pour cet utilisateur.

Je voudrais interdire les accès simultanés d'un même utilisateur afin d'éviter à l'utilisateur de fausser le solde.

C'est à dire que s'il ouvre 2 pages web sur l'appli, qu'il ne puisse pas sauvegarder les 2 formulaire en meme temps. Cela entrainerait des erreurs.

Donc il faudrait que le second save attente la fin du premier.

Merci.
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar roubech » 01 Déc 2010 à 20:39

ce solde, il est stocké dans un autre doc que celui qui est en cours de sauvegarde ?
sinon, je ne comprend pas le pb. Si le même user créé 2 docs différents, en quoi le calcul est faussé ?

si tu as un doc Solde par user et que la sauvegarde d'un autre doc entraine la maj du doc solde alors, tu peux essayer de créer un doc de vérouillage au début du WebQuerySave s'il n'en existe pas déjà un et à la fin une fois que ton solde est mis à jour tu supprime le doc verrou. Le plus délicat, c'est si un doc verrou existe dejà il faut bloquer la sauvegarde du second doc sans pour autant perdre les données postées par le user (en web, t'as pas le doc encore ouvert à l'écran).
Penser aussi un dévérouillage automatique si un pb survient
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar seroa » 02 Déc 2010 à 08:25

Merci pour ta réponse,

oui, ce solde est stocké dans un document, le document user, il y a bien un solde par user.

Aucun doc verrou n'existe pour l'instant. Peut tu m'en dire plus sur la création de doc verrou ?
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar Michael DELIQUE » 02 Déc 2010 à 11:05

salut

ben c'est simple,

quand tu ouvre un document, tu as une fonction qui va regarder si un document de verrouillage existe.

si existe pas, le créé et vérrouille, met le nom de l'utilisateur et renvois non vérouillé

si existe vérifie que le nom de l'utilisateur en renseigné
si vide le met et vérrouille et renvois non vérouillé
si pas vide regarde si le nom est différent de celui de l'utilisateur en cours
si identique ne fait rien et renvois non vérrouillé
si différent ne fait rien et renvois verrouillé

quand on ferme le document, une fonction va dévérrouillé (cad retirer lenom du doc de verrouillage ou carrement le supprimé)

bon ca dois être adapté à ton besoin. mais l'idée est la
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar seroa » 02 Déc 2010 à 16:47

Salut,

Dans mon cas, cela ne va pas aller. Car c'est le même utilisateur qui va poster deux fois de suite.

Imaginons que l'utilisateur ouvre la même appli dans deux fenêtres différentes. Il sauvegarde 2 documents l'un à la suite de l'autre.

Lors de la première sauvegarde, le document de verrou sera crée, mais lors de la seconde, mais le document de verrou n'aura pas eu le temps de se créer que la seconde sauvegarde sera lancée.

Du coup je risque d'avoir deux doc de verrou.

Je voudrais empêcher cette possibilité de "tricher"

Merci.
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar abertisch » 02 Déc 2010 à 16:51

Salut,

Combien de fois par jour l'utilisateur peut-il ouvrir ce formulaire ?
"Lotus, il n'y a qu'en rouleaux que ça fait pas mal au cul"
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse

Messagepar Michael DELIQUE » 02 Déc 2010 à 16:52

tu pose le verrou a l'ouverture du document pas à la sauvegarde.
et tu le ferme a la fermeture du document

ensuite tu n'est pas obligé d'utilisé le nom de l'utilisateur tu peux prendre une autre valeur.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar seroa » 02 Déc 2010 à 17:00

Salut abertish, il peut l'ouvrir autant de fois qu'il le souhaite.

Je vais tester de mettre le verrou à l'ouverture du document. Mais s'il ouvre l'appli dans 2 fenêtres différentes et ouvre deux fois le formulaire, le verrou n'aura pas eu le temps de se créer que le deuxième formulaire sera déjà ouvert.
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar Michael DELIQUE » 02 Déc 2010 à 17:08

normalement si !

si tu passe par le webqueryopen

sauf si l'utilisateur peut faire la même manip simultanément sur 2 pc différents
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar seroa » 02 Déc 2010 à 17:21

J'ai bien peur que si. C'est des petits malins...

Mais j'ai pensé à un truc, si à l'ouverture je créer un document lock avec le nom de l'utilisateur.

Si l'utilisateur arrive quand même à passer outre, je fais cette verif à la sauvegarde :

A la vauvegarde je verifie qu'il n'y a pas plus de 1 document lock au nom de cette personne.

S'il y a plus d'un, j'interdit la sauvegarde.

Qu'est-ce que vous en pensez ?
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar Michael DELIQUE » 02 Déc 2010 à 17:22

oui tu peux vérrifier le lock a la sauvegarde plus plus de sécurité

a toi ensuite de bien gérer le cas ou le gars en locké
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy


Retour vers Développement