1

我想知道是否可以通过 Xpages 中的客户端脚本处理笔记视图和文档集合?

到目前为止的故事......我正在建立一个人力资源系统,其中包括一个完整的缺勤部分(假期、疾病、其他缺勤等)。我在笔记客户端中编写了一个按钮,该按钮创建一个 Excel 电子表格,根据缺勤文档(getview、getalldocumentsbykey 进入集合)显示当前用户过去 12 个月缺勤的日历。它使用每个文档中的各种字段(包括多值字段)循环集合以计算缺勤长度、全天/半天等,并在工作表上以不同颜色标记它们,并带有超链接以访问文档。

它还计算诸如布拉德福德因子评级之类的其他事物,并围绕用户工作日进行计算。

任何人,我一直面临着让整个系统在浏览器中工作的挑战,消除对笔记客户端的任何需求,所以....回到我原来的问题,我需要能够从笔记中获取文档集合通过一个键查看,然后我可以通过客户端 javascript 访问该字段。

这可能吗?如果需要,我可以提供更多信息...

4

4 回答 4

1

您是否考虑过 Notes 浏览器插件?它应该让您通过浏览器运行基于 Notes 的应用程序,而无需修改代码。

这是一篇关于它的文章

于 2012-12-03T16:01:50.800 回答
1

您可以通过 Java 和 CORBA 从客户端 JavaScript 访问所有 Domino 对象。您只需要一个将 Session 返回到 javascript 的小程序。以下是 Designer 帮助中的说明:

http://www-12.lotus.com/ldd/doc/domino_notes/rnext/help6_designer.nsf/9/0d05bb3cec358f7085256c54004bdbff

然而,正如 Per 现在建议的那样,通常使用 XPages 中客户端和服务器端 Javascript 的组合来代替 CORBA。Domino 数据服务是将数据从服务器获取到(例如)客户端 javascript 的最新方法。

您可能还想查看Apache POI,您可以使用它在服务器端创建 Excel 文件。ActiveX 只能在 IE 中工作,尽管有插件可以让它在其他浏览器上工作。

编辑

我通常对“客户端和服务器端Javascript的组合”做的是在客户端使用dojo.xhrGet(或xhrPost)。在服务器上,我有一个 XPage(早期代理),它收集数据并以 JSON 格式返回。

  • 帕努
于 2012-12-03T16:52:11.790 回答
1

我认为您应该选择 REST。在 Domino 中,它可以以 JSON 格式提供来自视图/文档的数据,您可以在本机客户端 JavaScript 中使用这些数据。有关更多信息,请尝试搜索 google 和ddwiki,例如本教程视频

于 2012-12-04T20:29:49.247 回答
1

编辑以强调 &ReadViewEntries 并添加细节

纯粹在浏览器端执行此操作可能最好通过使用 &ReadViewEntries URL 命令获取 DXL 或 JSON,然后编写 Javascript 来处理数据并在本地执行与 CreateObject 调用等效的操作。您可以在此处找到 &ReadViewEntries 的文档。(@Panu 已经提到了 DDS,这也是一个好主意。)

或者查看这里的一些示例代码,这些示例代码展示了一种技术,用 LotusScript 编写的 Domino Web 代理可以使用该技术创建数据,这些数据将发送到带有内容类型标头的浏览器,该标头可以在 Excel 中打开。我还没有验证这个特定的代码,但我已经看到了对该技术的其他参考。此特定代码可能无法为您提供所需的控制——例如,颜色和链接,但我认为也可以将数据实际生成为 xlsx 格式的 XML 并以类似方式发送。

于 2012-12-03T19:46:04.693 回答