Vue Web Lotus Domino - ne devrait afficher que les documents des utilisateurs actuels - mais en montre plus?

StackOverflow https://stackoverflow.com/questions/1201045

  •  05-07-2019
  •  | 
  •  

Question

Je travaille sur une application Web Lotus Domino et ma vue ne doit afficher que les documents de l'utilisateur actuel. Je sais que ce n’est pas le meilleur pour le serveur car il doit continuer à calculer, mais c’est une exigence ...

Voici la formule de sélection de vue que j'utilise:

SELECT (Form = "Demande Atom" | | Form = "AtomRequest") & amp; @Name ([CN]; RequestAuthor) = @Name ([CN]; @ UserName)

Le champ RequestAuthor est un champ calculé lors de la composition qui capture le nom de l'auteur.

La sélection de vues fonctionne correctement pour moi, mais d'autres utilisateurs peuvent voir les documents d'autres utilisateurs dans cette vue.

Je suis probablement en train de négliger quelque chose d'évident ....

Des suggestions?

Derek

Était-ce utile?

La solution

J'ai converti la vue en vue catégorisée, classée par le nom de l'auteur.

Ensuite, j'ai intégré la vue au formulaire de modèle de vue, en la configurant pour afficher une seule catégorie.

La catégorie unique est le nom d'utilisateur.

Semble avoir fait le tour ..

Autres conseils

demandez-vous à l'utilisateur de pouvoir voir des documents autres que les siens (en dehors de cette vue, je veux dire)?

Sinon, utilisez un champ de lecture sur les documents pour limiter le nombre de personnes pouvant voir chaque document.

Vous n'aurez alors plus besoin de la partie @Name ([CN]; RequestAuthor) = @Name ([CN]; @ UserName) de la formule de sélection.

Sinon, si vous avez besoin que les utilisateurs soient en mesure de voir des documents autres que le leur, l'approche intégrée par catégorie que vous avez adoptée est probablement la plus propre.

La solution de LRE est bonne. Mais à partir d’un point de vente, n’utilisez pas @UserName ni @Now ni @today dans la formule de sélection d’affichage car cela provoque de graves problèmes de performances pour votre base de données et le serveur.

Chaque fois que vous ouvrez la vue, le serveur reconstruira l’index. Si vous devez utiliser des informations spécifiques à l'utilisateur, créez un agent planifié qui définira la valeur dans un champ, puis référencera le champ dans le cadre de la formule de vue. N'utilisez simplement aucune dynamique " @ " fonctions dans la formule de vue qui modifieraient les critères.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top