首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 邮件与开发 | 金笛 |
首页 > 邮件服务器 > Lotus Domino > 定制 Lotus iNotes 的邮件地址本 > 正文

定制 Lotus iNotes 的邮件地址本

出处:www.ibm.com 作者:张世佳,杨志磊 时间:2011-8-23 21:51:50

简介: 公司的用户对 Lotus®iNotes 邮件地址本有着各式各样的定制需求,例如为用户添加多重的组织结构和角色;在地址选择时将用户按照不同的方式排序折叠等等。还有一些公司希望在缺省的地址本之外,使用自己的第三方地址本,因为其中包含丰富的企业组织信息。本文介绍了 iNotes 用户几个典型的地址本定制需求和解决方案,并且基于 Lotus iNotes 的产品框架,介绍了地址本定制的相关知识和开发细节。(声明:本文中使用的数据均是实验数据,并不来自于任何 Lotus iNotes 用户的真实数据。)

 

背景概述

Lotus iNotes 是 Web 邮件客户端,通过它可以访问 Domino 和第三方邮件服务器。iNotes 和 Notes 客户端有几乎一致的外观和用户体验,但因为它是 Web 应用,用户通过浏览器就可以访问,所以更为方便和高效。

邮件地址本是用户在发送电子邮件时,选择收件人的工具。邮件地址本可以帮助用户管理和查找联系人,使得用户可以方便地根据名字等相关信息查找到联系人。企业的地址本一般位于企业的邮件服务器上,其中保存了整个企业邮件用户的联系信息,可以提供企业内部共享,是重要和机密的数据资源。通过定制邮件地址本和 iNotes 客户端,能够将企业员工按照公司层次等组织结构有效地管理起来,方便用户查找和发送邮件。

iNotes 的地址本数据

iNotes 同 Notes 一样,用户既可以向个人地址本(存储在用户邮箱中)的联系人发送邮件,同时,也可以向服务器地址本(存储在 Domino 服务器的 Names.nsf 数据库中)的人员发送邮件。对于企业级应用来说,服务器地址本可以存储整个企业的人员信息,便于共享和管理,因此在企业内的工作通信中,应用得更加广泛。

Domino 服务器的所有用户信息都存储在名字数据库中(Names.nsf),该数据库位于服务器上的 <domino data> 子目录中。iNotes 用户通过地址选择对话框可以方便地查询和搜索服务器上的联系人信息。图 1(b)的 iNotes 地址选择对话框显示了“按名称列表”查找联系人。除此之外,iNotes 还提供了其它 3 种查看方式:“按 Notes 名称层次”、“按公司层次”、“按语言分类”。

如果不经过定制,在 Names.nsf 数据库中添加用户的公司层次信息,“按公司层次”的查看方式是不能起到预定效果的。通过定制 Names.nsf 数据库和 iNotes 的模板数据库(Form85.nsf),可以添加用户的公司层次信息,可以改变地址选择时的缺省查看和搜索方式,还可以使用第三方 Notes 视图作为地址本数据来源。


图 1. 服务器上的联系人信息
图 1. 服务器上的联系人信息 

1.2 iNotes 的模板数据库

iNotes 引用单独的数据库 Forms85.nsf,该数据库包含 iNotes 设计元素。iNotes 使用的所有表单、子表单和大多数图形都位于这个数据库中,该数据库位于服务器上的 <domino data>\iNotes\ 子目录中。iNotes 直接向 Forms85.nsf 数据库发出 URL 来检索许多共享页面和元素。访问某台服务器上的邮件文件的所有 Web 浏览器都使用这组设计元素,这些元素还被缓存在服务器上,以便获得更好的性能。在将用户的邮件文件设置为使用 Mail85.ntf 模板时,它会继承这个模板中的所有设计元素,同时还继承对共享 Forms85.nsf 数据库的引用。这两种源(模板和 Forms 文件)提供了构建单独 iNotes 页面的资源。


图 2. iNotes 模板文件和邮件文件
图 2. iNotes 模板文件和邮件文件 

通过定制 iNotes 的模板数据库 Forms85.nsf,修改其中的属性文件、css 和 JavaScript,可以实现对 iNotes 从皮肤到功能的全方位定制。对 iNotes 邮件地址本的定制,也需要修改 Forms85.nsf 来实现。对 Names.nsf 的定制是编辑邮件地址本的数据来源;对 Forms85.nsf 的定制则是编辑数据在 iNotes 中的展现方式。

用户的定制需求

公司的用户对 iNotes 邮件地址本有着各式各样的定制需求。本文中,我们将以一个实例介绍 3 种典型的用户需求。通过本例,读者可以了解 Names.nsf 和 Forms85.nsf 中与地址本相关的定制方法。

某公司有 500+ 的员工,其中的部分人员层次结构如图 3 所示。


图 3. 某公司人员组织结构图实例(部分)
图 3. 某公司人员组织结构图实例(部分) 

缺省的 Names.nsf 和 iNotes 设置,没有公司层次信息。用户发送邮件时所看到的地址选择对话框就像图 1(b),对于拥有许多员工的公司来说,在这样的视图下查找联系人如同大海捞针。为了方便查询和操作。该公司对邮件地址本提出了如下 3 个定制需求 :

(1).为用户添加公司层次信息,实现 iNotes 中“按公司层次”查看的功能。在这种查看方式下,将整个公司的人员信息显示成与公司组织层次对应的树形结构。这样,就可以根据人员的组织信息自上而下地查找到某个或某几个相关的联系人。例如:通过依次展开“中国总公司”、“北京分公司”、“销售部”,就可以方便地找到王晓光和赵建铭。
(2).在 iNotes 的地址选择对话框中,将“按公司层次”设置为缺省的查看方式。
(3).用户已经为每个分公司和部门创建了“邮件组”,由于 Names.nsf 数据库中没有视图可以将“邮件组”显示成公司所属关系的树形结构,用户就在 Names.nsf 中自己创建了一个 Notes 视图 GroupByOrg,显示邮件组的所属关系。用户要求可以以这个第三方的 Notes 视图作为 iNotes 地址选择的一个查看视图。

为用户添加公司层次信息

缺省的 Names.nsf 和 iNotes 设置,用户无法从 iNotes 地址选择对话框的“按公司层次”选项查看和选择联系人。需要在 Names.nsf 中为用户添加必要的组织结构信息。

iNotes 中 “按公司层次”的查看方式实际上引用了 Names.nsf 数据库的视图 ($PeopleGroupsCorpHier),这是一个隐藏视图,需要通过 Domino Designer 打开和预览。以图 3 为例,预览视图 ($PeopleGroupsCorpHier) 的结果如图 4 所示,没有公司层次信息。要想添加这些信息,需要编辑 Names.nsf 中的用户注册文档,添加相关信息。


图 4. 缺省 ($PeopleGroupsCorpHier) 视图预览
图 4. 缺省 ($PeopleGroupsCorpHier) 视图预览 

下面,对每个公司用户添加相关的公司层次信息。具体的操作是:从 Domino Administrator 中打开 Names.nsf 数据库,在"Peoples and Groups"页面中顺次展开“Domino Directory”、“ibm ’ s Directory”(ibm 是组织名称,根据 Domino 注册时使用的名称不同而异 )、“People”、“By Organization”,即可看到所有的注册用户。然后通过双击用户打开用户文档,在“Work/Home”页面的“Corporate Hierarchy Information”子页面中添加相关的层次信息。在此,我们以图 3 中用户“张三”和“钱峰”为例,为他们添加的公司信息如图 5。


图 5. 为用户添加公司层次信息
图 5. 为用户添加公司层次信息 

为图 3 中的所有用户添加公司信息后,($PeopleGroupsCorpHier) 视图如图 6。图中公司层次已经以树形结构展现出来。


图 6. 添加公司层次后 ($PeopleGroupsCorpHier) 视图预览
图 6. 添加公司层次后 ($PeopleGroupsCorpHier) 视图预览 

再看此时 iNotes 的地址选择对话框,已经可以“按公司层次“查找联系人了。


图 7. 添加公司层次后 iNotes“按公司层次”查找联系人
图 7. 添加公司层次后 iNotes“按公司层次”查找联系人 

以公司层次作为缺省的地址选择查看方式

“按公司层次“查找并不是 iNotes 的缺省查看方式,对初级用户来说还是不方便的。为了方便用户使用,通过定制 iNotes 的模板数据库 Forms85.nsf,把“按公司层次”设定为缺省的查找视图。

有过 iNotes 定制经验的开发人员都知道,iNotes 由于其结构的特殊性,定制起来是比较困难的。对于初次学习 iNotes 定制的读者来说,可以参考本文后的相关文章,了解 iNotes 定制的基本知识。在这里,为了简化文章,方便对地址本定制有专门需求的读者,我们省去相关原理不提,只介绍与地址本定制相关的操作。

用 Domino Designer 打开 Forms85.nsf 数据库,找到 Sub Form 下的文件 s_CoreNamePickerViewList,该文件中定义了 iNotes 地址选择对话框中的相关视图属性。JavaScript 数组 NamePick.BTM 包含了所有视图的定义,修改其中视图定义的有关属性,可以改变视图的显示;修改它们的相对位置,就可以改变缺省视图。


图 8. iNotes 地址选择定义数组 NamePick.BTM
				
 NamePick.BTM=[ 
 	 {sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>, 
 	 DcS : '($PeopleGroupsFlat)', 
 	 sViewInfo : '$39;MAMailAddress;NPName;Form;AltFullName', 
 	 nViewType : 2, 
	 aDBPaths : []}, 
 
 	 {sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>, 
 	 DcS : '($PeopleGroupsFlat)', 
 	 sViewInfo : '$39;MAMailAddress;NPName;$40;AltFullName', 
	 nViewType : 3, 
	 aDBPaths : ['*']}, 
 
	 {sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>, 
	 DcS : '', 
	 sViewInfo : 'SummaryName;MailAddress;FullName;Type;AltFullName; 
		 AltFullNameLanguage;PreferredMailFormat', 
 	 nViewType : 4}, 
 
 	 {sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>, 
 	 DcS : '($PeopleGroupsFlat)', 
 	 sViewInfo : '$39;MAMailAddress;NPName;Type;AltFullName', 
 	 nViewType : 1, 
 	 aDBPaths : ['*']}, 
 
 	 {sViewTitle : <dwa:string id="L_NPW_TITLE_HIERVIEW"/>, 
 	 DcS : '($PeopleGroupsHier)', 
 	 sViewInfo : '$11;MAMailAddress;$24;Type;AltFullName;$8', 
 	 nViewType : 1, 
 	 aDBPaths : ['*']}, 
 
 	 {sViewTitle : <dwa:string id="L_NPW_TITLE_CORPHIERVIEW"/>, 
 	 DcS : '($PeopleGroupsCorpHier)', 
 	 sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$55', 
 	 nViewType : 1, 
 	 aDefaultColumnWidths : [10], 
 	 aDBPaths : ['*']}, 
 
 	 {sViewTitle : <dwa:string id="L_NPW_TITLE_LANGVIEW"/>, 
 	 DcS : '($PeopleGroupsByLang)', 
 	 sViewInfo : '$11;MAMailAddress;NPName;Type;AltFullName;$8', 
 	 nViewType : 1, 
 	 aDefaultColumnWidths : [10], 
 	 aDBPaths : ['*']}
 ]; 

      			


图 8 中粗体部分定义的 4 个视图就是在 iNotes 的地址选择对话框中可以选择的查看方式,它们的 nViewType 值为 1。

  • sViewTitle 属性定义了视图的显示名称,这里是 iNotes 字符串自定义形式的定义(iNotes 从前的版本叫 Domino Web Access,简称 DWA,所以 Form 中的许多文件依然能看到类似 dwa 的标识)。从 Forms85.nsf 的另一文件 dwa_en.properties(Resources\File 下),可以根据这些 iNotes 字符串的 id 找到相应的字符串。如上面 4 个视图的名称如下。也就是 iNotes 地址选择对话框中对应的 4 种查看方式。 
    L_NPW_TITLE_FLATVIEW=List by name (按名称列表) 
    L_NPW_TITLE_HIERVIEW=Notes name hierarchy (按 Notes 名称层次) 
    L_NPW_TITLE_CORPHIERVIEW=Corporate hierarchy (按公司层次) 
    L_NPW_TITLE_LANGVIEW=Categorized by language (按语言分类)
  • DcS 属性定义了引用 Names.nsf 中的视图名称,如“按公司层次”查看方式引用的视图正是 ($PeopleGroupsCorpHier) 。所以在上例中,($PeopleGroupsCorpHier) 视图改变了以后,iNotes 地址选择对话框中“按公司层次”查看的选择框也会改变。同样的,我们可以看到其它 3 种查看方式对应的 Names.nsf 视图名称。通过修改这些视图,同样可以定制 iNotes 的其它 3 种查看方式。

改变这些视图定义在数组中的位置,就可以改变 iNotes 地址选择对话框中缺省的查看方式。数组中第一个 nViewType 值为 1 的视图就是缺省的查看视图。

所以,要实现用户需求,以公司层次作为缺省的地址选择查看方式,只需要将数组 NamePick.BTM 中该视图的定义移动到第 1 位(nViewType 为 1 的所有视图中第一个即可)。

以第三方 Notes 视图作为地址选择查看方式

在上例的基础上,我们知道用户的第 3 个需求实际上需要将一个第三方的 Notes 视图添加到 NamePick.BTM 数组定义中。这样,用户可以从 iNotes 的地址选择器中通过该视图找到相应的部门名称,因为用户已经为每一个部门定义了相同名称的“邮件组”,就可以实现方便的查找并群发邮件。

根据用户自定义的公司层次“邮件组”视图 GroupByOrg 相关属性,将视图定义添加到 NamePick.BTM 数组定义中。


添加视图定义
				
	 {sViewTitle : <dwa:string id="Groups by Hierarchy"/>, 
 	 DcS : 'GroupByOrg', 
 	 sViewInfo : 'ListName;MAMailAddress;NPName;Type;AltFullName;$55', 
 	 nViewType : 1, 
 	 aDefaultColumnWidths : [3], 
 	 aDBPaths : ['*']}, 
			

在 iNotes 地址选择对话框中,新添加的查看方式“Groups by Hierarchy”已经可以选择,选择列表的组织方式与用户的第三方 Notes 视图 GroupByOrg 是一致的,如图 9。通过该列表,用户可以方便的选择一个“邮件组”,群发邮件。


图 9. 使用第三方 Notes 视图作为 iNotes 的查看方式
图 9. 使用第三方 Notes 视图作为 iNotes 的查看方式 

结束语

本文以实际项目经验中遇到的 iNotes 邮件地址本定制需求为参考,介绍了 3 种典型的用户需求和解决方案。希望对读者有所启示。


参考资料

学习

讨论

作者简介

张世佳,现在 IBM 中国软件开发实验室 Lotus 开发中心工作,目前从事 Lotus iNotes 的自动化测试工作。对 Domino Web 开发,Dojo 相关技术有丰富的经验。

杨志磊,现在 IBM 中国软件开发实验室 Lotus 开发中心工作,目前从事 Lotus iNotes 的测试工作。对 Domino Web 开发,Web 2.0 相关技术有丰富的经验。

相关文章 热门文章
  • Lotus Domino/Notes应用缓慢 如何加速?
  • 现有 IBM Lotus Domino/Notes 邮件模板简介
  • 在 Lotus Notes 中设置邮件定时发送的方法及代理功能介绍
  • IBM Lotus Domino 8.5 服务器管理入门手册
  • IBM Lotus Notes远程栈溢出漏洞
  • 深信服新推出IBM LOTUS网络加速方案
  • 基于Lotus Domino的OA系统中安全机制的研究
  • Lotus Domino 8.5 ID Vault 新功能介绍及体验
  • 理解 IBM Lotus Domino 服务器集群
  • Lotus与Exchange对比评测
  • Lotus Domino与关系数据库的互操作
  • 中化选择Lotus Domino 8.5建基础智慧协作平台
  • Domino管理员29个问题
  • Lotus Domino/Notes如何有效防止垃圾邮件
  • 配置Domino服务器
  • Lotus Notes常见问题答疑
  • Lotus Notes安装和使用的常见问题
  • Lotus Notes 的最终用户最需知道的十件事
  • 如何提高Domino服务器性能
  • LOTUS NOTES .INI文件参数设置秘籍
  • Domino 做Internet企业邮局的配置
  • Domino SMTP邮件服务器设置实例
  • 基于Linux平台的Domino Server安装与配置
  • 如何配制Domino for IIS?
  • 自由广告区
     
    最新软件下载
  • MCTS Self-Paced Training Kit Exam 7...
  • Foxmail 7 正式版
  • Microsoft Exchange 2010 PowerShell ...
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • 今日邮件技术文章
  • 定制 Lotus iNotes 的邮件地址本
  • linux下如何用脚本自动发送文本mail邮件
  • 成功的电子邮件营销:从“狩猎”到“耕..
  • 电子邮件营销的四条黄金法则
  • 电子邮箱被盗用 经营户破财300万
  • 邮件是驱动手机用户购买行为最有效的移..
  • 企业邮箱惊现“隐形人” 境外客户屡被骗
  • 用户突破4亿 网易 Q2财报高度肯定邮箱...
  • 在规划电子邮件安全策略时采取的措施
  • 使用“Netsh”轻松更改IP地址
  • Exchange管理员的活动目录指南
  • PowerShell中使用WMI的技巧
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号