lecteur et auteur, encore eux

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

lecteur et auteur, encore eux

Messagepar zerony » 12 Sep 2006 à 10:43

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
Dernière édition par zerony le 21 Sep 2006 à 08:36, édité 1 fois.
V6.5.4 - client lourd, très lourd parfois
zerony
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 142
Inscrit(e) le : 23 Fév 2005 à 16:42
Localisation : Bordeaux

Messagepar zerony » 12 Sep 2006 à 10:47

j'oubliais, autoriser l'utilisation des masques enregistrés dans cette base n'est pas coché
V6.5.4 - client lourd, très lourd parfois
zerony
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 142
Inscrit(e) le : 23 Fév 2005 à 16:42
Localisation : Bordeaux

Messagepar Michael DELIQUE » 12 Sep 2006 à 11:38

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 ?
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 zerony » 12 Sep 2006 à 13:20

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
V6.5.4 - client lourd, très lourd parfois
zerony
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 142
Inscrit(e) le : 23 Fév 2005 à 16:42
Localisation : Bordeaux

Messagepar philippe » 12 Sep 2006 à 13:29

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.
philippe
Modérateur
Modérateur
 
Message(s) : 235
Inscrit(e) le : 11 Juin 2006 à 21:20
Localisation : Epernon

Messagepar zerony » 12 Sep 2006 à 13:37

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. :shock:
V6.5.4 - client lourd, très lourd parfois
zerony
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 142
Inscrit(e) le : 23 Fév 2005 à 16:42
Localisation : Bordeaux

Messagepar zerony » 12 Sep 2006 à 14:25

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]
V6.5.4 - client lourd, très lourd parfois
zerony
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 142
Inscrit(e) le : 23 Fév 2005 à 16:42
Localisation : Bordeaux

Messagepar oguruma » 12 Sep 2006 à 15:52

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
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar zerony » 12 Sep 2006 à 16:15

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...
V6.5.4 - client lourd, très lourd parfois
zerony
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 142
Inscrit(e) le : 23 Fév 2005 à 16:42
Localisation : Bordeaux

Messagepar zerony » 12 Sep 2006 à 16:54

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 :cry:

Merci seigneur oguruma :D
V6.5.4 - client lourd, très lourd parfois
zerony
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 142
Inscrit(e) le : 23 Fév 2005 à 16:42
Localisation : Bordeaux

Messagepar oguruma » 12 Sep 2006 à 20:55

merci ça fait plaisir
pour le seigneur attendons un peu... ;)
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar Cyril Niang » 08 Avr 2010 à 15:11

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!!!
Cordialement

Image
Cyril Niang
Roi des posts
Roi des posts
 
Message(s) : 719
Inscrit(e) le : 16 Déc 2004 à 11:14
Localisation : Dakar

Messagepar Michael DELIQUE » 08 Avr 2010 à 15:17

salut

tu n'aurrais pas un roles qui donnel'acces ?
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 Cyril Niang » 08 Avr 2010 à 15:22

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...?
Cordialement

Image
Cyril Niang
Roi des posts
Roi des posts
 
Message(s) : 719
Inscrit(e) le : 16 Déc 2004 à 11:14
Localisation : Dakar

Messagepar Michael DELIQUE » 08 Avr 2010 à 15:23

j'ean dupond n'as pas le role [DGX ] ?
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

Suivant

Retour vers Développement

cron