使用 Google 的 Web API 服务向 Domino 应用程序添加 Google Web 搜索功能。本文将展示如何使用一个简单的代理在应用程序中实现该搜索功能。请下载代码示例,开始 googling 吧!

面对 Google 当前和不断扩充的 30 多亿个 Web 页面的索引,它之所以会成为在 Internet 上执行工业强度的搜索的最佳工具之一就不难理解了。除了其 Web 页面的数量之外,搜索结果的质量之高也归功于其专有的搜索算法,该算法建立在相关性和流行性的基础上。最近的报告表明,Google 每天以 88 种不同的语言响应 2 亿个搜索请求(平均每秒响应 2,300 个请求!)。而根据 SearchEngineWatch.com 的调查,Google 处理了基于 Web 的所有查询中的百分之七十五。

显而易见,许多 Web 用户很熟悉 Google 及其搜索特性。不那么为人所知的事实是,您可以使用 Google 的 Web API 服务,将 Google 的搜索功能整合进自己的 Domino 应用程序中(正如我们将在下一节说明的那样,您可以免费下载这个 API)。本文讲述如何向 Domino 应用程序添加 Google 的搜索功能。我们将简要介绍 Google API 以及它们是如何工作的。然后我们将研究一个示例应用程序,它将 Google 搜索功能与 Domino 应用程序集成在一起。我们最后将提供一些如何扩充和定制这个简单例子的思路,从而结束本文的讨论。(本文中出现的所有例子都包含在一个 Domino 数据库中,您可以从 Sandbox下载该数据库。)

本文假设您是对编写 Domino 代理很熟悉的有经验的 Notes 应用程序开发人员。虽然高级 Java 经验不是理解我们的例子所必需的,但是强烈建议您了解一些 Java 的基础知识。

Google API


要使用 Google 的 API,请从 Google 的 Web API 下载页面下载 Google Web API 开发者工具箱(Googleapi.zip),并创建一个免费的 Google 帐户以获得一个许可密钥。该密钥允许您每天最多执行 1,000 次搜索(您必须在发出搜索请求时在查询中包括此密钥。这是通过编程方式完成的,因此用户不必在每次执行查询时都键入该密钥)。该开发者工具箱附带了文档和例子,使您对 Google 的自动化搜索如何工作有一个基本的了解。

在下载 Googleapi.zip 之后,请将它解压缩到 c:Googleapi 目录中。然后您就可以通过在 MS-DOS 命令提示符下键入以下命令来快速调用该 Web API: java -cp Googleapi.jar com.Google.soap.search.GoogleAPIDemo <key> search Lotus Domino > result.html ,其中 < key > 是您的注册密钥,“Lotus Domino”是您想要搜索的项,result.html 是您想要将搜索结果写到其中的文件的名称。例如,下面的例子:

清单 1. 搜索结果
...
            Start Index = 1
            End Index = 10
            Estimated Total Results Number = 663000
            ...
            



显示了估计的 663,000 项查询结果中的前 10 项结果。

不过,如果您在 Google Web 站点上试验相同的查询,可能会获得不同的结果。例如,在 Google上针对“Lotus Domino”的相同查询将产生估计的 596,000 项结果。(Google API 支持团队已证实,该 Web API 和 Google 站点本身使用相同的搜索引擎和索引页面,搜索结果方面的细微差别可能是由 Google 所维护的许多数据中心造成的。)

快速浏览一下 Googleapi 目录中的 GoogleAPIDemo.java:

清单 2. 摘自 GoogleAPIDemo.java 的代码片断
...
            GoogleSearch s = new GoogleSearch();
            ...
            GoogleSearchResult r = s.doSearch();
            ...
            



您可以发现 doSearch() 方法在设置许可密钥和搜索字符串属性之后调用了 Google 搜索。

在继续下一个例子之前,让我们快速查看一下您将使用的 Google Web API 中的几个方法:

setKey()设置用户许可密钥。
setQueryString()设置查询字符串。
doSearch()调用 Google 搜索。
toString()返回 Google 搜索结果的格式化表示形式。
getResultElements()返回结果元素的数组。
getSnippet()返回一个代码片断,这个代码片断显示它出现的地方的 URL 环境中的查询。
getSummary()在当前文档包含于 ODP 目录中时返回 ODP 摘要。
getTitle()返回 HTML 格式的搜索结果标题。
getURL()返回搜索结果的绝对 URL。
此外,下面这组方法可以进一步完善您的搜索应用程序:

setStartResult()设置要返回的第一个结果的索引。例如,如果有 500 个结果,您可能希望从第 100 个结果处开始返回。
setMaxResults()设置每个查询要返回的最大结果数目。每个查询的最大值是 10。如果执行没有多少匹配项的查询,所获得的实际结果数目可能要比您所请求的少。
setFilter()启用或禁用“相关查询”过滤器。这个过滤器排除非常相似的结果。
posted @ 2008-11-21 23:53 hannover 阅读(66) 评论(0) 编辑

1. AutoSave介绍

顾名思义,AutoSave的作用就是自动保存--它能够自动保存你尚未保存的文档。当客户机出现意外,比如断电、系统崩溃的时候,它可以帮助恢复尚未保存的邮件、消息、文档等等。

AutoSave定时检测正在被编辑的文档,并将它们保存到一个本地加密数据库中。当你保存这个文档时,它会把相应的文档从这个本地加密数据库中删除。

在使用AutoSave的时候,需要注意的是,它只对那些在表单属性中启用"Allow Autosave"选项的文档起作用。

2. 开启"AutoSave"功能

1. 打开Notes客户端,选择File - Preferences - User Preferences

2. 在"Basics"附签的"Startup Options"区域,启用"AutoSave every x minutes",如图:

 

注意:在这里你可以指定多少分钟自动保存一次文档。默认15分钟。

3. 点击"OK"按钮保存设置。

开启"AutoSave"后,它会按照你指定的时间间隔自动保存正在编辑的文档。你也可以手动的保存这个文档,选择File - AutoSave - AutoSave Now。

 

AutoSave将这些文档自动的保存在一个本地的加密数据库中,数据库文件名格式为:as_xxx.nsf。

注意,AutoSave会将所有自动保存的文件统一放在这个数据库中。当原文档被保存或被发送以后,AutoSave会将相应的备份文件删除。

3. 恢复未保存的文档

如果你有自动保存的文档尚未恢复,当你启动Notes客户端时,它会提示你是否恢复自动保存文档。当然,我们也可以手动恢复,选择File - AutoSave - Recover AutoSaved Documents,如图:

 

在打开的"Recover Unsaved Documents"对话框中,我们可以选择恢复或删除自动保存的文档,如图:

 

4. 小结

AutoSave是一个配置简单,又非常实用的工具。作为用户,可以在自己的Notes客户端上进行设置。如果需要将该功能部署到所有用户的Notes客户端,管理员可以使用policy进行部署。

posted @ 2008-11-21 23:46 hannover 阅读(66) 评论(0) 编辑

继去年1月发表Lotus Notes与Domino鼓励IBM客户移转至微软的统一通讯平台后,微软再次更新移转工具,以移转便利性向IBM客户招手。

微软在本周更新Lotus Notes/Domino移转工具,以协助客户自IBM的Lotus Notes与Domino等平台移转到微软旗下的Microsoft Exchange Server及Microsoft Office SharePoint Server。微软表示,改善的移转工具提供许多新功能让客户更容易移转到微软平台同时亦能维持业务的持续性。

Microsoft Exchange Server为微软所提供的统一通讯平台,整合了电子邮件、实时传讯及VoIP等通讯服务,而Office SharePoint Server则是一入口网站服务器平台,提供商业智能、内容管理、搜寻、社交及协作等功能。

 微软是在去年1月首度发表Lotus Notes/Domino移转工具,号召企业透过微软所提供的移转工具自IBM的Lotus Notes/Domino移转到微软的Exchange Server/SharePoint。

 微软在上次的更新中指出,去年下半年光是在大型企业领域,就有300家业者、180万使用者从Notes及Domino移转到Exchange Server、Office SharePoint Server及Office软件包,比2006年同期成长了164%。而且,Fortune前一百大企业中就有逾8成以Exchage Server作为主要的电子邮件及行事历解决方案。

 

Notes及Domino曾是最受企业喜爱的电子邮件及协同作业平台,不过微软积极改善自有产品的功能,并积极抢食Notes及Domino的市占率。PCWorld引用The Radicati Group的调查数据指出,现在约有1亿的企业电子邮件信箱是在Notes上运作,该数字到了2011年会成长到1.12亿,但届时在Outlook及Exchange上执行的电子邮件信箱则会有3亿

posted @ 2008-11-21 23:44 hannover 阅读(41) 评论(0) 编辑
Lotus公司的软件部门宣布了在他们在Notes and Domino组件操作平台的未来版本中支持J2EE 1.3的计划后,引起了开发者的普遍反感。

这样做的结果是,Lotus公司自己所有的Garnet Java开发环境将被嵌入式的IBM WebSphere应用服务器所取代,这导致在Domino平台上运行应用软件的开发者非常沮丧。

Lotus公司在奥兰多的展览中宣布了这项举措,使得Lotus的开发者长期以来对于Domino系统将被WebSphere系统所取代而且会导致许多开发者转向非IBM的应用开发环境的恐惧被空前的提升。

"我要参考其他一些与Domino无关的或是以IBM为基础的工具去为我的客户提供解决方案",Lotus在辛辛那提的一个合作伙伴同时也是Innovative Consulting公司的所有者Joe Groh说,"我必须投入大量的努力以取得对服务器和开发工具包的了解。我并不是不原意学习使用新的工具,事实上我一直是在这样做,我只是不喜欢因为IBM内部的一些政见问题而迫不得已这样做。"

在展示中正式推出的J2EE(Java2企业版)1.3将是Notes和Domino 6的一部分,前身名叫Rnext的最终测试版软件将在30天之内发布,并且正式版将在六月或七月时完成。

Domino 6还具有针对Lotus Domino对象的JavaServer Pages标签库,并且支持设计元素锁定,对个人代理的分享和再利用,对外部数据连接的嵌入式支持。 测试版本包括对漫游用户灵活性的增强和对多用户的支持,更多的控制和增强的无线接入。同时还有关于信箱、日历、欢迎专栏和书签方面的增强界面。

Lotus的总经理Al Zollar在Lotusphere说,J2EE 1.3将使众多的公司进入下一代的协作标准,客户能够使目前的操作平台达到标准化,令应用软件之间得到更好的互通性。

Lotus公司全球性发展的技术策略分析员Carl Kraenzel说,Garnet之所以被取代是因为他对于J2EE来说是一个不标准的变量。开发者将不能再利用Domino作为一个执行环境,而是需要有WebSphere或是任何符合J2EE的网络服务器。

我们不想使客户走入一个死胡同,Kraenzel说,否则我们可能将使客户编写的应用软件无法在标准的J2EE环境下运行。

即使是推崇变革的开发者也对Lotus公司的此项举动表示了批评,他们认为公司将Garnet改为彻底的J2EE环境的过程过快。

另一些人认为这是IBM吸收Lotus公司的又一个信号。在会展中,IBM宣布了一项新的针对Lotus公司的服务策略,此项服务策略要求Lotus公司的销售人员和顾问与IBM的软件集团销售组以及IBM的商业伙伴进行更加紧密的工作配合,来提供IBM和Lotus产品的解决方案。

在瑞典的Blekinge Institute of Technology工作的项目经理Leif Lagebrand说,这让我们感觉Lotus Domino作为一个产品已经走到了尽头。今后,WebSphere将成为一个正式的网络服务器所使用的具有包括电子邮件和分工协作在内的一些功能的承载工具。

posted @ 2008-11-21 23:42 hannover 阅读(62) 评论(0) 编辑

IBM针对Lotus Notes/Domino客户举办的Lotusphere年度会议中揭露Lotus Notes/Domino蓝图,包括描绘了将在2月发表Lotus Notes/Domino 8.0.1,以及计划在第二季发表的Lotus Notes/Domino 8.5版新功能。

Lotus Notes/Domino 8.0.1
将强化Web 2.0功能,包括在My Widgets中采用可识别语法及格式的Live Text新技术。例如,当用户在电子邮件中点选一飞机班次时,能自动识别所要开启的小工具,并实时显示飞机到达时刻。

My Widgets
存在于Lotus Notes的边栏上,可透过拖曳方式选用不同的小工具。此外,8.0.1还有一Lotus Notes Traveler工具,可透过无线方式提供实时且自动的电子邮件复制,包含来自Windows Mobile装置上的附加档案、行事历、联系人名单、个人记事及待办事项列表。

至于主要的Lotus Notes/Domino 8.5更新版本则改善了Lotus Domino Web应用程序环境,当中的Lotus Domino Designer 8.5将支持AJAX、样式表单(style sheets),以及RSSATOMWeb 2.0技术。

IBM
亦发表一强化Lotus Notes软件环境的IBM Lotus Protector for Mail Security电子邮件安全装置,这是一建立在Proventia Network Mail Security System上的防毒及反垃圾邮件,透过该装置在病毒或垃圾邮件传送到Lotus Notes服务器或影响Lotus Notes软件用户之前加以防堵。

而包含字处理工具、电子表格及简报工具的办公室软件包─Lotus Symphony Beta 4则预计在1月底开放下载测试,这是一免费的桌面办公室软件包,提供独立软件供货商可将该软件功能嵌入文件中以用来存取及管理企业应用程序,例如直接自电子表格中下单或是开立发票等,此外,库存信息也可轻易被汇入电子表格中,并进一步进行分析、提供报告与协作等。

IBM
指出,Lotus Symphony Beta 4提供IBM商业合作伙伴一个新的市场机会,因为业者可同时透过Eclipse插件与Java程序来延伸相关的应用程序,目前在Symphony社群网站中已有一些IBM插件,包括IBM Lotus Sametime Unyte MeetingLotus Sametime Unyte ShareIBM WebSphere Translation Server等,另外IBM的合作伙伴也发表了许多相关的插件。

IBM
是在去年9月首度释出免费的Lotus Symphony办公室软件包,IBM计划在每68周就更新Symphony,将在本月底更新的是第四个测试版,迄今已有40万名用户下载,目前支持24种语系,涵盖简、繁体中文。

就在IBM举行Lotusphere年度会议的前一天,微软更新了Lotus Notes/Domino移转工具,协助IBM客户移转到微软旗下的Microsoft Exchange ServerMicrosoft Office SharePoint Server,与IBM较劲意味浓厚,微软并指出去年下半年光是在大型企业领域,就有300家业者、180万使用者从NotesDomino移转到Exchange ServerOffice SharePoint ServerOffice软件包,比2006年同期成长了164%

另一方面,IBM积极向开放源码靠拢,凝聚对抗微软的势力,在周一宣布整合IBM Lotus NotesIBM Lotus SametimeIBM Lotus Symphony等软件的开放协作客户端解决方案将同时支持NovellUbuntu及红帽等Linux操作系统

posted @ 2008-11-21 23:39 hannover 阅读(63) 评论(0) 编辑

OpenOffice.org周一(9/10)宣布IBM正式加入OpenOffice.org开放源码社群。IBM将捐赠Lotus Notes的部份程序代码给OpenOffice.org社群。事实上,IBM最近的Lotus 8就曾采用OpenOffice中的开放源码,只是IBM直到现在才捐赠程序代码,正式成为OpenOffice.org的一员。IBM之所以这么晚参与该社群主要的原因在于OpenOffice.org与IBM竞争对手升阳(SUN)的密切关系,不过双方最近因共同支持ODF开放文件格式而携手,共同抵抗微软的OOXML。OpenOffice.org说明了IBM过去一直以非正式的方式支持着OpenOffice.org,现在则是看到了市场对于ODF的强烈需求。IBM Lotus部门总经理Mike Rhodin表示,他们特别高兴可以与该社群合作共同加速办公室生产力市场的革新,双方的关系除了能改善IBM提供创新价值的产品及服务给客户的能力外,也将让支持ODF的应用程序及解决方案愈来愈普及。

支持ODF标准的著名专利律师Andrew Updegrove也在部落格评论此事,指出此讯息的重要性在于采用ODF的软件具备符合一般使用者及企业用户需求的能力,ODF近来有许多引人注目的成长,包括美国麻州的采用、成为ISO标准,以及微软的OOXML在ISO第一轮的投票失利等。此外,Google也在近日宣布要在Google Pack中提供支持ODF的StarOffice。

此外,他也认为使用者需要有其它可与微软Office竞争的产品,而ODF产品则是由许多私有程序及开放程序代码聚集而成,没有一个单一产品可以提供如此多的功能,而且还拥有全球支持的服务网络。

自从SUN自2000年建立OpenOffice.org项目后,该产品的下载数已接近1亿次,这是一个采用ODF文件格式及开放源码的免费办公室软件计划,包括企业及开发人员都可加入该社群并捐赠程序,目前主要的捐赠者仍为SUN。

posted @ 2008-11-21 23:38 hannover 阅读(28) 评论(0) 编辑

IBM在上周三推出了一个Beta版本的免费Lotus Symphony办公软件,这是IBM用来抗击微软Office 2007套装的产品,一经推出,虽然收到抱怨不断,但它还是在一周内成功地拥有了10万名用户。

IBM的网站数据显示,该软件页面被访问了100万次,在线支持论坛每日可以接收600多份有关于产品的帖子。

Lotus Symphony分为Documents,Spreadsheets和Presentations三个组件,它不但能覆盖Office的常用功能,还可以与IBM传统的办公软件协作,这都是免费的。

因为它具有强劲功能并且免费,因此它是目前除OOo之外对Office套装最有竞争力的软件包.Lotus Symphony采用开放文档格式存储信息,ODF一方面还是ISO标准格式。

IBM在这款软件上投入了35个程序员,此外还和OOo与Sun建立了良好的关系.

posted @ 2008-11-21 23:36 hannover 阅读(13) 评论(0) 编辑

近期 IBM 提供了下一代 Lotus Notes 的公开测试版(public beta2) 下载。本文将从普通 Notes 用户角度,结合大量截图,通俗易通地介绍 Notes8 在易用性方面的诸多改进,帮助已经部署 Notes 的企业尽早熟悉这个全新设计的 Lotus 旗舰产品。

一、安装或升级到 Notes 8 测试版

只要您拥有 IBM ID,便可以在这个页面下载 Notes 8 Beta2 的安装文件。支持的操作系统有 Windows,Linux,AIX,iSeries和 Sun Solaris。普通 Notes 用户,通常只需要下载 Notes 8 Client for Windows – Beta 2 (623MB)。

如果您是第一次安装 Lotus Notes,那么下载完成后便可以直接启动安装程序,否则建议您先备份好的重要数据。最简单的方法或许是把整个 Notes 安装目录(如 C:Program FilesLotusNotes)打成一个压缩包。您也可以选择备份其中的几个重要文件, 如 表1 所示。

表1. 备份 Notes 重要数据

文件说明 默认位置
Notes ID 文件 C:Program Files LotusNotesdata*.id
信件归档(archive)文件 C:Program Files LotusNotesdata archive*.nsf
Notes 系统配置文件 C:Program Files LotusNotes otes.ini
Notes 工作台 C:Program Files LotusNotesdatadesktop6.ndk
Notes 书签 C:Program Files LotusNotesdataookmark.nsf
Notes 地址簿/联系人 C:Program Files LotusNotesdata names.nsf

 

Notes 8 Beta2 会自动检测 Notes7 以下版本的安装和配置信息,自动完成升级。而如果您安装过 Notes 8 的其他测试版本,请卸载该软件,并删除文件系统和注册表中相应的残留。

安装的过程持续五到十几分钟不等。顺利完成后 Notes 8 的第一次启动通常会稍微占用点时间。如果是升级安装,您会看到一个熟悉的密码输入界面。登录后,一个清新的欢迎界面就展现在您面前,如图1 所示。

图1. Notes 8 欢迎界面

图1. Notes 8 欢迎界面

在展开 Notes 8 体验之旅之前,建议您再做两个简单的配置,以全面感受 Notes 的贴心设计:

  • 使用 Notes 8 风格的主页。点击 Home 标签,如果您看到的还是 Notes 7 那种风格的首页,请点击最上方的 Click here for Home Page options 按钮,在当前主页选择(Current Home Page selection)中选择基本(Basic)。效果如图2所示。

    图2. Notes 8 风格的首页

    图2. Notes 8 风格的首页

  • 使用 Notes 8 模板。如果您在安装后就打开电子邮件标签或许会失望的看到与 Notes 7 一摸一样的界面。那是因为当前您的本地或服务器数据库使用的是 Notes 7 的模板。建议您使用 Notes 8 的模板。它不但使用了与主题更适应的图标和配色,还增加了一些新的按钮和功能。 请点击左上角的 ”Open”按钮,选择工作台(Workspace)。在您的邮件数据库标签上点击右键,选择 ”Application->Replace Design…”。选择本地模板 Mail(R8),点击 Replace 按钮。

二、感受 Notes 8 的巨大变化

让我们从最常用的电子邮件部分说起。

实时的拼写检查

如果您经常处理英文信件,这或许是一项期盼已久的功能。在 Notes 8 的编写新邮件窗口,可能的拼写错误会以红色浪线突出显示出来,如图3所示。

图3. Notes 8 会提示可能的拼写错误

图3. Notes 8 会提示可能的拼写错误

只需要在文字上点击右键便可以修正或加入字典,如图4所示。

图4. 点击右键修正拼写错误

图4. 点击右键修正拼写错误

智能收件人提示

不知道您是否遇到过这样的尴尬,本来想发信给公司的某人, 结果不小心发到了和他/她同名同姓, 或者姓名相似的其他人信箱。这一问题在 Notes 8 中得到比较完美的解决。当您在收件人一栏输入对方姓名时,不需要按回车或空格,Notes 8 会根据以往的信件来往记录,实时地列出您可能要联系的人,如图5所示。

图5. 收件人智能提示

图5. 收件人智能提示

正如上面截屏所示,不但这样可以避免发信到同名同姓(假设您只与公司的一个张三有来往),而且会大大提高您填写收件人的效率。通常您只要敲几个他姓名中的字母即可。另外如果您登录了 Notes 8 自带的 Sametime 7.5.1,还能看到这些收件人的在线状态。

整合 Sametime 7.5.1

 

不光如此,您也可以在浏览所有信件时,在最左边看到发件人的在线状态。其实这一功能从 Notes 7 开始就引入了,而在 Notes 8 中,Sametime 的整合更加丰富了。首先可以在新引入的侧边栏(Sidebar)中查看联系人列表(参见图6)。类似 Windows Vista Sidebar 和 Google Desktop Sidebar, 您可以拖拽来改变侧边栏的大小或点击右侧的小按钮隐藏侧边栏或只显示 Sametime 图标。

图6. 在侧边栏中显示 Sametime 联系人

图6. 在侧边栏中显示 Sametime 联系人

Notes 与 Sametime 的整合还体现在:

  • 在 Sametime 聊天窗口中,可以使用 Tool->Send->Email,把聊天内容作为邮件发出。
  • 在邮件列表,右键点击一封信的标题,可以看到该发件人相关的扩展菜单。快速参看与他以往的聊天记录,设置上线提醒,查看联系方式等。
  • 在日程安排(Calendar)界面中,会议主持人的在线状态也会显示出来。

其他侧边栏应用

除了 Sametime 联系人列表,Notes 8 还自带了另外 2 个实用的小应用(参见图7)。一是当日安排一览(Day at-a-glance),可以让您在处理邮件时随时参看当天的会议安排。

图7. 日程一览与新闻订阅功能

图7. 日程一览与新闻订阅功能

另一个(如图7左下角所示),可以订阅网上的 RSS/Atom,第一时间了解业界的新闻动态。如果企业内部系统也支持 RSS/Atom, 则可以在 Notes 中方便地了解最新的企业公告和项目进展。

由于基于 Eclipse 开放平台,将来可以有越来越多的 IBM 或第三方工具加入侧边栏,进一步提高 Notes 用户的工作效率。

文档编辑与门户支持

作为 IBM 面向企业协作与办公自动化的旗舰产品, Notes 8 加入强大的跨平台文档编辑功能(参见图8)。包括 Microsoft Office 2003 在内的大部分常见文档格式,都可以在 Notes 8 中直接打开或编辑。 它还可以把文档保存为 PDF,或 OpenDocument 格式,便于在 Linux 系统查看。

图8. 在 Notes 8 中编辑 Word 文档

图8. 在 Notes 8 中编辑 Word 文档

另外,Notes 8 还可以连接 IBM WebSphere Portal,用以查看与编辑门户应用。请查看 Notes 8 的帮助文档了解详情。

其他改进

Notes 8 还有很多贴心的设计与新功能,如下表所示。限于篇幅,本文不再一一详述。

  • 查看所有信件时,可以点击工具栏新增的刷新按钮,快速收发信件。
  • 当您使用 Notes 8 打开了很多邮件、文档或网页时,可以拖拽标签页改变顺序。或点击 Open 菜单右侧的按钮,同时显示所有标签内容的缩略图,并支持按标签名快速搜索。
  • 使用工具栏最右端的搜索框,您不但可以方便地搜索所有邮件和日程,还可以借助 Google Desktop Search(需要额外安装)在 Notes 8 中搜索所有本地文件和网页访问记录。您还可以直接把搜索提交到 Yahoo 或 Google 网站。
  • 无论邮件还是日程安排,都可以打开预览窗格快速浏览。如果您屏幕分辨率比较高,可以考虑把预览放在列表的右边,以便查看更多内容。
  • 任何时候,按 F1,会在右侧打开一个帮助面板,了解与您当前操作相关的信息。

看到这里,相信您已经对 Notes 8 的诸多改进已经目不暇接。 如果您还对它的性能有所顾虑的话,可以直接运行 C:Program FilesLotusNotes lnotes.exe, 会以传统方式启动 Notes,而不基于 Eclipse 平台。对于系统配置较低的客户或许是个不错的选择。当然这样会禁用 Sametime,文档编辑等基于 Eclipse 的功能。

作者: 钟钱杰目前在 IBM 中国软件开发实验室工作,从事基于 IBM WebSphere Portal 的 Lotus ActiveInsight 产品的开发。熟悉 Notes, Sametime 等技术,并对Java, Groovy, Flash, Ajax 等技术有浓厚的兴趣。他曾与 2005 年获得 IBM 杰出技术成就奖。

posted @ 2008-11-21 23:34 hannover 阅读(328) 评论(0) 编辑
LOTUS公司发布的群件产品-LOTUS NOTES是办公系统软件的成功应用案例之一,它凝结了企业级电子邮件、分布式文档数据库与快速应用开发等三位一体的强大技术,完全集成了INTERNET技术,提供给用户完整的,以网络为中心的应用技术平台,是目前最优秀的办公系统开发、运行平台。通过几年来的应用,在颇受其益的同时,也发现了其本身的一些缺陷。本文所述的服务器平台为WINDOWS NT,网络环境为TCP/IP,以此为例,将个人的一点薄见写出来与同行共勉。
1 客户端的安装
1.1 安装好WINDOWS 95/98后,增加MICROSOFT 网络用户,确定客户机和服务器之间能够以TCP/IP协议正常通信。 
1.2 在WINDOWS95/98的工作目录下(如c:windows)建立hosts文件,在里边说明notes服务器的IP地址和名字,举例如下(下边的hosts文件列出了3个notes服务器):
111.1.1.100 notesserver1
111.1.1.101 notesserver2
111.1.1.102 notesserver3
如果定义了NOTES SERVER的域名(如nserver.unit.com),就可以通过域名(nserver)访问服务器,无须建立hosts文件。
1.3 从系统管理员那里申请到合法用户的ID文件,将其保存到软盘或其他可搜索的介质上备用。
1.4 将notes的安装盘插入,运行CD盘上win32installinstall.exe 文件,开始安装,对一般用户来说,要选择“定制功能(C)-手动安装,选择想要安装的功能”一项,然后往下进行,依次选择“notes工作站”,“个人数据文件”,“附件阅览器”三项后,开始拷贝文件,并完成安装工作。
1.5 下边是配置notes工作站的过程:运行notes,选择协议TCP/IP和指定的NOTES服务器(如:nserver),选择从文件中读取用户标识符,从软盘上或其他可搜索介质上获取ID文件,即配置完毕,然后打开“文件”中的“数据库”选项,将应用图标加入就行了。至此,客户端安装完毕,可以投入使用了。
2 用户密码的设定和清除
客户端的用户一般都有进入系统的密码,如果不想设置密码,可选择“文件”中的“工具”,再选中“用户标识符”,然后键入密码进入系统,再按“清除口令”按钮,输入原密码,按“确定”后,口令就被清除了。当然,用上述方法可以重新设置口令。
3 引出文件的操作
NOTES数据库存放数据的格式有别于其他数据库,如ORACLE、SQL SERVER等数据库,数据是按行、列整齐存放的,而引出NOTES库里的数据时,看上去就有点乱。但这种操作频繁应用到。例如,我们将库里的数据引出,到Excel里边重排后打印正规报表文件时,选择引出的格式就有些学问,一般选择TABULAR TEXT格式最好,它带有字段间隔,层次比较分明。还可以用Lotus Script编制,做数据的引出(或引入)工作。
4 用户ID的问题
用户ID是有期限的,如果到了规定期限后,就会失效,用户无法继续使用,需要到管理员那里重新申请一个ID,然后再装入系统。
5 安装过程中必需的条件之一
在WINDOWS95/98系统下,根目录上的文件autoexec.bat和config.sys文件显得没什么作用,但是在安装notes时,必须安装autoexec.bat文件,并指出windows 95/98的工作路径,如:c:windows,否则,notes系统不能安装。
6 安装时的“无效的TCP/IP Server”信息
如果出现“无效的TCP/IP Server”信息,往往是因为网络不通引起的,安装客户端的同时,必须保证客户端和服务器畅通。
7 为什么Lotus Domino卸载后再次安装新的服务器时安装不上? 
因为windows95/98提供的卸载工具不能完全把Notes卸载干净,上一次服务器的一些配置信息并未删除,如果第二次安装的服务器配置与第一次不同,你还需要把windows 目录下的Notes.ini,以及NotesData文件夹下的server.id 和cert.id文件删除掉方可。
8 为什么启动Lotus notes 4.6的个人Web浏览器访问intranet有时不能成功? 
因为在notes4.6与4.5不同,其增强了对Web的支持,几乎不用做任何设置就可以正常上网。如果出现个人Web浏览器不能访问Web页面,大部分情况是由于用户上次退出Notes时标识符选择了server.id,从而再次启动Notes的 Web浏览器后出现权限不够的提示信息,只要此时选择工具,切换标识符,选择合适的用户标识符,问题即可解决。 
9 如何备份、恢复一个Notes服务器?
有时候,当一个Notes服务器因种种原因崩溃后,系统管理员需要重新生成该服务器,使得新生成的服务器和崩溃掉的服务器发挥同样作用。NOTE4.5中并没有提供一个实用工具实现服务器备份和恢复功能,所以系统管理员只能手工备份和恢复服务器。解决该问题的方法是:平时系统管理员手工备份服务器上的重要系统文件和应用数据库文件,重新生成该服务器时,利用备份的系统文件生成一个和原来一样的新服务器,然后重新安装应用系统,就可以实现服务器的恢复。系统管理员平时需要备份的系统文件包括:组织验证者标识符文件Cert.id、组织单元验证者标识符文件、服务器标识符文件Server.id、系统的公用通讯录文件names.nsf、系统管理员的用户标识符文件user.id、各个用户的标识符文件和邮箱文件、desktop.dsk、cache.dsk文件。以上这些文件通常都位于notesdata文件夹中。当第一次启动重新安装的服务器时,在“服务器设置”窗口中单击“高级选项”,出现“高级选项”窗口,在该窗口中,选掉“生成组织验证者标识符”、“生成服务器标识符”、“生成系统管理员用户标识符”,然后按“确定”按钮,关闭该窗口,继续服务器的设置过程。在接下来的设置过程中,系统会询问组织验证者标识符文件名、服务器标识符文件名和系统管理员用户标识符文件名,分别选择原服务器的组织验证者标识符文件、服务器标识符文件和系统管理员用户标识符的备份即可。当服务器设置完成后,用原服务器的公用通讯录文件、desktop.dsk、cache.dsk覆盖掉新服务器的同名文件,拷贝原服务器各个用户的邮箱文件的备份至新服务器相应的同名目录中,最后再拷贝原服务器上的应用系统文件的备份至新服务器相应的同名目录中。重新启动服务器即可。 
10 何通过软盘实现用户邮箱数据库文件的复制?
通过电话线远程安装设置Notes客户机效率很低,通常至少需要半个小时,主要原因在于在安装设置Notes客户机的过程中,系统需要通过电话线在本地客户机上建立该用户邮箱文件复本,这一过程很耗时且容易失败。实际上,可以先在其他Notes客户机上建立远程用户邮箱文件的复本,当然这个Notes客户机最好通过局域网和服务器相连,然后把该复本直接拷贝到远程Notes客户机上即可。 
11 如何实现NOTES客户机启动后,自动打开某一数据库?
启动Notes客户机,选择“文件”——“工具”——“用户惯用选项”菜单命令,打开“用户惯用选项”窗口,单击“启动选项”按钮,选择启动NOTES后需要自动打开的文档数据库名,单击“确定”按钮即可. 
12 如何实现Notes客户机启动时进行场所选择?
启动Notes客户机,选择“文件”——“工具”——“用户惯用选项”菜单命令,打开“用户惯用选项”窗口,选择窗口左边的“基本”图标,在“启动选项”中选中“提示选择场所”。这样,当Notes客户机启动时,会出现一个对话框,要求用户选择“场所”。 
13 如何快速删除Notes文档?
在NOTES中删除文档时,系统并不把文档马上删掉,通常先打上删除标记,在用户退出客户端时询问用户是否将文档永久删除,用户可以选择是否真的删除。这类似于win95中的回收站,可防止文档的误删除,但同时也给用户带来了不便,为了快速删除文档,可在打上标记后按F9键刷新,或者直接用剪切功能将文档直接删除。
14 如何同时访问多个通讯录地址?
如果你有多个通讯录数据库(names1.nsf,names2.nsf,names3.nsf),需要在发送邮件时可以同时选择不同通讯录中的用户,只需要修改notes.ini即可。
Names=names1.nsf,names2.nsf,names3.nsf
注:如果修改服务器上的notes.ini就可以供所有人选择使用,如果修改工作站的notes.ini仅能本地数据库使用。
15 安装Notes过程中必需的条件之一
在Windows 95/98系统下,根目录上的文件autoexec.bat和config.sys文件显得没什么作用,但是在安装Notes时,必须安装autoexec.bat文件,并指出Windows 95/98的工作路径,如:c:windows,否则,Notes系统不能安装。
16 关于QNC.EXE错误信息及其解决办法
在notes运行过程中,有时出现有下列提示的错误信息而退到DOS状态:
Aapplication error occurred in the program Unknown crash information will be saved to the file NOTES.RIP in C: otesdata Please report this crash to the vendor of the faulting application
解决的方法是:在c: otes目录下,运行qnc -u命令,再启动机器,以后就不会出现以上错误信息。其实这是 Notes的内存保护性措施,及时删除了Notes的文件也会显示,并显示找不到文件。因此需要修改注册表,把键名删除或其键值改掉即可。
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionAeDebug]
"Debugger"="c:notesqnc.exe -p %ld -e %ld -g" 
如果不喜欢它可以在DOS下(或WINDOWS的“运行”中)键入qnc –u,系统提示:
使其不再运行。以后就不会出现以上错误信息。 如果你觉得还有必要的话可以再用qnc -i装载它。
17 将隐藏的数据库设计恢复
步骤如下:
17.1 新建一个空白数据库new.nsf,具有设计权限。
17.2 在Lotus Domino Designer中假装修改设计,使其在左边工具栏中留下快捷设计按钮。
17.3 退出所有Lotus Domino/Notes程序,在资源管理器中将new.nsf删除或重新命名,再将隐藏的数据库名称命名为new.nsf.
17.4 进入Lotus Domino Designer,发现new.nsf的快捷设计按钮还存在,进入即可修改new.nsf。但此时的new.nsf是已经隐藏设计的数据库文件了。
17.5 这个方法仅能恢复自己隐藏的设计,如果要恢复别人隐藏的设计需要注册同名同姓的ID,并且组织名称也要相同。
18 如何防止用户删除文档?
为了防止用户删除特定的文档,我们可以使用QueryDocumentDelete。
例如, 在文档中设定一个状态域 UnProcessed, 以下代码可以完成这个功能:
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim coll As NotesDocumentCollection
Set coll = Source.Documents
Dim doc As NotesDocument
Set doc = coll.getFirstDocument()
While Not doc Is Nothing
If doc.UnProcessed(0) <> "" Then
Msgbox "You are not allowed to delete Unprocessed documents"
Continue = False
Exit Sub
End If
Set doc = coll.getNextDocument(doc)
Wend
Continue = True
Exit Sub
End Sub
19 如何判断RTF域为空?
假设有一个RTF域body ,是不可以用body=""来判断为空的,可以用以下程序来判断其是否为空。
首先定义:
Const lsERR_LSXUI_UNKNOWN_PROP = 4400 
Const lsERR_LSXUI_INVALID_ARGS = 4401 
Const lsERR_LSXUI_NO_WORKSPACE_WND = 4402 
Const lsERR_LSXUI_NO_DATABASE_WND = 4403 
Const lsERR_LSXUI_LSBE_DB_CREATE = 4404 
Const lsERR_LSXUI_NO_DOCUMENT_WND = 4405 
Const lsERR_LSXUI_LSBE_DOC_CREATE = 4406 
Const lsERR_LSXUI_DOC_CMD_NOT_AVAILABLE = 4407 
Const lsERR_LSXUI_FIELD_CMD_NOT_AVAILABLE = 4408 
Const lsERR_LSXUI_CMD_NOT_AVAILABLE = 4409 
Const lsERR_LSXUI_DOC_OBJ_NOT_VALID = 4410 
Const lsERR_LSXUI_DOC_SAVE_CANCELLED = 4411 
Const lsERR_LSXUI_NOTES_ERROR = 4412 
Const lsERR_LSXUI_INVALID_LSX = 4413 
Const lsERR_LSXUI_INVALID_STR_ARG = 4414 
Const lsERR_LSXUI_INVALID_NULL_ARG = 4415 
Const lsERR_LSXUI_NO_NOTE = 4416 
Const lsERR_LSXUI_MODALEDIT_DIALOGUP = 4417 
Const lsERR_LSXUI_QUERY_OPEN = 4418 
Const lsERR_LSXUI_INVALID_OBJ_ARG = 4419 
然后,在你的脚本中添加下面的程序
On Error Goto label1 
Dim ws As New notesuiworkspace
Dim uidoc As notesuidocument
Set uidoc=ws.currentdocument
Call uidoc.gotofield("body")
Call uidoc.selectall
Call uidoc.deselectall
Exit Sub
label1:
Messagebox("RTF IS NULL!")
Exit Sub
20 安装时的问题
若在某台安装了KILL杀病毒软件的机器上安装NOTES时,有时会出现“不能改变文件属性”的出错提示而退出,此时只要将驻留的KILL监控程序关掉,即可以顺利过关。 
posted @ 2008-11-21 23:31 hannover 阅读(101) 评论(0) 编辑
目前人民银行系统内部使用的是Lotus Domino邮件系统,此系统是一个很好的群件工作平台,它有很好的电子邮件系统,领先的全文检索和复制功能。它还具有极强的安全措施,可以可靠地保证信息安全性,具有系统管理方便、使用简单的优点。笔者在使用过程遇到一些问题,取得了一些经验,介绍如下,供同仁参考。

一、在一台计算机装多个ID 的LOTUS

如果是多个用户使用同一台机器收发各自邮件可采用以下方法:

1、首先进行工作场所的设置:任选一个除办公室外的工作场所(因为办公室场所默认为第一个安装用户所用)
(1)基本页面:改场所类型为“局域网”,场所名称可以由用户自行设定,这个名称将显示在右下角的场所列表中。
(2)服务器页面:宿主/邮件服务器填写你的邮件服务器名称。
(3)端口页面:使用的端口选择TCP/IP、LAN0
(4)邮件页面:邮件文件位置选择“在服务器”;邮件文件填写第二用户的邮件文件位置(如mail1aaa.nsf);Notes邮件网络域填写公司的网络域名程;收件人姓名自动查找选择“先本地后服务器”;发送外出邮件选择“通过Domino服务器”

2、当第一次打开邮箱时,系统要求输入最后一次使用NOTES的用户的密码,如果为当前用户可直接输入密码进入邮箱,否则请连续点击密码输入窗的“取消”按钮,在弹出的选择到切换到的标识符窗口中选择第二用户的ID文件,打开后输入密码,进入欢迎页面,之后在右下角的场所列表中,选择第二用户的工作场所,邮件箱即可打开。如果NOTES已打开的状态下切换用户,请首先切换用户ID,之后到Lotus的右下角场所选择框中直接选择该用户的工作场所即可。注意:用户的ID和他的工作场所一定要配套使用,否则会出现无法转发邮件等问题。

二、服务器的Mail.box文件被破坏的解决方法

如果收发服务器上的邮箱(Mail.box)被破坏,运行Fixup服务器程序,如果这不能解决问题,可以压缩Mail.box,如果仍然有问题,执行下面的步骤:

1、关闭Lotus Domino服务。
2、重新将notesdata目录下的Mail.box文件更名,如可以把它改为Mail_old.box。
3、重新启动Lotus Domino服务,服务器会自动生成一个新的Mail.box文件。
4、从Mail_old.box中将未被破坏的文档拷贝到新生成的Mail.box中。

三、删除已经发出去的邮件

有时在给多个用户发邮件时,由于工作失误,将邮件发错,想删除发给这些用户的邮件,请立即与邮件管理员联系,因为所用用户发出的邮件都要放在一个外出邮箱mail.box中,如果此时发出的邮件在mail.box中没有发出,可请管理员将此mail.box中的邮件直接删除(注意:在使用此方法时,用户要快速与邮件管理员联系,否则邮件会从mial.box中发出),如果此邮件已经从mail.box中发出,则只能通过管理员在服务器端打开所有收到此邮件的邮箱,并一个一个删除,这种方法只对本单们内的用户邮箱进行删除。

四、设置邮箱的大小,当超过邮箱大小时能够报警

由于服务器硬盘空间是有限的,并且在用户邮箱大太时,会使服务器工作在超负荷状态下,为了更加合理的使用Lotus Notes系统,对每个用户邮箱进行大小设置以防止数据库无限制的膨胀,对用户邮箱的大小设置可以采用下面的操作:

(1)单击“文件”菜单,选择“文件”,选择“服务器管理…”,选择要管理的服务器,单击右边的“数据库工具”按钮,输入用户的口令。
(2)在数据库下拉列表中选择“mail”,然后双击要设置用户邮箱,单击“工具”下拉列表,单击“详细信息…”按钮进行,可以查看数据库的当前限额信息。
(3)选中“限额”,输入“500000”Kb,在“警告阈值”下选中“超过”,输入“450000”Kb时警告,单击“更新”按钮,显示“已处理56个数据库,有0个错误”表示设置成功。当然可以在数据库下拉列表中同时选中多个邮箱,然后再进行上面的限额操作,对多个用户邮箱进行限额。

五、把一个Domino服务器移动到另外的机器上

有时为了提高硬件性能,需把一个Domino服务器移动到另外的新机器上 使用以下的方法可以在不影响Domino用户的前提下,移动一个已有的Domino服务器到一个新的机器上。此方法的基本思想是:在新的机器上安装相同版本的Domino服务器,但是不要配置它,然后,从旧的机器上把数据目录和ini文件移植上去。
1、备份原服务器上的邮件系统
将原服务器的上Domino系统备份是相当必要的,以防在发生意外。备份的内容包括:(1)Domino系统目录下的所有文件夹及文件,即 otes,(2)Lotus.ini和Notes.ini文件。此文件可能在Domino系统目录下,如果Domino系统目录下没有,那就在操作系统的系统目录下,例如,如果是Windows NT和Windows 2000 Server操作系统,就是Winnt文件夹下。(3)hosts文件。此文件一般在Winntsystem32driversetc文件夹下,此文件是一个纯文本的文件,用普通的文本编辑软件如记事本等都能打开。它的作用是包含IP地址和Host name(主机名)的映射关系,对于Lotus的服务器和一些数据库服务器,在访问时如果直接输入IP地址那是不能访问的,只能输入服务器名才能访问,所以hosts文件对Domino是非常重要的。

2、在新服务器安装操作系统并配置网络

在新服务器上安装操作系统,同时进行网络配置,网络配置的IP地址要各原服务器的IP地址一样(安装操作系统过程及网络配置可以参考有关书籍),这时可以将原服务器从局域网断开。将配份的hosts文件拷贝到新服务器中的winnt system32driversetc文件夹下。

3、在新服务器上安装Domino系统

在新服务器上直接安装Domino系统,将Domino系统光盘放入直接安装Domino服务器(安装过程在此省略),注意安装完成后,不以进行配置。

4、移动备份的数据

将第1步中备份的Domino系统目录中的数据目录 otesdata文件夹中的所有内容拷贝到新服务器的相应目录下,另外将Lotus.ini和Notes.ini文件文件要拷贝到相应的目录下。如果在新的机器上的数据目录的路径和旧的不同,需要修改在notes.ini的文件中的 “directory= ”行的内容,以定义在新机器上的正确的数据目录的位置。

六、在已安装过Notes客户端的机器上重新连接到新邮件服务器

首先需要利用新建的服务器生成一个新的用户ID文件,并删除原ID文件。为了在客户端不重新安装Notes,需要重新设置客户端如下:

(1)在Windos目录下或在Notes系统目录下找到Notes.ini文件,然后使用在文本编辑器中打开Notes.ini文件,保留该文件中的前六行内容,其余内容全部删除,保存Notes.ini文件并退出。
(2)删除c: otesdata系统目录下的desktop.dsk、log.nsf和names.nsf文件。
(3)启动Notes程序,系统会自动执行安装程序,提示使用新的ID文件,这时使用新ID文件进行简单的设置,然后就可以连接到新服务器上,以后可以建立新的个人通讯录、群组等。
posted @ 2008-11-21 23:30 hannover 阅读(300) 评论(0) 编辑

IBM公司计划在本周五,发布其下一个版本的Lotus Notes平台及Domino应用软件。

据悉,周五所发布的一系列新软件仅是电子版本,具体的软件包及相关文件将在9月21日面市。新的Lotus Notes和Domino 8基于Eclipse开放源代码软件构架,并且围绕新的Expeditor平台展开,新的Expeditor平台可确保Windows、Linux以及 Mac等所有平台上的开发者,使用客户端创建基于Eclipse的软件代码。

Lotus Notes和Domino 8可提供一个高性能工作环境,并能够本地链接到其它Lotus软件组件,如社会性软件、协作内容管理、以及统一通信与协作。该版本支持开发人员构建全新级别的Web 2。0解决方案,并可充分利用IBM Research带来的最新技术。

与此同时,还附带了标准的字处理软件,电子表格以及介绍应用软件,这些都支持IBM公司SmartSuite软件的OpenDocument格式。在这些软件里面,包括了拼写检查和日历以及联系管理软件等等。

posted @ 2008-11-21 23:28 hannover 阅读(39) 评论(0) 编辑
课程 10:其他动作和连接

  在 Lotus Notes 视图上定义动作

  按照以下步骤为一个 NSF 组件动作定义逻辑:

  在 Lotus Domino Designer V8 中,打开 NDForum.nsf。这个 Lotus Notes 应用程序的标题是 Notes/Domino 6 and 7 Forum。

  如果需要,通过在设计面板中选择 Views,切换到 Views 列表。

  选择 “2. AuthorThreaded view” 视图并按 Enter 以设计模式打开它。如果单击 Refresh 图标,屏幕应该像图 46 这样。

  图 46. Lotus Domino Designer V8 中的 “2. AuthorThreaded” 视图

  p46

  选择 Create - Action - Action 在这个视图中添加一个新动作。动作面板打开,显示新动作的属性框,见图 47。

  在属性框的第一个附签上,在 Name 字段中输入 “SelectSubCategory”。

  图 47. 动作属性框的基本附签

  p47

  取消 “Include action in Action bar” 和 “Include action in Action menu” 选项。

  在属性框的最后一个附签上,在底部的 Composite Settings Action Name 列表中选择 actSelectTopic,见图 48。

  图 48. 动作属性框的高级附签

  p48

  关闭属性框。

  在右上方的动作面板中单击刚才创建的动作 SelectSubCategory。

  在 Lotus Domino Designer Programmers 面板中,为这个动作选择 Client 和 LotusScript 选项。Client 选项可能已经选择了。这个面板应该像图 49 这样。

  图 49. SelectSubCategory 动作的 Click 子例程

  p49

  在 Click 子例程中输入清单 2 所示的 LotusScript 代码。SelectSubCategory_Action_for_NDForum.txt 文件中提供了源代码。可以将代码粘贴到 Click 子例程中。

  注意:这个动作脚本创建 NotesPropertyBroker 类的一个新对象,并使用另一个组件发布的属性将视图选择改为所选用户的子类别。

  清单 2. SelectSubCategory 动作的 Click 子例程代码

  biao

  选择 File - Save 保存修改。

  选择 File - Close 退出设计模式。

  对属性和动作进行连接

  按照以下步骤在 Tag Cloud 和 NDForum 组件之间建立事件/动作关系:

  在 Lotus Notes V8 中,选择 File - Open - Lotus Notes Application 打开 Customer Interests 复合应用程序。

  选择 Actions - Edit Application 打开 CAE 特性。

  在导航器面板中选择 Tag Cloud 组件,然后右键单击并选择 Wiring。如图 50 所示,连接界面出现,其中将 Tag Cloud 组件作为源组件。

  图 50. 连接界面显示当前复合应用程序页面上的组件

  p51

  在 Tag Cloud Eclipse 组件的 Focused Entity 属性和 NDForum.nsf 组件的 “Select Topic for User action” 动作之间创建一个连接,见图 51。

  图 51. 将属性连接到动作

  p52

  单击 OK 确认连接更新并关闭连接面板。

  选择 File - Finish Editing 确认对复合应用程序的修改。

  在确认对话框中单击 Yes。在关闭 Composite Application Editor 之后,显示更新后的复合应用程序,见图 52。

  图 52. Lotus Notes V8 中完成后的复合应用程序

  p53

  为了观察更新连接的结果,首先在 Lotus Notes Contacts 组件中选择一行 ,然后在 Tag Cloud 组件中选择一个主题。来自 NDForum 应用程序的 NSF 组件会执行定义的逻辑,将行选择改为与所选用户和主题匹配的子类别。

  在这个课程中,我们在作为 NSF 组件使用的 Lotus Notes 视图上添加了一个动作。还将这个动作与 Eclipse 组件发布的一个属性连接起来,实现了组件间通信。

  结束语

  本教程的所有课程结束了,您已经看到了复合应用程序和组件间通信如何跨应用程序和系统边界工作,从而提供一个单一的协作环境,提高用户和组织的工作效率。

  我们使用 Lotus Notes V8 客户机的 Composite Application Editor 特性开发了一个基于 NSF 的复合应用程序。这个程序包含可重用的 NSF 组件和 Eclipse 组件,这些组件通过连接形成松散耦合的事件/动作关系。还使用 Lotus Domino Designer V8 扩展了现有的 NSF 设计元素,提供属性和动作来支持组件间通信。

posted @ 2008-11-21 23:25 hannover 阅读(25) 评论(0) 编辑
课程 9:在复合应用程序中连接 Eclipse 和 NSF 组件

  在复合应用程序中连接组件

  按照以下步骤在复合应用程序中的 NSF 和 Eclipse 组件之间建立事件/动作关系:

  在 Composite Application Editor 的导航页面中选择 “NDForum - Author Threaded View” 组件,然后右键单击并选择 Wiring。如图 42 所示,连接面板出现,其中将 NDForum 作为源组件并列出了它的惟一属性。Lotus Notes Contacts View 组件没有动作,Tag Cloud 有六个动作与 NDForum 组件的属性具有相同的名称空间和数据类型。

  图 42. 连接界面显示当前复合应用程序页面上的组件

  p42

  将 “ND Forum – Author Threaded View” 组件的 Publish Topics 属性连接到 Tag Cloud 组件的 Primary Data 动作,见图 43。

  图 43. 将属性连接到动作

  p43

  屏幕上会显示 Publish Topics 属性和 Primary Data 动作之间的连接,见图 44。

  图 44. 连接界面显示属性和它连接的动作

  p44

  单击 OK 确认连接更新并关闭面板。

  选择 File - Finish Editing 确认对复合应用程序的修改。

  一个确认对话框出现。单击 Yes。在关闭 Composite Application Editor 之后,显示更新后的复合应用程序,见图 45。

  图 45. Lotus Notes V8 中更新连接之后的复合应用程序

  p45

  提示:可以调整复合应用程序中组件的大小。

  为了观察通过连接创建的新的事件/动作关系,在 Lotus Notes Contacts View 组件中选择一个文档。这个组件会发布一个属性,NDForum 组件中的选择就会改变。NDForum 组件也会发布一个属性;如果新选择的行是 Lotus Notes 视图中的顶级类别,就会触发这个属性。我们将这个属性连接到 Tag Cloud 组件,它的动作根据 NDForum 组件的内容显示所选用户的子类别列表。

  在这个课程中,我们通过 Lotus Notes V8 客户机的 Composite Application Editor 特性,在 NDForum 应用程序中的 NSF 组件和 Tag Cloud 应用程序中的 Eclipse 组件之间添加了一个连接。前面已经在 Profiles 应用程序和 NDForum 应用程序中的 NSF 组件之间定义了连接,现在在复合应用程序中有了两个连接。

posted @ 2008-11-21 23:06 hannover 阅读(10) 评论(0) 编辑
课程 8:在复合应用程序中添加 Eclipse 组件

  在复合应用程序中添加 Eclipse 组件

  按照以下步骤在组件面板中添加 Eclipse 组件:

  在 Lotus Notes V8 中,打开前面创建的基于 NSF 的复合应用程序 Customer Interests。

  选择 Actions - Edit Application 打开 Composite Application Editor。

  如果需要,展开 Composite Application Editor 的组件面板。

  在组件面板中右键单击,然后选择 Add Components - "Add Components from Update Site"。

  在出现的对话框中,选择 Remote Update Site 并在 URL 字段中输入 nrpc://localhost/8025731000495E97/site.xml,见图 37。

  图 37. 输入 URL 之后的 Update Site Details 对话框

  输入 URL 之后的 Update Site Details 对话框

  这是 TC_US_8.NSF 的副本 ID,它基于 Domino V8 更新站点模板。

  提示:还可以在 Lotus Notes V8 客户机中打开 TC_US_8.NSF,然后选择 Actions - Show URL。单击 “Copy in the resulting dialog box” 按钮将 URL 复制到剪贴板。可以将这个 URL 粘贴到 Update Site Details 对话框中。

  单击 OK。“Select Components from an Update Site” 对话框出现,见图 38。

  图 38. “Select Components from an Update Site” 对话框

  ‘Select Components from an Update Site’ 对话框

  选择 Tag Cloud 组件,然后单击 OK。如图 39 所示,组件面板中列出了 Tag Cloud 组件。

  图 39. 组件面板包含刚添加的 Tag Cloud 组件

  组件面板包含刚添加的 Tag Cloud 组件

  在组件面板中选择 Tag Cloud 组件,将它拖到复合应用程序的右上方。插件安装对话框出现,见图 40。

  图 40. 插件安装对话框

  插件安装对话框

  选择 “Install this plug-in” 选项,然后单击 OK。一个进度对话框显示安装这个插件的进度。当安装完成时,Restart 对话框出现。

  在提示重新启动时,单击 Yes。

  在重新启动 Lotus Notes V8 客户机之后,打开 Customer Interests 复合应用程序。这个复合应用程序包含在 Eclipse IDE 中开发的基于 Eclipse 的 Tag Cloud 组件,见图 41。

  图 41. Lotus Notes V8 中的复合应用程序现在包含刚添加的 Tag Cloud 组件

  Lotus Notes V8 中的复合应用程序现在包含刚添加的 Tag Cloud 组件

  在这个课程中,我们通过 Lotus Notes V8 客户机的 Composite Application Editor 特性,在基于 NSF 的复合应用程序中添加了一个基于 Eclipse 的组件。

posted @ 2008-11-21 23:04 hannover 阅读(21) 评论(0) 编辑
课程 7:使用 LotusScript API 发布属性

  在 NSF 组件上定义其他动作

  按照以下步骤为 NSF 组件定义动作代码:

  在 Lotus Domino Designer V8 中,打开 NDForum.nsf。这个 Lotus Notes 应用程序的标题是 Notes/Domino 6 and 7 Forum。

  如果需要,通过在设计面板中选择 Views,切换到 Views 列表。

  选择 “2. AuthorThreaded view” 并按 Enter 以设计模式打开它。屏幕应该像图 35 这样。

  图 35. 在 Lotus Domino Designer V8 中刷新之后的 “2. AuthorThreaded” 视图

  p35

  选择 Objects 附签。

  找到并展开 “2. AuthorThreaded (View)”。

  选择 Onselect 事件。

  删除 Onselect 子例程开头的 %REM 语句和末尾的 %END REM 语句。Onselect 子例程应该与图 6 所示的代码相同。

  图 36. 删除 %REM 和 %END REM 语句之后的 Onselect 子例程

  p36

  Onselect 和 Globals 事件处理函数中的 LotusScript 语句和子例程判断当前所选用户的子类别,并计算每个子类别的文档数。这个信息作为属性发布,这个属性可以连接到其他组件。

  提示:Onselect 事件处理函数的最后一个语句使用了前面定义的属性名。如果在为 NDForum.nsf 创建 WSDL 文件时使用了别的属性名,就要修改脚本中的属性名。

  保存并关闭。

  在本课程中,我们通过 LotusScript API 在选择视图中的顶级类别时发布一个属性。接下来,我们要在基于 NSF 的复合应用程序中添加一个 Eclipse Tag Cloud 组件。Tag Cloud 组件已经定义了动作和属性,所以很容易在它和其他组件之间建立事件/动作关系。

posted @ 2008-11-21 23:01 hannover 阅读(14) 评论(0) 编辑
课程 6:在复合应用程序中连接组件

  将组件连接成事件/动作关系

  按照以下步骤在组件之间建立事件/动作关系:

  在 Lotus Notes V8 中,选择 File - Open - Lotus Notes Application 打开前面修改的 Customer Interests 复合应用程序。这个复合应用程序出现,显示前面添加的两个组件。

  在菜单中,选择 Actions - Edit Application 启动 Composite Application Editor 特性。

  在左边的导航器中选择 Notes Contacts View,然后右键单击并选择 Wiring。这会打开连接面板并使 Notes Contacts View 成为源组件,所以可以将它的属性连接到其他组件的动作。Composite Application Editor 连接界面出现,见图 31。

  图 31. 连接界面显示当前复合应用程序页面上的组件

  p32

  连接界面显示源组件的属性和同一页面上任何其他组件的动作。当选择源组件中的任何属性时,那些名称空间和数据类型匹配的动作就会突出显示,表示可以进行连接,见图 31。

  在 Notes Contacts View 组件(这个组件的标签是 Source)中选择 Common name changed 属性。

  拖放到 “NDForum – Author Threaded View” 组件中列出的 “Select User By Name” 动作。

  注意:如图 32 所示,在从所选的属性进行拖放时,会显示一个蓝色的箭头。

  图 32. 将属性连接到动作

  p32

  如图 33 所示,一条虚线表示属性和动作之间的连接。

  图 33. 连接界面显示属性和它连接的动作

  p33

  单击 OK 保存连接定义并关闭连接界面。

  注意:Lotus Notes ECL 特性会导致 Execution Security Alert 对话框出现,提示您一个由 Lukas Geiger/ZetaBank 签字的应用程序试图执行一个操作。这是 Lotus Notes 客户机的一个特性。可以选择 “Start trusting the signer” 选项来取消这个警告。还提示您创建一个针对 /ZetaBank 组织的证书。可能需要关闭并重新打开应用程序。

  选择 File - Finished Editing 并单击 Yes 关闭 Composite Application Editor 特性。这会关闭 Composite Application Editor 并在 Lotus Notes V8 客户机中显示更新后的复合应用程序。

  提示:选择 Show - Preview on Side 改变预览面板在 Lotus Notes Contact 组件中的位置,见图 34。

  图 34. Lotus Notes V8 中的复合应用程序,Lotus Notes Contacts View 采用垂直的预览面板

  p34

  为了观察连接的结果,在 Lotus Notes Contacts View 组件中选择一行。来自 NDForum 应用程序的 NSF 组件会对此做出反应,将行选择改为匹配的用户名。在执行每次行选择时,都会从 Lotus Notes Contacts View 组件发布属性。这会触发连接到这个属性的动作,执行定义的逻辑,将行选择改为匹配的用户名。

  在这个课程中,我们使用 Composite Application Editor 特性将属性和一个或多个动作连接起来,从而将两个 NSF 组件连接成事件/动作关系。在前面,使用 Lotus Domino Designer V8 指定了发布的属性和 NSF 组件执行的动作,现在它们联系起来了。

posted @ 2008-11-21 22:57 hannover 阅读(22) 评论(0) 编辑
课程 5:在复合应用程序中添加 NSF 组件

  使用 Composite Application Editor 组装复合应用程序

  按照以下步骤打开 Composite Application Editor:

  在 Lotus Notes V8 中,选择 File - Open - Lotus Notes Application 打开前一个课程中创建的 Customer Interests 复合应用程序。

  在菜单中,选择 Actions - Edit Application。Composite Application Editor 在一个新窗口中出现,见图 19。

  图 19. Lotus Notes V8 的 Composite Application Editor 特性,编辑刚才创建的基于 NSF 的复合应用程序

  p19

  在 Navigator 面板中,右键单击 Blank Page 页面并从右键单击出现的菜单中选择 Rename。

  将名称改为 Customer Interests,然后按 Enter 接受新的页面名称。

  注意:这个新的字符串作为页面名称出现在 Composite Application Editor 中。当在 Lotus Notes V8 客户机中打开这个复合应用程序时,这个字符串还作为窗口附签的标题。

  在 Composite Application Editor 组件面板中添加组件

  按照以下步骤在 Composite Application Editor 特性的组件面板中添加组件:

  展开右边的 Component Palette。

  选择 Component Palette 标签右边的控件。

  选择 Set Palette Pin 选项将这个面板固定住。

  将鼠标放到 General 文件夹下面,然后右键单击并选择 Add Components - Add NSF Component。New NSF Component 对话框出现,见图 20。

  图 20. Composite Application Editor 特性的 New NSF Component 对话框

  p20

  在 New NSF Component 对话框中,输入以下值:

  在 Component Name 字段中输入 “NDForum - Author Threaded View”。

  在 Component Description 字段中输入 “NDForum - Author Threaded View”。

  在对话框中,单击 Browse 按钮,然后从 Notes/Domino 6 and 7 Forum 应用程序中选择视图 “2. Author Threaded”。文件名是 NDForum.nsf。结果应该像图 21 这样。

  图 21. Locate Object 对话框

  p21

  单击 OK 确认这些设置。

  注意:这些选择会填充 New NSF Component 对话框中的 Notes URL 字段。

  在 Lotus Notes URL 后面加上 &HideNavigator。这会防止为这个组件显示 Lotus Notes 导航面板,并将整个组件显示区域设置为 Lotus Notes 视图面板。结果应该像图 22 这样。注意,这里使用了副本 ID。

  图 22. 进行输入和选择之后的 New NSF Component 对话框

  p22

  单击 OK 将这个 NSF 组件添加到组件面板中。组件面板中会出现这个组件,见图 23。

  图 23. 组件面板中出现刚才添加的组件

  p23

  注意:刚才添加的组件列在组件面板的 General 类别中。可以在组件面板中创建新的类别。

  提示:可以修改列出的组件的属性。方法是在面板中选择一个组件,然后右键单击并选择 Advanced Component Properties。例如,如果忘了在 Notes URL 后面加上 &HideNavigator,可以通过这些步骤来修改。

  通过拖放定义显示组件的位置

  按照以下步骤在复合应用程序中添加组件:

  在右边的组件面板的 PIM 类别中选择 Notes Contacts View,见图 24。PIM 组件为当前的 Lotus Notes V8 用户提供 Lotus Notes Mail、Calendar、To do 和 Contacts 应用程序。

  图 24. 在组件面板中选择 Notes Contacts View 组件

  p24

  将这个组件从组件面板拖到 Blank Application 区域的中央。这个 PIM 组件出现在复合应用程序中,它显示 Lotus Notes Contacts(以前称为 Personal Name and Address Book)应用程序的内容,见图 25。

  图 25. 在 Composite Application Editor 特性中显示的 Lotus Notes Contacts 应用程序内容

  p25

  因为这个应用程序要使用 Lukas Geiger 8.0 Contacts 应用程序(LGContacts.NSF),而不是当前用户的 Lotus Notes Contacts 应用程序,所以需要按照以下步骤修改添加的组件的属性。

  在 Composite Application Editor 的导航器中选择添加的 Notes Contact 视图组件。

  右键单击并选择 Edit Component Properties。

  在 Edit Component Properties 对话框(见图 26)中,单击 Advanced 按钮。

  图 26. Edit Component Properties 对话框

  p26

  在 Advanced Component Properties 对话框(见图 27)中,选择显示 Lotus Notes URL 的行,然后单击 Edit 按钮。

  图 27. 在 Advanced Component Properties 对话框中选择组件属性

  p27

  将特殊值 0000000000000E01 替换为 Lukas Geiger 8.0 Contacts 应用程序(LGContact.NSF)的副本 ID,8025730C005D48AF。

  按 Tab 键或者单击对话框中的其他地方来完成编辑。

  单击 OK 关闭 Advanced Component Properties 对话框。

  单击 OK 关闭 Edit Component Properties 对话框。

  将 ND Forum - Author Threaded View 组件从组件面板拖到中央区域的下半部。可以看到鼠标指针变成了箭头形式,见图 28。

  图 28. 鼠标指针指出组件在复合应用程序中的位置

  p28

  Composite Application Editor 显示添加的组件,见图 29。

  图 29. 添加第二个组件之后的复合应用程序

  p29

  选择 File - Finished Editing 关闭 Composite Application Editor 并保存修改。

  当出现提示时,单击 Yes 保存在 Composite Application Editor 对话框中所做的修改。Composite Application Editor 关闭,复合应用程序显示在 Lotus Notes V8 客户机中,见图 30。目前,在这个复合应用程序中还没有组件间通信,在下一个课程中将添加这个功能。

  图 30. Lotus Notes V8 中更新后的复合应用程序

  p30

  现在已经使用 Lotus Notes V8 客户机的 Composite Application Editor 特性组装了一个基于 NSF 的复合应用程序。在这个课程中,我们添加了 NSF 组件。在后面的课程中,将添加 Eclipse 组件,并观察 Lotus Notes V8 客户机中的复合应用程序如何包含用不同技术构建的组件。在下一个课程中,我们要将两个 NSF 组件连接在一起,形成事件/动作关系。

posted @ 2008-11-21 22:55 hannover 阅读(18) 评论(0) 编辑
课程 4:组装基于 NSF 的复合应用程序

  创建基于 NSF 的复合应用程序

  按照以下步骤添加动作,创建一个新的基于 NSF 的复合应用程序:

  在 Lotus Notes V8 中,通过 Open 列表打开 Workspace。选择 Open - Applications - Workspace,这样就可以从 Lotus Notes 的工作空间访问应用程序的属性。

  在菜单中,选择 File - Application - New。New Application 对话框打开。

  保留 Server 字段值 Local。

  在 Title 字段中输入 “Customer Interests”。

  在 File Name 字段中输入 “CustomerInterests.nsf”。

  在 Template 字段中选择 -Blank Composite Application-。对话框应该像图 16 这样。

  图 16. New Application 对话框

  p16

  单击 OK 关闭对话框并创建新的数据库。创建新的 Lotus Notes 应用程序,并显示一个灰色的空窗口,见图 17。

  图 17. 进行编辑之前的基于 NSF 的复合应用程序

  p17

  注意:新创建的基于 NSF 的复合应用程序使用一个新的数据库启动(launch)属性。对于用这个模板创建的任何 NSF,应该将对话框中的第一个选项 “When opened in the Notes client” 设置为 “Launch as Composite Application”,见图 18。打开 Lotus Notes 工作空间,然后访问应用程序属性,就可以看到这个属性。访问 Lotus Notes 工作空间的方法是,使用 Open 列表选择 Applications,然后选择 Workspace。

  图 18. 数据库属性框的 Launch 附签

  p18

  现在已经创建了一个基于 NSF 的复合应用程序。它将 XML 存储在 Lotus Notes 应用程序设计元素中。Lotus Notes V8 客户机使用 launch 属性和 XML 向用户显示这个复合应用程序。这个基于 NSF 的复合应用程序可以驻留在 Lotus Domino 服务器上,也可以复制到本地。

  在后面的课程中,我们使用 Composite Application Editor(CAE)特性指定 XML,并将 NSF 组件和 Eclipse 组件组装成复合应用程序。还要使用 CAE 将属性和动作连接起来,让组件形成松散的事件/动作关系。

posted @ 2008-11-21 22:53 hannover 阅读(18) 评论(0) 编辑
课程 3:为组件间通信定义 Lotus Notes 动作

  在 Lotus Notes 视图上定义动作

  按照以下步骤定义与 NSF 组件相关联的逻辑:

  在 Lotus Domino Designer V8 中,打开 NDForum.nsf。

  如果需要,通过在设计面板中选择 Views,切换到视图列表。

  选择 “2. AuthorThreaded view” 并按 Enter 以设计模式打开它。如果单击 Refresh 按钮,就会出现图 12 所示的屏幕。

  图 12. 在 Lotus Domino Designer V8 中刷新之后的 2. AuthorThreaded 视图

  p12

  选择 Create - Action - Action 在这个视图中添加一个新动作。动作面板打开,显示新动作的属性框,见图 13。

  图 13. 动作属性框的基本附签

  p13

  在属性框的第一个附签上,在 Name 字段中输入 “SelectPerson”。

  取消 “Include action in Action bar” 和 “Include action in Action menu” 选项。

  在属性框的最后一个附签上,在 Composite Settings Action Name 列表中选择 actSelectUser,见图 14。这个动作列表来自前面用 Property Broker Editor 特性创建的 WSDL 文件。

  图 14. 动作属性框的高级附签

  p14

  关闭属性框。

  在右上方的 Action 面板中单击刚才创建的动作 SelectPerson。

  注意:如果在表单窗口中没有打开 Action 面板,那么选择 View - Action Pane 打开它,然后选择刚才创建的动作。

  在 Lotus Domino Designer Programmers 面板中,为这个动作选择 Client 和 LotusScript 选项,见图 15。Client 选项可能已经选择了。

  图 15. SelectPerson 动作的 Click 子例程

  p15

  在 Click 子例程中输入清单 1 所示的 LotusScript 代码。SelectPerson_Action_for_NDForum.txt 文件中提供了源代码。可以将代码从这个文件复制到 Click 子例程中。

  注意:这个动作脚本创建 NotesPropertyBroker 类的一个新对象,并使用另一个组件发布的属性将视图选择改为与发布的值匹配的类别。

  清单 1. SelectPerson 动作的 Click 子例程代码

  p16

  保存修改并关闭。

  现在已经在 Lotus Notes 视图中添加了一个动作。在后面使用这个 Lotus Notes 视图作为复合应用程序中的 NSF 组件时,这个组件可以使用它连接到的一个属性,然后执行 LotusScript 代码中定义的动作。

posted @ 2008-11-21 22:51 hannover 阅读(14) 评论(0) 编辑
课程 2:定义发布属性的 Lotus Notes 视图列

  定义发布属性的 Lotus Notes 视图列

  采用以下步骤观察 Lotus Notes 视图列如何发布组件属性:

  在 Lotus Domino Designer V8 中,选择 File - Application - Open,然后从对话框中选择 LGContacts.nsf。这个 Lotus Notes 应用程序的标题是 Lukas Geiger 8.0 Contacts。

  单击设计面板中的 Views,在工作面板中显示视图列表。

  在工作面板中选择 My Contacts,单击 Enter 以设计模式打开这个视图。单击警告对话框中的 OK。

  在视图中,单击第二列(标签是 Name)选择它。

  选择 Design - Column Properties,打开所选列的属性框。

  选择属性框的最后一个附签,注意 Composite Settings Property 列表中选择了 SelectedNameChanged,见图 11。这个选项指定用户选择的行的列值作为属性发布。

  图 11. 列属性框的高级附签

  p11

  关闭属性框。

  选择 File - Close 关闭视图。不要保存无意间所做的修改。

  您已经看到了如何从 Lotus Notes 视图发布属性。在属性框选项中,可以选择 Lotus Notes 应用程序的 WSDL 中定义的任何属性。Lotus Notes Contacts 设计模板(pernames.ntf)包含这个属性和其他属性。在后面的课程中,将使用这个视图作为 NSF 组件,并把它连接到 NDForum 应用程序中的一个 NSF 组件,形成事件/动作关系。

posted @ 2008-11-21 22:47 hannover 阅读(91) 评论(0) 编辑
课程 1:创建 WSDL 文件来支持组件间通信

  创建一个新的 WSDL 文件来支持 NDForum.nsf 中的属性和动作

  按照以下步骤创建一个 WSDL 文件来支持属性和动作:

  在 Lotus Domino Designer 中,选择 File - Application - Open 并从 Notes 应用程序列表中选择 NDForum.nsf。这个应用程序的标题是 Notes/Domino 6 and 7 Forum。

  在左边的设计面板中展开 Composite Applications,然后选择 Wiring Properties。这个工作面板见图 2。

  图 2. Lotus Domino Designer V8 的 Wiring Properties 工作面板

  p2

  单击工作面板顶部的 New Wiring Properties 按钮。这时显示图 3 所示的对话框。

  图 3. 命名和创建新 Wiring Properties 文件的对话框

  p3

  输入 “NDForum” 并单击 OK。工作面板中会列出新的 WSDL 文件 NDForum.wsdl,见图 4。

  图 4. 在 Lotus Domino Designer V8 的工作面板中列出的 Wiring Properties 文件

  p4

  选择这个文件并单击 Open File 按钮。Property Broker Editor 出现。

  如果目前还不处于 Properties 部分中,那么选择 Property Broker Editor 中间的 Properties 附签。

  单击 Add 按钮。

  在右上方的 Property Details 部分中,执行以下操作:

  在 Name 字段中输入 “UserDisplayNamePart”。

  为 Type 字段选择 String。

  在 Title 字段中输入 “User”。

  在 Description 字段中输入 “Display user name”。

  取消 “Allow publishing” 选项。

  Properties 附签应该像图 5 这样。

  图 5. 创建第一个属性时 Lotus Domino Designer V8 的 Property Broker Editor 特性

  p5

  如果需要的话,选择 Property Broker Editor 特性中间的 Properties 附签。

  单击 Add 按钮。

  在右上方的 Property Details 部分中,执行以下操作:

  在 Name 字段中输入 “TopicDisplayNamePart”。

  为 Type 字段选择 String。

  在 Title 字段中输入 “Topic”。

  在 Description 字段中输入 “Display topics (subcategory)”。

  取消 “Allow programmatic publishing” 选项。

  Properties 附签应该像图 6 这样。

  图 6. 创建第二个属性时 Lotus Domino Designer V8 的 Property Broker Editor 特性

  p6

  如果需要的话,选择 Property Broker Editor 特性中间的 Properties 附签。

  单击 Add 按钮。

  在右上方的 Property Details 部分中,执行以下操作:

  在 Name 字段中输入 “propTopicList”。

  为 Type 字段选择 String。

  在 Title 字段中输入 “Publish Topics”。

  在 Description 字段中输入 “Publish topics for selected user”。

  保持 “Allow publishing” 选项。

  Properties 附签应该像图 7 这样。

  图 7. 创建第三个属性时 Lotus Domino Designer V8 的 Property Broker Editor 特性

  p7

  选择 Property Broker Editor 特性中间的 Actions 附签。

  单击 Add 按钮。这个动作用来将 Lotus Notes 视图中的选择改为前面选择的用户的子类别。

  在中间的 Action Details 部分中,执行以下操作:

  在 Name 字段中输入 “actSelectTopic”。

  在 Title 字段中输入 “Select Topic for User”。

  在 Description 字段中输入 “Select subcategory topic for selected user”。

  保持 “Default action if multiple actions match the property” 选项的取消状态。

  在 Action Input Parameter 部分中,从属性列表中选择 “TopicDisplayNamePart”。Actions 附签应该像图 8 这样。

  图 8. 创建一个新动作时 Lotus Domino Designer V8 的 Property Broker Editor 特性

  p8

  如果目前不在 Actions 部分中,那么选择 Property Broker Editor 特性中间的 Actions 附签。

  单击 Add 按钮。这个动作用来将 Lotus Notes 视图中的选择改为与所选用户名匹配的类别。

  在中间的 Action Details 部分中,执行以下操作:

  在 Name 字段中输入 “actSelectUser”。

  在 Title 字段中输入 “Select User By Name”。

  在 Description 字段中输入 “Select user by name in Notes view”。

  保持 “Default action if multiple actions match the property” 选项的取消状态。

  在 Action Input Parameter 部分中,从属性列表中选择 “UserDisplayNamePart”。Actions 附签应该像图 9 这样。

  图 9. 创建一个新动作时 Lotus Domino Designer V8 的 Property Broker Editor 特性

  p9

  从 Property Broker Editor 菜单选择 File - Save。

  从 Property Broker Editor 菜单选择 File - Exit。Property Broker Editor 关闭,返回到 Lotus Domino Designer V8 客户机。

  在 Wiring Properties 工作面板中,单击 Refresh 按钮。Open 对话框出现,见图 10。

  图 10. 在单击工作面板中的 Refresh 按钮之后出现的 Open 对话框

  p10

  选择在 Property Broker Editor 中更新的 WSDL 文件 ~NDForum.wsdl 并单击 Open。更新的 WSDL 存储在 Lotus Notes 应用程序设计元素中。

  注意:当使用 Property Broker Editor 特性时,文件名可能递增。

  完成这个过程之后,就对 NDForum 应用程序启用了 NSF 组件,可以在应用程序中发布属性和执行动作。在后面的课程中,将使用 Lotus Domino Designer V8 将这个 WSDL 中列出的属性和动作与 Lotus Notes 设计元素关联起来,并指定作为属性发布的信息和作为动作执行的逻辑。

  如果想用 XML 格式查看 WSDL 内容,那么使用工作面板中的 Open With 按钮,然后选择一个文本编辑器。

posted @ 2008-11-21 22:45 hannover 阅读(39) 评论(0) 编辑

为 IBM Lotus Notes V8 构建复合应用程序(一)

本文关键词: IBM Lotus Notes 构建 应用程序

开始之前

  构建复合应用程序的过程涉及多个过程。本教程将这个过程划分为几个课程来讲解,您可以按次序学习。

  关于本教程

  本教程讲解用 NSF 和 Eclipse 组件创建基于 NSF 的复合应用程序所需的步骤:

  概述和设置

  课程 1:创建 WSDL 文件来支持组件间通信

  课程 2:定义发布属性的 Lotus Notes 视图列

  课程 3:为组件间通信定义 Lotus Notes 动作

  课程 4:组装基于 NSF 的复合应用程序

  课程 5:在复合应用程序中添加 NSF 组件

  课程 6:在复合应用程序中连接组件

  课程 7:使用 LotusScript API 发布属性

  课程 8:在复合应用程序中添加 Eclipse 组件

  课程 9:在复合应用程序中连接 Eclipse 和 NSF 组件

  课程 10:其他动作和连接

  概述和设置

  本教程讲解创建基于 NSF 的复合应用程序的过程。最终的复合应用程序包含来自两个 IBM Lotus Notes 应用程序的两个 NSF 组件和一个 Eclipse 组件。这些组件跨应用程序和系统边界形成松散耦合的事件/动作关系,而且它们会根据单个组件中的用户动作改变显示。

  在本教程中,假设读者是一位 IBM Lotus Domino Designer V8 开发人员,正打算修改 Lotus Notes 应用程序设计元素来支持组件间通信。还要使用 Lotus Notes V8 客户机的可选特性 Composite Application Editor(CAE)组装组件,将组件连接到事件/动作关系。对复合应用程序有适当访问权的开发人员和业务线用户都可以使用 CAE 特性的拖放功能。

  图 1 显示这个使用组件间通信的复合应用程序。这个复合应用程序的用户可以在屏幕左上角显示的 Lotus Notes Contacts 组件中选择一个名称。这个组件发布用户名,另外两个组件执行预先定义的逻辑,显示与所选用户相关的信息。

  用户还可以在右上角显示的 Tag Cloud 组件中选择一个主题;底部显示的 NDForum 组件执行它的逻辑,列出与所选用户相关的文档。

  图 1. Lotus Notes V8 中的 Customer Interests 复合应用程序

  p1

  本教程的应用程序

  对于我们的复合应用程序,要使用以下 Lotus Notes 应用程序:

  Lukas Geiger 8.0 Contacts,LGContacts.NSF

  Lotus Notes 应用程序包含虚构用户的联系信息。这个应用程序的设计与 Lotus Notes Contacts(以前称为 Personal Name and Address Book)的设计相同。使用一个视图作为 NSF 组件,以此了解如何使用属性和动作。

  Lotus Notes/Domino V6 and V7 Forum,NDForum.NSF

  这个 Lotus Notes 应用程序是一个关于 Lotus Notes 和 Domino 相关主题的论坛。作者包括 LGContacts.NSF 中列出的虚构用户。它的内容和设计是可以从 developerWorks 访问的 Lotus Notes and Domino forum 的子集。

  使用一个 Lotus Notes 视图作为 NSF 组件,并修改它来支持组件间通信。

  Customer Interests Update Site,Tag Cloud Eclipse 组件

  按照 wikipedia 中的定义,标签云(或可视设计中的加权列表)可以用作 Web 站点上使用的内容标签的可见描述。常常用更大的字体或其他突出方式描述常用的标签,显示的次序一般是字母表次序。因此,既可以根据字母表寻找标签,也可以根据常用程度寻找标签。选择标签云中的一个标签,一般会找到与这个标签相关联的一组条目。

  Tag Cloud 组件是由另一个开发人员用 Eclipse IDE 构建的。因为 Lotus Notes V8 客户机支持不同技术的组件,所以可以在复合应用程序中包含这个组件。Tag Cloud 组件(TC_US_8.NSF)可以从更新站点上获得。

  设置过程

  为了开始学习本教程的课程,需要按照以下步骤完成设置:

  将 ZIP 文件的内容提取到新的文件夹中。

  将三个 Lotus Notes 应用程序复制到 Lotus Notes V8 客户机的数据目录:

  NDForum.NSF

  LGContacts.NSF

  TC_US_8.NSF

  下面两个文本文件包含 LotusScript 代码,可以按照课程 2 和 10 中的说明通过 Lotus Notes V8 客户机将它们粘贴到 Lotus Notes 动作中:

  SelectPerson_Action_for_NDForum.txt

  SelectSubCategory_Action_for_NDForum.txt

  系统需求

  为了完成本教程中的所有课程,必须安装和设置以下软件:

  IBM Lotus Notes V8 客户机软件和可选的 Composite Application Editor 特性

  IBM Lotus Domino Designer V8 客户机软件

posted @ 2008-11-21 22:43 hannover 阅读(62) 评论(0) 编辑

Out of Office 功能是应用最广泛的 IBM Lotus Notes 邮件模板特性之一。IBM Lotus Notes/Domino 8 中完全重写了该功能,本文将研究该特性中的变化,比较新旧特性集,并讨论为什么以及何时需要使用老功能,而不是新功能。

Lotus Notes 的当前版本(版本 7.x 以及更早版本)中,Out of Office 功能受 Notes 邮件模板中 LotusScript 代理的管理。在 Lotus Notes/Domino 8 中,出于向后兼容性,增强的 LotusScript 代理仍存在于 Notes 邮件模板中。另外,邮件路由器具有称为 Out of Office 服务的新功能,该功能可以提供与代理相同的功能。

比较 Out of Office 服务和 Out of Office 代理

Out of Office 服务需要 Lotus Domino 8 服务器、Lotus Notes 8 客户机和 Lotus Notes 8 邮件模板。而 Out of Office 代理需要 Lotus Notes 8 客户机和 Notes 8 邮件模板,并且可以在 Lotus Domino 8 及更早版本的服务器上运行。Out of Office 功能受 Lotus Notes 8 和 IBM Lotus Domino Web Access 8 支持。

上述代理和服务都执行相同的基本功能;当邮件文件的所有者离开办公室后,它们将对邮件生成自动响应。此外,它们还共享相同的用户界面,如图 1 所示。

图 1. Lotus Notes 8 中 Out of Office 服务的用户界面

<a href=Lotus Notes 8 中 Out of Office 服务的用户界面" src="http://sysapp.51cto.com/files/uploadimg/20070326/1452330.jpg" onload="javascript:if(this.width>498)this.style.width=498;">

上述服务和代理都可以选择性地将所有者的日历标记为忙碌,支持针对两个群体的两种不同响应,并遵循关于哪一个消息应生成响应以及哪一个消息不能生成响应的异常规则。同时,它们还提供了仅对每个发送者响应一次的选项(这是 Lotus Notes 8 中的新特性)。

除了这些二者共有的功能之外,还有一些重大差别,如表 1 所示,将在随后部分进行详细说明。

表 1. Out of Office 服务与代理的特性

功能 服务 代理
响应时间 即时响应 每六个小时(默认)
是否支持故障转移? 支持 不支持
禁用 自动禁用 手动禁用
最短持续时间 1 小时 1 天
委托 支持使用 Access Control List (ACL) 的委托 支持使用 ACL + 代理安全的委托
是否依赖于代理安全性?


响应时间

Out of Office 服务支持对输入邮件消息的即时响应。该响应由路由器生成,作为输入消息的邮件传递的一部分。该代理由 Agent Manager 处理,默认情况下每六个小时执行一次代理。

故障转移支持

由于 Out of Office 服务是邮件传递的一部分,且在与邮件传递的目标服务器相同的服务器上进行处理,因此该服务支持故障转移。请注意集群中的所有邮件服务器都必须运行 Lotus Domino 8 才能支持该功能。而 Out of Office 代理不支持故障转移;当计划在其上运行代理的服务器恢复后,代理将处理先前所传递的消息。

禁用 Out of Office 功能

在用户所指定的周期结束后,将自动禁用服务功能,而用户必须手动禁用代理。

Out of Office 功能的持续时间

该服务的持续时间可以是一个小时或更长时间,因此您可以在开会时使用该服务来生成通知。代理可以开启的最短持续时间为一天。

委托

Out of Office 代理和 Out of Office 服务都支持委托。Lotus Notes 8 版的代理已得到增强,允许非邮件所有者启用 Out of Office 代理。委托方必须包含在数据库的 ACL 中,使用 Editor-、Designer- 或 Manager- 级的权限。如果委托方具有 Editor 权限,则管理进程(Administration Process,AdminP)可以启用代理。除了列示在数据库 ACL 中之外,委托方也必须在 Domino Directory 的 Server 文档的 Security 部分中拥有正确的权限。如果委托方拥有 Editor 权限,那么他必须拥有 “Right to sign agents on behalf of others” 特权。如果委托方拥有 Designer 或 Manager ACL 权限,则他只需拥有运行受限代理时所需的权限。

Out of Office 服务通过 User Preferences 来支持委托并与 Calendar 充分集成。将委托方添加到 ACL,作为委托方规范的一部分。

除了提前设置委托之外,当用户去度假而没有设置委托时,有时需要紧急启用或禁用 Out of Office 功能。可以使用 Full Administrator 权限来实现上述操作。管理员必须拥有在 Domino Directory 中 Server 文档的 Security Tab 中指定的 Full Administrator 权限。此外,管理员必须在 Lotus Domino Administrator 客户机中启用 Full Admin Mode,然后可以打开用户的邮件文件并启用 Out of Office 代理或服务。

安全性

Out of Office 服务没有使用代理技术,因此没有捆绑到代理安全性。管理员可以独立于用户对 Out of Office 服务的使用需求来决定是否为用户授予运行代理时所需的权限。而 Out of Office 代理使用代理子系统,且取决于代理安全规则。这些规则与 Lotus Notes/Domino 6 和 Lotus Notes/Domino 7 中的规则一样。

如果邮件所有者是其邮件文件的 Designer 或 Manager,那么他必须拥有运行受限 LotusScript/Java 代理时所需的权限。这是允许用户运行操作子集所需的最低级权限,不会导致任何安全风险。

如果邮件所有者是其邮件文件的 Editor,那么他不必拥有运行代理时所需的权限。在 Editor 级用户的情况下,会自动将 Out of Office 代理配置为以特殊模式运行,该模式允许用户运行该代理而不运行任何其它代理。此自动配置是在首次启用 Out of Office 代理时由 AdminP 执行的。

Lotus Notes 8 Out of Office 代理还支持委托。在用户邮件文件的 ACL 中,委托方可以拥有 Editor-、Designer- 或 Manager- 级访问权限。如果在 ACL 中用户拥有 Editor 级权限,那么不论用户所有者的级别如何,所启用的请求将执行 AdminP。作为其它用户的代理,需要委托方拥有运行代理时所需的权限。

对于 Editor 级邮件所有者,作为其它用户的代理,委托方应拥有运行代理时所需的权限。对于 Designer- 和 Manager- 级的邮件所有者,委托方应拥有运行代理时所需的受限权限(参见图 2)。请注意也可以使用 on-behalf 权限,因为它高于受限级权限。

图 2. Server 文档中的代理安全规范

Server 文档中的代理安全规范

二、配置 Out of Office 功能

Out of Office 服务是在 Lotus Domino 8 路由器内构建的。因此,若要支持可靠的 Out of Office 功能(即确保响应所有消息),邮件集群的所有成员必须运行 Lotus Domino version 8(或更高版本)服务器软件。

Notes 8 邮件模板对 Lotus Notes 8 Out of Office 代理进行了增强。开启代理或服务的新逻辑要求来自 Lotus Notes 8 客户机的支持;但是,执行 Out of Office 代理不需要任何新特性,因此它可以在 Lotus Domino 8 或更早的版本的服务器上使用。

这种配置选择可以由管理员控制,而且位于 Miscellaneous Controls 部分中 Router/STMP - Advanced - Controls 子附签下的 Server Configuration 文档中(参见图 3)。在 “Out-of-Office service type” 字段中有两个值:Agent(默认情况)和 Service。当至少其中一个服务器是 Lotus Domino 7.x 或更早版本时,可以在具有混合版本的 Lotus Domino 的过渡邮件集群中使用 Agent 设置。当所有服务器升级到 Lotus Domino 8 后,可以使用 Service 设置。

图 3. 配置Out of Office 功能

配置Out of Office 功能

作者:Julie Kadashevich 自 1997 年起成为 Domino 服务器编程小组的开发人员。她的专长涉猎了与代理有关的各个方面。

posted @ 2008-11-21 22:40 hannover 阅读(254) 评论(0) 编辑
   一

一条猎狗将兔子赶出了窝,一直追赶他,追了很久仍没有捉到。
牧羊看到此种情景,讥笑猎狗说"你们两个之间小的反而跑得快得多。"
猎狗回答说:“你不知道我们两个的跑是完全不同的!我仅仅为了一顿饭而跑,他却是为了性命而跑呀!”

.......................目标........................



这话被猎人听到了,猎人想:猎狗说的对啊,那我要想得到更多的猎物,得想个好法子.
于是,猎人又买来几条猎狗,凡是能够在打猎中捉到兔子的,就可以得到几根骨头,捉不到的就没有饭吃.这一招果然有用,猎狗们纷纷去努力追兔子,因为谁都不愿意看着别人有骨头吃,自已没的吃.就这样过了一段时间,问题又出现了.大兔子非常难捉到,小兔子好捉.但捉到大兔子得到的奖赏和捉到小兔子得到的骨头差不多,猎狗们善于观察,发现了这个窍门,专门去捉小兔子.慢慢的,大家都发现了这个窍门.猎人对猎狗说:最近你们捉的兔子越来越小了,为什么?猎狗们说:反正没有什么大的区别,为什么费那么大的劲去捉那些大的呢?

........................动力.........................



猎人经过思考后,决定不将分得骨头的数量与是否捉到兔子挂钩,而是采用每过一段时间,就统计一次猎狗捉到兔子的总重量.按照重量来评价猎狗,决定一段时间内的待遇.
于是猎狗们捉到兔子的数量和重量都增加了.猎人很开心.
但是过了一段时间,猎人发现,猎狗们捉兔子的数量又少了,而且越有经验的猎狗,捉兔子的数量下降的就越利害.于是猎人又去问猎狗.
猎狗说"我们把最好的时间都奉献给了您,主人,但是我们随着时间的推移会老,当我们捉不到兔子的时候,您还会给我们骨头吃吗?"

.....................长期的骨头........................



猎人做了论功行赏的决定.分析与汇总了所有猎狗捉到兔子的数量与重量,规定如果捉到的兔子超过了一定的数量后,即使捉不到兔子,每顿饭也可以得到一定数量的骨头. 猎狗们都很高兴,大家都努力去达到猎人规定的数量.一段时间过后,终于有一些猎狗达到了猎人规定的数量.这时,其中有一只猎狗说:我们这么努力,只得到几根骨头,而我们捉的猎物远远超过了这几根骨头.我们为什么不能给自己捉兔子呢?"于是,有些猎狗离开了猎人,自己捉兔子去了。

...................骨头与肉兼而有之...........



猎人意识到猎狗正在流失,并且那些流失的猎狗像野狗一般和自己的猎狗抢兔子。
情况变得越来越糟,猎人不得已引诱了一条野狗,问他到底野狗比猎狗强在那里。
野狗说:“猎狗吃的是骨头,吐出来的是肉啊!”,接着又道:“也不是所有的野狗都顿顿有肉吃,大部分最后骨头都没的舔!不然也不至于被你诱惑。” 于是猎人进行了改革,使得每条猎狗除基本骨头外,可获得其所猎兔肉总量的n%,而且随着服务时间加长,贡献变大,该比例还可递增,并有权分享猎人总兔肉的m%。就这样,猎狗们与猎人一起努力,将野狗们逼得叫苦连天,纷纷强烈要求重归猎狗队伍。

-----------只有永远的利益,没有永远的朋友-----------

日子一天一天地过去,冬天到了,兔子越来越少,猎人们的收成也一天不如一天。而那些服务时间长的老猎狗们老得不能捉到兔子,但仍然在无忧无虑地享受着那些他们自以为是应得的大份食物。终于有一天猎人再也不能忍受,把他们扫地出门,因为猎人更需要身强力壮的猎狗。。。。。

--------------------- Birth of MicroBone Co. -----------

被扫地出门的老猎狗们得了一笔不菲的赔偿金,于是他们成立了MicroBone公司。他们采用连锁加盟的方式招募野狗,向野狗们传授猎兔的技巧,他们从猎得的兔子中抽取一部分作为管理费。当赔偿金几乎全部用于广告后,他们终于有了足够多的野狗加盟。公司开始赢利。一年后,他们收购了猎人的家当...

-----------Development of MicroBone Co. ------------------

MicroBone公司许诺给加盟的野狗能得到公司n%的股份。这实在是太有诱惑力了。这些自认为是怀才不遇的野狗们都以为找到了知音:终于做公司的主人了,不用再忍受猎人们呼来唤去的不快,不用再为捉到足够多的兔子而累死累活,也不用眼巴巴地乞求猎人多给两跟骨头而扮得楚楚可怜。这一切对这些野狗来说,这比多吃两根骨头更加受用。
于是野狗们拖家带口地加入了MicroBone,一些在猎人门下的年轻猎口也开始蠢蠢欲动,甚至很多自以为聪明实际愚蠢的猎人也想加入。好多同类型的公司象雨后春笋般地成立了,BoneEase, Bone.com, ChinaBone....一时间,森林里热闹起来。(to be continued...)

------------------- F4 的诞生 -------------------------

猎人凭借出售公司的钱走上了老猎狗走过的路,最后千辛万苦要与MicroBone公司谈判的时候,老猎狗出人意料的顺利答应了猎人,把MicroBone公司卖给了猎人。老猎狗们从此不再经营公司,转而开始写自转《老猎狗的一生》,又写:《如何成为出色的猎狗》,《如何从一只普通猎狗成为一只管理层的猎狗》《猎狗成功秘诀》《成功猎狗500条》《穷猎狗,富猎狗》,并且将老猎狗的故事搬上屏幕,取名《猎狗花园》,四只老猎狗成为了家喻户晓的明星F4. 收版权费,没有风险,利润更高。
posted @ 2008-11-21 22:34 hannover 阅读(109) 评论(0) 编辑