Веб-просмотр Lotus Domino - должен показывать только документы текущего пользователя - но показывает больше?

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

  •  05-07-2019
  •  | 
  •  

Вопрос

Я работаю над веб-приложением Lotus Domino, и у меня есть представление, в котором должны отображаться только документы текущего пользователя.Я знаю, что это не самое лучшее для сервера, потому что он должен продолжать вычислять это, но это требование...

Это формула выбора вида, которую я использую:

ВЫБЕРИТЕ (Форма= "Атомарный запрос" | Form= "Атомный запрос") и @Name([CN];RequestAuthor) = @Name([CN];@UserName)

Поле RequestAuthor - это вычисляемое при составлении поле, которое фиксирует имя автора.

Выбор вида для меня работает нормально, но другие пользователи могут видеть документы других пользователей в этом представлении.

Вероятно, я упускаю из виду что-то очевидное....

Есть какие-нибудь предложения?

Дерек

Это было полезно?

Решение

Я преобразовал представление в категоризированное представление, классифицированное по имени автора.

Затем я встроил представление в форму шаблона просмотра, настроив его на отображение одной категории.

Единственная категория - это имя пользователя.

Кажется, это сделало свое дело..

Другие советы

требуется ли вам, чтобы пользователь мог видеть документы, отличные от его собственных (я имею в виду, за пределами этого представления)?

Если нет, то используйте поле "Читатели" в документах, чтобы ограничить круг лиц, которые могут видеть каждый документ.

Тогда вам не понадобится @Name([CN];RequestAuthor) = @Name([CN];@UserName) часть формулы выбора.

В противном случае, если вам действительно нужно, чтобы пользователи могли видеть документы, отличные от их собственных, выбранный вами встроенный категоризированный подход, вероятно, самый чистый.

Решение LRE - хорошее.Но с точки зрения дизайна, не используйте @UserName или @Now или @today в формуле выбора вида, это вызывает серьезные проблемы с производительностью вашей базы данных и сервера.

Каждый раз, когда вы открываете представление, сервер будет перестраивать индекс.Если вам действительно нужно использовать информацию о конкретном пользователе, создайте запланированный агент, который установит значение в поле, а затем будет ссылаться на это поле как на часть формулы просмотра.Просто не используйте какие-либо динамические функции "@" в формуле представления, которые изменили бы критерии.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top