【发布时间】:2012-06-22 15:43:21
【问题描述】:
我正在通过在 XPinc 中实现新功能请求,将现有的大型应用程序迁移到 XPages。可以说,XPages 是通过隐形迁移。
我的第一个任务是一个全新的文档类型,它将是对具有自己的注释表单的主文档的响应。我对我现在正在开发的两个系统有这个要求。我计划使用 lotusscript 按钮来获取响应文档的句柄(或者如果不存在则创建一个新的),然后使用 XPage 而不是表单打开该文档。然后用户与 XPage 交互,保存并关闭。
我使用的每种方法都有一些缺点,所以我想我会看看那里是否有最佳实践 - 谷歌并没有给我太多。以下是我迄今为止尝试过的方法以及它的作用:
1) 使用 uiworkspace.EditDocument(False, doc) 如果您已将表单设置为打开 XPage,则此选项非常有效。但是,他们必须进行编辑,我更愿意在编辑模式下打开。它在我的一个应用上运行良好,但另一个在打开文档之前抛出错误“Notes error: No error”。
2) uiworkspace.EditDocument(True, doc) 我希望这会起作用,但我的 XPage 仍然以读取模式打开。第二个应用程序仍然会抛出“无错误”错误。数据源的默认操作是“编辑文档”,所以我不确定为什么它不会在编辑模式下出现。
3) notes:// 文档的网址 这适用于基于服务器的应用程序,但如果我在本地副本上尝试此操作,我会收到错误“XPages 无法处理应用程序启动页面”。我并不绝对需要本地副本,但我知道一旦我破坏它们,我就会得到一个坚持让它离线的用户。
4) http:// 文档的网址 这个其实还没有完全测试过,但是登录提示就意味着这是不得已而为之。
因此,打开文档没有完美的解决方案。我做错了吗?有没有更好的办法?
另外,在 XPiNC 中打开文档后,关闭文档的最佳方法是什么?有什么建议吗?
干杯,
布伦丹
【问题讨论】:
-
问题标记为已回答。至于如何关闭文档的问题,我将尝试这里建议的解决方案-www-10.lotus.com/ldd/ddwiki.nsf/dx/…,如果可行,我会添加评论。
-
只是一个更新 - 关闭窗口并不容易 - 看到这个问题 - stackoverflow.com/questions/11093639/… 最后我在打开notes:///链接后关闭了原始lotusscript中的父文档,然后我使用 facesContext.getExternalContext().redirect 将 XPage 重定向到父文档的 notes:/// url - 希望对某人有所帮助!
标签: lotus-notes xpages