Page 1 sur 2
lecteur et auteur, encore eux

Publié:
12 Sep 2006 à 10:43
par zerony
bonjour,
au terme de ma patience, je post!
j'ai une base ou je n'utilisais pas de champ lecteur auteur.
aujourd'hui j'en ai besoin.
si je prend un utilisateur lambda, il voit bien uniquement ses doc et peut les modifier => objectif.
Sur les docs existant préalablement dans la base (qu'il n'est pas censé voir), j'ai passé un agent qui dit :
FIELD reader :="[ADM]":@ServerName;
FIELD author :="[ADM]":@ServerName;
FIELD recuperation :="[RECUP]";
mon utilisateur lambda voit tous les anciens doc!
les champs sont bien multivalués et lorsque je passe l'agent et que j'ouvre un doc, les champs sont bien remplis avec [ADM]:nomserveur
la base est sur le serveur
lambda n'est pas dans le groupe ADM
je ne vois pas ou je me suis loupé
merci pour votre aide

Publié:
12 Sep 2006 à 10:47
par zerony
j'oubliais, autoriser l'utilisation des masques enregistrés dans cette base n'est pas coché

Publié:
12 Sep 2006 à 11:38
par Michael DELIQUE
salut
déjà c'est pas la peine de nomé le serveur directement, tu n'as qu'a lui donner le role "ADM" ça marche aussi bien. ( et ça t'évitera pas mal de déboire si tu change de serveur.
ensuite quand tu as l'accès en écriture tu as d'office l'accès en lecture donc le FIELD reader :="[ADM]":@ServerName; ne sert à rien
ensuite, ton champ recuperation il est de type auteur ou lecteur ? ton user lambda a le role recup ?

Publié:
12 Sep 2006 à 13:20
par zerony
ok: il me reste 2 champ auteurs avec dans l'un [ADM] et dans l'autre [RECUP], Merci pour ces conseils
le user lambda n'a aucun role. j'ai repassé l'agent pour remettre correctement dans tous les documents, les valeurs dans les 2 champs auteurs et j'ai verifié.
Les documents s'affichent toujours pour mon lambda

Publié:
12 Sep 2006 à 13:29
par philippe
Si tu n'as pas de champs lecteur ou si celui-ci est vide, le document restera visible pour tout le monde.
Il faut donc remplir avec ce que tu veux au moins un champ lecteur.

Publié:
12 Sep 2006 à 13:37
par zerony
je viens de remettre le champs "reader" qui contient "[ADM]". j'ai relancé l'agent puis verifier sur qlq document que les valeurs etaient bonnes. tout est ok, sauf que mon lambda voit encore tout.


Publié:
12 Sep 2006 à 14:25
par zerony
Pour resumer.
un masque avec 1 champs autheur, 1 champ lecteur.
ils existait des documents avant que je n'ajoute ces champs.
valeur par defaut de ces champs :
- Code : Tout sélectionner
"[ADM]":@Name( [Canonicalize];@UserName)
Lorsque un utilisateur lambda (qui n'a pas le role ADM) crée des nouveaux documents, il est le seul a les voir et a les editer avec ceux qui ont le role ADM.
un agent qui tourne sur tous les doc de la base (lambda ne doit pas voir les anciens documents):
- Code : Tout sélectionner
FIELD author :="[ADM]";
FIELD reader:="[ADM]";
je le lance, verifie dans quelques doc au hazard, pas de probleme les valeurs sont la.
Lambda les voit encore.[/code]

Publié:
12 Sep 2006 à 15:52
par oguruma
je crois que ton pb vient de là :
tu n'as pas la propriété du genre Indicateurs de champ : SUMMARY READ-ACCESS NAMES quand tu regardes les propriétés des champs à partir d'un document
idem pour Indicateurs de champ : SUMMARY READ/WRITE-ACCESS NAMES
j'ai déjà donné.... dans ce genre... et avec un FIELD il est difficile de créer un champ de type Auteur
il faut passer par du LS (pas le choix et utiliser la méthode New NotesItem)
voir aide Designer
il y a une partie sur la création de ce type de champ Author.. etc...
il faut le préciser dans la création...
je m'en suis toujours sorti comme cela

Publié:
12 Sep 2006 à 16:15
par zerony
Merci oguruma, je vais essayé ca.
J'ai remarqué que lorsque j'ouvre un document en modif et que je l'enregistre, il disparait de la liste des doc de lambda...

Publié:
12 Sep 2006 à 16:54
par zerony
ta solution etait la bonne.
le code :
- Code : Tout sélectionner
Sub Initialize
Dim session As New NotesSession
Dim view As NotesView
Dim doc As NotesDocument
Dim item As NotesItem
Set db = session.CurrentDatabase
Set view = db.GetView("admin")
Set doc = view.GetFirstDocument
While Not ( doc Is Nothing )
Dim auteur As New NotesItem(doc, "auteurs", "[ADM]", AUTHORS)
Dim lecteur As New NotesItem(doc, "auteurs", "[ADM]", READERS)
Call doc.Save(True,True)
Set doc = view.GetNextDocument( doc )
Wend
End Sub
Plusieurs heures perdues pour rien
Merci seigneur oguruma


Publié:
12 Sep 2006 à 20:55
par oguruma
merci ça fait plaisir
pour le seigneur attendons un peu...


Publié:
08 Avr 2010 à 15:11
par Cyril Niang
Salut,
Je suis exactement dans la même situation que zerony.
J'ai créé un agent avec le code suivant :
- Code : Tout sélectionner
Sub Initialize
Dim db As New NotesDatabase("","Operations\OUTLOOK 2005\Sahel2.NSF")
Dim view As NotesView
Dim doc As NotesDocument
Dim item As NotesItem
Dim newValues( 0 To 1 ) As String
Dim cpt As Integer
Set view = db.GetView("TLDOC")
Set doc = view.GetFirstDocument
cpt = 0
While Not ( doc Is Nothing )
cpt =cpt +1
newValues( 0 ) = doc.GetItemValue("NomCommercial")(0)
newValues( 1 ) = "[DGX]"
Dim auteur As New NotesItem(doc, "Auteur", newValues, AUTHORS)
Dim lecteur As New NotesItem(doc, "Lecteur", "[DGX]", READERS)
success = doc.ComputeWithForm( False, False )
If success Then
Call doc.Save( True, True )
End If
Print "Cpt : " + Cstr(cpt)
Print "AUTEUR : " + doc.GetItemValue("Auteur")(0)
Print "LECTEUR : " + doc.GetItemValue("Lecteur")(0)
Set doc = view.GetNextDocument( doc )
Wend
Erreur:
Print "Erreur : " & Error$(Err) & " à la ligne : " & Erl
End Sub
Seulement voilà, j'arrive tjs en tant que Gestionnaire à voir tous les documents de la base.
Je ne comprend pas!!!

Publié:
08 Avr 2010 à 15:17
par Michael DELIQUE
salut
tu n'aurrais pas un roles qui donnel'acces ?

Publié:
08 Avr 2010 à 15:22
par Cyril Niang
En fait le problème c'est que j'ai bien un champ :
AUTEUR : Jean Dupond, [DGX]
LECTEUR : [DGX] (car il faut au moins un lecteur pour que le cloisonnement fonctionne!
Et lorsque je me connecter avec Bob Doe (par exemple), il voit tous les docs, compris ceux de Jean Dupond. Où est ce que j'ai mer...?

Publié:
08 Avr 2010 à 15:23
par Michael DELIQUE
j'ean dupond n'as pas le role [DGX ] ?