0

我正在开发一个 Lotus Domino Web 应用程序,并且我有一个应该只显示当前用户文档的视图。我知道这对服务器来说不是最好的,因为它必须不断计算,但这是一个要求......

这是我正在使用的视图选择公式:

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

RequestAuthor 字段是在组合时计算的字段,用于捕获作者姓名。

视图选择对我来说很好,但其他用户可以在这个视图中看到其他用户的文档。

我可能忽略了一些明显的东西......

有什么建议么?

德里克

4

3 回答 3

1

我将视图转换为分类视图 - 按作者姓名分类。

然后我将视图嵌入到视图模板表单中,将其设置为显示单个类别。

单一类别是用户名。

似乎已经成功了。。

于 2009-07-29T15:45:40.867 回答
1

您是否要求用户能够查看他们自己以外的文档(我的意思是在此视图之外)?

如果没有,则使用文档上的读者字段来限制谁可以查看每个文档。

那么您将不需要@Name([CN];RequestAuthor) = @Name([CN];@UserName) 选择公式的部分。

否则,如果您确实需要用户能够查看他们自己以外的文档,那么您采用的嵌入式分类方法可能是最干净的。

于 2009-07-29T21:26:19.707 回答
1

LRE 的解决方案是一个很好的解决方案。但从设计 POV 来看,不要在视图选择公式中使用 @UserName 或 @Now 或 @today,这会导致数据库和服务器出现严重的性能问题。

每次打开视图时,服务器都会重建索引。如果您确实需要使用用户特定信息,请创建一个计划代理,该代理将在字段中设置值,然后将该字段作为视图公式的一部分引用。只是不要在视图公式中使用任何会改变标准的动态“@”函数。

于 2009-12-27T05:09:55.833 回答