[Résolu] Gestion champs auteur / lecteurs

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

[Résolu] Gestion champs auteur / lecteurs

Messagepar Bing [Bot] » 14 Nov 2011 à 00:10

Bonjour,
afin de gérer facilement (ajout, suppression de valeurs) 2 champs auteur et lecteur sur un document je recherche une petite classe ou un bout de code.
Auriez vous cela dans votre besace?
Merci.
camille
Dernière édition par Bing [Bot] le 30 Nov 2011 à 13:05, édité 1 fois.
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar LSong » 14 Nov 2011 à 08:49

pour definir un champs comme auteur en scripte il faut sur le NotesItem mettre le flag IsAuthor a true
ou le flag isReader a true
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Michael DELIQUE » 14 Nov 2011 à 09:13

salut

pas besoin de class tu as 2 possibilité pour le faire

- tu créé ton champ NotesItem et tu lui ajoute la flag isauthor ou isreader a true (méthode de lsong)

- à la création du champ tu déclare que c'est un champ auteur
Set notesItem = New NotesItem( notesDocument, name$, value [, specialType% ] )


tu as toute l'explication dans l'aide en ligne à NotesItem
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 » 14 Nov 2011 à 20:48

bonjour,

c'est quoi le soucis ? fournir une interface pour l'utilisateur ou c'est dans ton code que tu es ammener à faire des modif ?
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] » 24 Nov 2011 à 16:05

roubech a écrit:bonjour,

c'est quoi le soucis ? fournir une interface pour l'utilisateur ou c'est dans ton code que tu es ammener à faire des modif ?


Salut!!
C'est bon je gère mieux les champs auteurs et lecteurs avec les noms canoniques complets. Par contre avec les roles soucis.
Je rajoute un role genre "[Admin]" dans tous le champ auteurs les doc ne s'affichent pas par exemple Auteurs:"[Admin]"!
Les propriétés du doc affichent bien un nom canonique et le role sur 2 lignes différentes!
Dans la vue j'ai une colonne avec une liste auteurs:"[Admin]"
Merci de votre aide

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

Messagepar roubech » 24 Nov 2011 à 20:29

j'ai du mal à cerner la question.

tes champs auteurs/lecteurs sont alimentés comment ?
ils sont calculés en fonction d'autres champs directment dans le masque ?
ils sont mis à jour lorsque tu cliques sur un bouton ? en @Formula ? en LS ?
Tu as fait un agent qui met à jour en masse une série de docs existant ?
tes champs sont bien typés ? multivalués ?

si tu mets à jour un champ de type AUTEUR, c'est pas logique que les droits en LECTURE changent !
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] » 25 Nov 2011 à 03:40

roubech a écrit:j'ai du mal à cerner la question.

tes champs auteurs/lecteurs sont alimentés comment ?
ils sont calculés en fonction d'autres champs directment dans le masque ?
ils sont mis à jour lorsque tu cliques sur un bouton ? en @Formula ? en LS ?
Tu as fait un agent qui met à jour en masse une série de docs existant ?
tes champs sont bien typés ? multivalués ?

si tu mets à jour un champ de type AUTEUR, c'est pas logique que les droits en LECTURE changent !

Salut, pour répondre à tes questions:
Les champs auteurs / lecteurs sont maj en LS à l'exécution de scripts par des boutons et ils sont multivalués. Par défaut ils sont calculés. Voila ce que je souhaite faire en résumé:
Des userA crées des docA ( LecteursA= userA et auteursA= userA:"[Admin]"). Une fois transmit à un userB, les docA ( LecteursA= userA et auteursA= userB:"[Admin]").
1er souci: les doc ne sont pas affichés pour un user avec role "[Admin]" dans la vue. DocA visisible pour userA jusqu'à transmission.
Ensuite le userB crée des docC (doc reponse) qu'il assigne à un userC. UserC ne doit pas voir les docA mais doit pouvoir modifier un champ du docA par doc reponse. J'ai donc rajouté un champ auteurUserC=userC sur docA lors de l'assignation pour permettre les modifs.
souci: les userC ne peuvent pas mettre à jour docA!
Par contre si je mets userC dans auteursA çà fonctionne, mais docA alors visible.
Y a t'il une particularité si 2 champs auteurs présents sur u même doc?
Merci en espérant avoir bien expliqué la chose!
cdt
camille
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar roubech » 25 Nov 2011 à 10:22

tu es en quelle version ? car pour ton soucis de visibilité, il me semble qu'à une époque, le fait d'être dans un champ auteur ne suffisait pas pour voir un doc s'il y a avait un champ lecteur. il fallait aussi être dans le champ lecteur. Maintenant, ce n'est plus le cas, mais pas principe, quand je mets un champ lecteur dans un masque, je l'alimente avec la liste de tous les lecteur, y compris les auteurs
donc pour moi, quand userA transmets un docA à userB, dans le champ lecteur, tu dois avoir userA:userB

Pour le cas de ton user avec le role [Admin], pour debugger, fait un page vite fait pour afficher @UserName et @UserRole pour t'assurer que le role est bien pris en compte. Vérifie les propriétés du doc pour le typage de ton champ lecteur et son contenu (cf ma capture d'écran)

Pour ton userC, si tu veux qu'il mette à jour un champ du docA, même via un bout de code dans le docC, il faut qu'il ai acces en lecture et en ecriture au docA. Sinon, qu'il mette l'info dans le docC et qu'un script vienne laremonter apres dans le docA avec des droits adéquates. Sinon, à l'affichage de docA, tu va chercher les infos dans les docC directement
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] » 25 Nov 2011 à 11:22

roubech a écrit:tu es en quelle version ? car pour ton soucis de visibilité, il me semble qu'à une époque, le fait d'être dans un champ auteur ne suffisait pas pour voir un doc s'il y a avait un champ lecteur. il fallait aussi être dans le champ lecteur. Maintenant, ce n'est plus le cas, mais pas principe, quand je mets un champ lecteur dans un masque, je l'alimente avec la liste de tous les lecteur, y compris les auteurs
donc pour moi, quand userA transmets un docA à userB, dans le champ lecteur, tu dois avoir userA:userB

Pour le cas de ton user avec le role [Admin], pour debugger, fait un page vite fait pour afficher @UserName et @UserRole pour t'assurer que le role est bien pris en compte. Vérifie les propriétés du doc pour le typage de ton champ lecteur et son contenu (cf ma capture d'écran)

Pour ton userC, si tu veux qu'il mette à jour un champ du docA, même via un bout de code dans le docC, il faut qu'il ai acces en lecture et en ecriture au docA. Sinon, qu'il mette l'info dans le docC et qu'un script vienne laremonter apres dans le docA avec des droits adéquates. Sinon, à l'affichage de docA, tu va chercher les infos dans les docC directement


salut, je suis en client lourd 6.54!
j'ai vérifié le typage : liste de chaines, read write-access names. Le @userrole apparait bien ainsi que le @username dans un doc test. Le role "[Admin]" est mis aussi bien pour le champ lecteur que pour l'auteur.
Pour l'autre souci quand le userC est dans les auteursA, c'est bon il peut mettre à jour. Quand je le met dans auteursC çà ne fonctionne pas, message erreur disant qu'il n'a pas les droits. Bizzare!
cdt
camille
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar Michael DELIQUE » 25 Nov 2011 à 11:24

re

auteurC est de quel type ?

tu passe bien le nom au format canonique ?
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] » 25 Nov 2011 à 13:49

Michael DELIQUE a écrit:re

auteurC est de quel type ?

tu passe bien le nom au format canonique ?


Salut Michael,
auteursC est toujours une liste de chaines, multivalués, le nom est stocké au format hierarchique notes!
C'est une base que je reprends! j'ai aussi remarqué que userA pouvait voir les docC alors que les champs lecteursC et auteursC ne contenaient pas le nom de userA.
j'y perds mes cheveux!
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar Michael DELIQUE » 25 Nov 2011 à 13:55

re,

- vérifier les rôles
- vérifier les champs système $authors & $Readers
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] » 25 Nov 2011 à 14:24

Michael DELIQUE a écrit:re,

- vérifier les rôles
- vérifier les champs système $authors & $Readers


Pour moi roles OK dans ACL de la base!
Par contre les champs systèmes $Readers et $authors n'apparaissent pas!
Je peux voir par contre $updateby!
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Messagepar Michael DELIQUE » 25 Nov 2011 à 14:26

ce que je voulais dire par rôle, c'est que les personnes n'on justement pas les rôles, ce qui leur permettrait de voir !

une chose est certaine la gestion des accès par les champs autheurs/lecteurs est parfaite au point !
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] » 25 Nov 2011 à 16:23

Michael DELIQUE a écrit:ce que je voulais dire par rôle, c'est que les personnes n'on justement pas les rôles, ce qui leur permettrait de voir !

une chose est certaine la gestion des accès par les champs autheurs/lecteurs est parfaite au point !

Donc je me plante quelque part!! Faut que je regarde tête reposée.
Bing [Bot]
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 0
Inscrit(e) le : 10 Jan 2012 à 14:41

Suivant

Retour vers Développement

cron