Mettre à jour auteurs dans un workflow

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

Mettre à jour auteurs dans un workflow

Messagepar Bing [Bot] » 02 Déc 2011 à 12:57

bonjour,
je cherche la meilleure solution pour mettre à jour un champ auteurs dans un doc. Après avoir transmis un doc je dois faire en sorte à ce que le user ne puisse plus le modifier (le user s'enlève ses droits à la transmission). Comme le doc suit 6 étapes, j'ai mis dans le post save du doc une fonction updateauteurs appelé à chaque fois avec une valeur différente.
Exemple:
select case EtapeWkf
case 0
updateauteurs(userB)
case 1
updateauteurs(userC) etc...
end select
Je me demande si c'est la bonne façon de procéder? Comment effectuez vous vos update auteurs?
Merci
cdt
camille
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar Michael DELIQUE » 02 Déc 2011 à 13:07

salut

ben le souci c'est qu'un utilisateur peut se retirer les droit en écriture (et aussi en lecture) mais dans ce cas il ne pourra plus enregistrer le document.

la solution

- l'utilisateur enregistre sont document
- puis le traitement le fait tourner sur le serveur via un agent et un runonserveur (et la c'est le serveur qui fait le boulot et lui, il a tout les droits)

j'ai fait un moteur de workflow qui fais ça, si tu veux je te le passe, mais bon tu va souffrir a vouloir essayer de comprendre comment ça tourne
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 Bing [Bot] » 02 Déc 2011 à 13:32

Michael DELIQUE a écrit:salut

ben le souci c'est qu'un utilisateur peut se retirer les droit en écriture (et aussi en lecture) mais dans ce cas il ne pourra plus enregistrer le document.

la solution

- l'utilisateur enregistre sont document
- puis le traitement le fait tourner sur le serveur via un agent et un runonserveur (et la c'est le serveur qui fait le boulot et lui, il a tout les droits)

j'ai fait un moteur de workflow qui fais ça, si tu veux je te le passe, mais bon tu va souffrir a vouloir essayer de comprendre comment ça tourne

salut Michael,
super je vais tester avec un agent comme conseillé!
Je veux bien ton moteur de workflow, je regarderai comment un expert ecrit ce genre d'appli et je pourrai m'en inspirer pour ma culture LS.
Ce serait bien d'avoir un post sur le sujet pour les débutants come moi: comment écrire un moteur de workflow?
Merci!
camille
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar Michael DELIQUE » 02 Déc 2011 à 13:35

je t'envois ça par mp "telquel" je ne l'ai pas utilisé depuis un moment ya peut être/certainement des bugs

pour le moteur de workflow tu as le principe de base le reste c'est du détail
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 roubech » 02 Déc 2011 à 20:41

en général un bouton "Accepter" ou "Refuser" ou "Etape suivante", qui , en LS :
controle les champs obligatoires en fonction de l'étape courante pour passer à l'étape suivante
si ok, change le champ état et les champs auteurs/lecteur
puis doc.save
et enfin un mail de notification (si erreur lors de l'envoi de mail, on a pas bloqué le changement d'état, juste petit warning pour prévenir le user que la notification n'est pas partie)
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Bing [Bot] » 03 Déc 2011 à 15:28

roubech a écrit:en général un bouton "Accepter" ou "Refuser" ou "Etape suivante", qui , en LS :
controle les champs obligatoires en fonction de l'étape courante pour passer à l'étape suivante
si ok, change le champ état et les champs auteurs/lecteur
puis doc.save
et enfin un mail de notification (si erreur lors de l'envoi de mail, on a pas bloqué le changement d'état, juste petit warning pour prévenir le user que la notification n'est pas partie)

Salut,
on s'écarte un peu du post original mais j'expose quand même ma vision du workflow actuel que je reprends!
Dans la base actuelle il y a pleins de boutons, un peu trop à mon gout :-) donc j'ai mis entre autres Accepter / Refuser qui vont me servir pour les diiférentes étapes et comme indiqué plus haut j'appelle en fonction de l'étape courante une procédure workflow(uidoc,Nextetape,action,sousaction) qui va notifier le user suivant, faire les différents controles et changée le status, passer à l'étape suivante.
Je pense avoir une bonne approche! Pour l'update auteurs, je pense que je vais procéder comme à indiquer Roubech, car pas trop de temps pour le runonserver (un peu plus complexe! et pas facilement debugable)
cdt
camille
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar Michael DELIQUE » 03 Déc 2011 à 21:28

re,

avec une bonne gestion des erreurs ça se debug tout seul !
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 roubech » 04 Déc 2011 à 16:24

c'est quoi la question initiale déjà ? comment mettre à jour un champ de type auteur ? c'est un pb de manipulation de tableau en LS ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Bing [Bot] » 05 Déc 2011 à 13:10

roubech a écrit:c'est quoi la question initiale déjà ? comment mettre à jour un champ de type auteur ? c'est un pb de manipulation de tableau en LS ?

Salut,
non c'est plus un truc de ce genre et Michael et toi vous aviez proposé deux solutions:
http://forum.dominoarea.org/changer-la-valeur-de-lauteur-t17352,search_id,1764119561.html
Donc je pense avoir ce qu'il faut! J'ai pensé aussi à forcer l'utilisation d'un bouton "modifier" qui passe le doc en édition et à mettre un code dans ce bouton qui bloque le passage en édition en fonction du WKF.
cdt
camille
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar roubech » 05 Déc 2011 à 13:58

pour bloquer l'édition, normalement, c'est un champ auteur
maintenant, il arrive que tu ai besoin de laisser un accès auteur à une personne pour qu'elle valide l'étape courante et passer à l'étape suivante (pas de modif du contenu, mais modif du champ Etat)
dans ce cas, pour être sur de le bloquer, il faut mettre du code dans QueryOpen et QueryModeChange et mettre continue = false dans les cas où tu veux bloquer
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Bing [Bot] » 05 Déc 2011 à 21:40

roubech a écrit:pour bloquer l'édition, normalement, c'est un champ auteur
maintenant, il arrive que tu ai besoin de laisser un accès auteur à une personne pour qu'elle valide l'étape courante et passer à l'étape suivante (pas de modif du contenu, mais modif du champ Etat)
dans ce cas, pour être sur de le bloquer, il faut mettre du code dans QueryOpen et QueryModeChange et mettre continue = false dans les cas où tu veux bloquer

Salut, c'est bien çà!
J'ai forcé l'édition pas un bouton [Modifier] uniquement, ensuite je contrôle l'édition ou non en fonction des étapes du WKF.
L'utilisateur ne supprime plus ses droits dans le champ auteur. Il n'y a pas de confidentialité à ce niveau car chaque user voit ses propres doc.

cdt
camille
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41


Retour vers Développement

cron