Page 1 sur 2

[Résolu] Gestion champs auteur / lecteurs

MessagePublié: 14 Nov 2011 à 00:10
par Bing [Bot]
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

MessagePublié: 14 Nov 2011 à 08:49
par LSong
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

MessagePublié: 14 Nov 2011 à 09:13
par Michael DELIQUE
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

MessagePublié: 14 Nov 2011 à 20:48
par roubech
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 ?

MessagePublié: 24 Nov 2011 à 16:05
par Bing [Bot]
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

MessagePublié: 24 Nov 2011 à 20:29
par roubech
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 !

MessagePublié: 25 Nov 2011 à 03:40
par Bing [Bot]
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

MessagePublié: 25 Nov 2011 à 10:22
par roubech
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

MessagePublié: 25 Nov 2011 à 11:22
par Bing [Bot]
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

MessagePublié: 25 Nov 2011 à 11:24
par Michael DELIQUE
re

auteurC est de quel type ?

tu passe bien le nom au format canonique ?

MessagePublié: 25 Nov 2011 à 13:49
par Bing [Bot]
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!

MessagePublié: 25 Nov 2011 à 13:55
par Michael DELIQUE
re,

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

MessagePublié: 25 Nov 2011 à 14:24
par Bing [Bot]
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!

MessagePublié: 25 Nov 2011 à 14:26
par Michael DELIQUE
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 !

MessagePublié: 25 Nov 2011 à 16:23
par Bing [Bot]
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.