2012-11-14 58 views
1

我不熟悉的Lotus Notes。 该任务如下:我需要实现监听“Calendar Entry created/deleted”事件的插件。并将此调度(iCal)数据发送到某个Web服务,以便它可以在另一个系统中同步。 如果有人能给我一些向量,我需要找到解决方案,如何订阅这样的事件,我将不胜感激? 感谢Lotus Notes的API:在日历项创建/删除

+0

您需要提供更多细节。你期望这个插件运行在哪里:在用户的Notes客户机上还是在Domino服务器上? (如果您希望获得所有事件,包括自动接受,那么最好在服务器上!)另外,您是否需要用户的凭证才能连接到Web服务? –

回答

0

你需要寻找到代理商,特别是在运行创建文档时/修改的类型。对于删除查看数据库上的QueryDocumentDelete事件。在这两个代码点之间,您可以添加必要的逻辑来响应日历(或其他)文档的创建和删除。

你必须检查文件形成,以确定是否正在采取行动的文件时是一个日历事件,但之后,它应该是简单的。

注意可以有创建文档时和代理运行时之间的延迟。

更新: 在代理中,您需要从数据库对象中获取未处理的文档集合并对其进行操作。使用LotusScript它应该是这样的:从那里

Dim s as New NotesSession 
Dim db as NotesDatabase 
Dim docCollection as NotesDocumentCollection 
Set db = s.CurrentDatabase 
Set docCollection = db.UnprocessedDocuments 

然后你可以遍历文档收集和处理各的NotesDocument对象。

+0

感谢您的快速回复! 我执行以下操作: NotesUIWorkspace WS =新NotesUIWorkspace(); \t 注意UIElement elem = ws.getCurrentElement(); NotesUIDocument uidoc =(NotesUIDocument)elem; uidoc.addModifiedListener(新侦听器(){ 公共无效的handleEvent(事件为arg0){}}); 但我不知道是谁来获得字段值。或者我走错路了? – user470071

+0

听众看起来会有帮助,但在这种情况下不会。在“创建/修改”的代理中,您已经获得新创建或修改的文档,所以监听部分结束。你可以处理它们。我更新了我的答案,以帮助您开始,尽管我不太了解Notes的Java API,所以我使用LotusScript编写了它。 –