场景:我有一个大纲,其中有我的菜单链接。每个链接指向存储在 DMZ 中的 FTP 服务器上的文件。通过单击每个链接,我运行代理,该代理在本地下载文件并将 url 传递给最终用户。
当文件不存在时,我想隐藏大纲元素。显然,在我尝试访问文件之前我没有此信息,并且我无法运行 domino 代理来检查我是否可以显示此元素并在 HideWhen 公式窗口中使用它。此外,无法运行代理并检查所有文件是否存在,将此信息存储在 ln db 中,因为文件太多了。
还有其他想法吗?
场景:我有一个大纲,其中有我的菜单链接。每个链接指向存储在 DMZ 中的 FTP 服务器上的文件。通过单击每个链接,我运行代理,该代理在本地下载文件并将 url 传递给最终用户。
当文件不存在时,我想隐藏大纲元素。显然,在我尝试访问文件之前我没有此信息,并且我无法运行 domino 代理来检查我是否可以显示此元素并在 HideWhen 公式窗口中使用它。此外,无法运行代理并检查所有文件是否存在,将此信息存储在 ln db 中,因为文件太多了。
还有其他想法吗?
如果您在“大纲范围”中没有可用的信息来确定要隐藏和显示哪些链接,那么您必须找到一种在文件不存在时优雅地失败的方法。在您的代理中使用一些错误检查,如果该文件不存在,请确保用户收到一条友好的消息,解释发生了什么。
您说您无法检查所有文件是否存在,因为文件太多,但我们在谈论多少?您可能无法在数据库打开时检查它们,因为您会导致用户等待太久,但也许您可以将结果缓存在某处。在数据库打开时运行的代理可以检查现有文件的缓存列表并使用它来确定要隐藏的文件。如果缓存文件不存在,代理可以运行后台代理来更新缓存并将其存储在服务器或数据库中。
如果您对服务器有一些访问权限,您还可以编写一个返回现有文件列表的程序,并使用它来提供您的 Notes 数据库。那里有很多选项,但例如,您可以有一个 PHP 或 ASP.NET 页面,当您调用它时,它会返回服务器上存在的文件的 XML 列表(或者甚至比 XML 更简单的东西)。然后,当您再次打开 Notes 数据库时,您的代理可以调用该 URL,获取结果,并浏览现有文件列表以确定要隐藏哪些链接。
希望这可以帮助!
来自bookmark.nsf 大纲的灵感 - @IsAppInstalled