轻松掌握 成功开发
IBM旗下Lotus软件的Domino/Notes产品是当今业界实际上的群件标准。它以高效性和高安全性方面的优势在协作平台市场上占据领先地位。多年来,国内利用Lotus Domino/Notes软件平台开发的企事业单位办公自动化系统遍布各个行业,呈现一片“莲花盛开”的盛景。本书作者结合自己多年的实践经验,将Lotus Domino/Notes R6的应用开发过程娓娓道来,极具实用性。
本书主要特点
面向初学者,全面介绍Lotus Domino/Notes R6的结构、组成及主要特性,使读者快速掌握Lotus Domino/Notes R6的基本用法。
面向开发,完整描述Lotus Domino/Notes R6从设计、编程到实现的全过程,读者不仅可以掌握Lotus Domino/Notes R6的一般方法,更能掌握科学的开发理念。
面向实用,通过贯穿全书的实例引领读者充分理解Lotus Domino/Notes R6各种功能的使用方法,顺利应对使用过程中出现的种种问题。作者多年的实践体会也融入其中,使读者可以扬长避短,高效完成开发工作。Lotus Domino/Notes R6是Lotus公司推出的最新版本的群件软件,目前广泛应用于办公自动化领域。本书从开发的角度全面介绍了这个功能强大的软件。全书共分三部分。第一部分介绍Domino/Notes R6开发的基本概念及其与众不同之处。第二部分介绍Notes的工作流特性,以及如何开发工作流应用。第三部分描述如何进行Domino Web开发。本书以中南大学的办公自动化系统为例,内容涵盖Lotus Domino/Notes R6开发的方方面面。
本书结构清晰,由浅入深,实例丰富,是介绍Lotus Domino/Notes R6软件的极佳参考书,适合Lotus Domino/Notes R6的开发人员、Lotus Domino/Notes R6数据库的维护人员使用,也可作为Lotus Domino/Notes R6初学者的自学书或Lotus Domino/Notes R6培训课程的教材。
第一部分 基础篇
第1章 Domino/Notes R6编程概述 1
1.1 Domino/ Notes 简介 1
1.2 Domino/Notes R6的新特性 5
1.3 Domino/ Notes R6应用程序的应用范围 10
1.4 Lotus R6应用程序的特点和分类 11
1.5 Lotus R6的集成应用开发环境 12
第2章 Lotus应用程序的结构 15
2.1 数据库 15
2.2 文档 15
2.3 表单 15
2.4 域 16
2.5 视图与文件夹 16
2.6 大纲与导航器 17
2.7 页面 17
2.8 帧结构集 17
2.9 代理与操作 18
2.10 共享资源 18
2.11 Lotus公式与LotusScript语言 18
第3章 Lotus应用程序的开发 19
3.1 设计应用数据库 19
3.1.1 设计C/S模式的应用数据库 19
3.1.2 设计支持B/S模式的应用数据库 20
3.1.3 设计支持移动用户的应用数据库 21
3.1.4 条件隐藏选项 21
3.2 创建数据库 22
3.2.1 概述 22
3.2.2 使用模板创建数据库 23
3.2.3 利用已有数据库创建数据库 25
3.2.4 创建基于空白模板的数据库 27
3.2.5 数据库的存取控制列表 27
3.2.6 数据库属性的设置 28
3.3 表单设计 33
3.3.1 创建表单 33
3.3.2 表单属性 35
3.3.3 域 42
3.3.4 域属性 44
3.3.5 布局区域 56
3.3.6 区段 59
3.3.7 表单操作 63
3.3.8 热点 69
3.3.9 表格 72
3.4 视图设计 77
3.4.1 视图概述 77
3.4.2 视图设计方法 79
3.4.3 视图列设计 85
3.4.4 文件夹 91
3.4.5 视图操作 92
3.5 大纲设计 94
3.5.1 大纲概述 94
3.5.2 大纲设计方法 96
3.5.3 大纲条目设计 96
3.6 导航器设计 98
3.6.1 导航器概述 98
3.6.2 导航器设计方法 99
3.6.3 导航器对象 101
3.6.4 导航器实现 104
3.7 页面设计 105
3.7.1 页面概述 105
3.7.2 页面设计方法 106
3.7.3 在页面中嵌入其他设计元素 107
3.8 帧结构集 109
3.8.1 帧结构集概述 109
3.8.2 帧结构集的设计 109
3.8.3 设置帧结构集内容及属性 110
3.8.4 启动帧结构集 113
3.9 代理设计 113
3.9.1 代理概述 113
3.9.2 创建代理 114
3.9.3 设置代理 115
3.10 共享资源 120
3.10.1 图像资源 120
3.10.2 文件资源 122
3.10.3 Java小程序 122
3.10.4 样式表资源 124
3.10.5 数据连接资源 125
3.11 其他设计 126
3.11.1 Script库 126
3.11.2 数据库图标 128
3.11.3 “关于此数据库”文档 128
3.11.4 “使用此数据库”文档 130
3.11.5 数据库Script 130
第4章 公式与Script 编程 132
4.1 LotusScript和公式语言简介 132
4.1.1 LotusScript和公式 132
4.1.2 LotusScript和公式的使用范围 132
4.2 公式 133
4.2.1 公式基础 133
4.2.2 在Notes中使用公式 140
4.3 LotusScript 147
4.3.1 LotusScript的特点 147
4.3.2 LotusScript的编程环境 147
4.3.3 LotusScript编程实例 151
4.3.4 LotusScript编程中应注意的问题 176
第二部分 提 高 篇
第5章 Notes工作流应用程序的结构与组成 179
5.1 Notes工作流的特性 179
5.2 邮件的特性 180
5.2.1 Notes中的邮件 180
5.2.2 应用与邮件的集成 188
第6章 Notes工作流应用程序开发流程 191
6.1 Notes工作流应用程序的总体设计 191
6.1.1 规划系统 191
6.1.2 功能设计 192
6.1.3 设计实例 193
6.2 应用数据库总体设计 195
6.2.1 设计应用数据库 195
6.2.2 规划数据库 196
6.3 详细设计 198
6.3.1 模块的划分 198
6.3.2 设计流程 198
6.3.3 程序编码 199
6.3.4 设计实例 200
6.4 应用数据库的测试. 提交和发布 206
6.4.1 模块测试 206
6.4.2 系统测试 210
6.4.3 提交数据库 213
6.4.4 发布数据库 213
6.4.5 设计实例 215
第7章 工作流应用程序的开发 216
7.1 创建工作流应用程序 216
7.1.1 新建应用 216
7.1.2 设计实例 216
7.2 设计表单 217
7.2.1 规划表单 217
7.2.2 向表单中添加的元素 218
7.2.3 命名表单 219
7.2.4 子表单 220
7.2.5 表单事件 223
7.2.6 表单操作 224
7.2.7 设计实例 225
7.3 设计域 227
7.3.1 新建域 227
7.3.2 利用拷贝创建域 228
7.3.3 域事件 229
7.3.4 共享域 230
7.3.5 设计实例 232
7.4 设计视图和文件夹 234
7.4.1 新建视图和文件夹 234
7.4.2 利用拷贝创建视图和文件夹 236
7.4.3 设计实例 237
7.5 设计导航器和大纲 238
7.5.1 新建导航器 238
7.5.2 利用拷贝创建导航器 239
7.5.3 新建大纲 239
7.5.4 利用拷贝新建大纲 241
7.5.5 设计实例 241
7.6 设计页面 242
7.6.1 新建页面 242
7.6.2 利用拷贝创建页面 244
7.6.3 由大纲产生页面 244
7.6.4 设计实例 246
7.7 新建帧结构 247
7.7.1 新建帧结构集 247
7.7.2 利用拷贝创建帧 249
7.7.3 设计与修改帧结构 250
7.7.4 设计实例 251
7.8 创建代理 252
7.8.1 新建代理 252
7.8.2 利用拷贝创建代理 255
7.8.3 设计实例 256
第8章 Notes应用程序的安全性管理 259
8.1 存取控制列表 259
8.2 在角色中使用@函数 265
8.2.1 规划存取控制列表 265
8.2.2 在程序中控制角色 268
8.3 文档级安全性管理 268
8.4 区段级安全性管理 271
8.5 域级安全性管理 272
8.6 文档的锁定与解锁 273
8.7 设计实例 274
第三部分 高 级 篇
第9章 Domino Web编程 277
9.1 Domino Web编程基础 277
9.1.1 Domino URL 命令语法 277
9.1.2 Domino URL 命令 278
9.2 在表单中设计Web应用 291
9.2.1 深入理解表单 291
9.2.2 使用公式设计表单 292
9.2.3 在表单中使用Web元素 296
9.2.4 在表单和表单对象中使用HTML属性 298
9.2.5 在表单中创建操作按钮 299
9.2.6 使用热点 300
9.2.7 表单和搜索 301
9.2.8 定制表单提交按钮 302
9.2.9 在表单中使用JavaScript 302
9.3 设计Web视图 303
9.3.1 关于视图 303
9.3.2 视图和Web 303
9.3.3 创建视图操作按钮 304
9.3.4 使用单个类视图 305
9.3.5 在视图中使用HTML Passthrough 305
9.3.6 在表单中使用视图 306
9.3.7 在Applet表单中显示一个视图 307
9.4 设计Web页面 308
9.4.1 页面和Web 308
9.4.2 在页面中使用HTML 309
9.4.3 将页面元素转换为HTML元素 310
9.5 使用帧结构. 大纲和其他设计元素 312
9.5.1 在帧结构中设计 312
9.5.2 使用帧结构集设计元素 313
9.5.3 JavaScript 和帧 313
9.5.4 使用标签 314
9.5.5 什么是Cookie 314
9.5.6 使用大纲 317
9.5.7 同时使用帧和大纲 318
9.5.8 显示大纲小程序 319
9.5.9 使用其他设计元素 319
9.6 Perl Script 320
9.7 CGI程序 322
9.8 Domino XML技术 324
9.8.1 Domino XML简介 324
9.8.2 利用DXL导出设计对象和文档数据 325
9.8.3 利用DXL查看设计元素XML 325
9.8.4 利用DXL转换设计元素XML 326
9.9 Web代理 326
9.9.1 创建Web代理 326
9.9.2 激活Web代理 327
9.9.3 在Web代理中使用LotusScript和Java 328
9.10 Web服务 328
9.10.1 Web Service 328
9.10.2 利用LotusScript创建Web Service 328
第10章 与外部数据源和对象通信 334
10.1 访问外部文本数据 334
10.1.1 使用LotusScript访问外部文本文件 334
10.1.2 考勤机的例子 335
10.2 使用ODBC接口 336
10.2.1 ODBC概述 336
10.2.2 ODBC工作原理 337
10.2.3 ODBC接口支持的SQL语句 337
10.2.4 使用 ODBC 所需的文件 337
10.2.5 添加ODBC数据源 338
10.2.6 处理ODBC错误 339
10.3 使用ODBC接口访问外部数据库 340
10.3.1 使用公式语言访问外部数据库 340
10.3.2 使用LotusScript访问外部数据库 343
10.3.3 由关系型数据库转换成Notes数据库的实现方法 349
10.4 使用OLE技术定制控件 351
10.4.1 在表单. 页面或导航器中链接对象 352
10.4.2 在表单. 页面和导航器中创建嵌入对象 352
10.4.3 自动启动OLE对象 352
10.4.4 手动启动 OLE 对象 353
10.4.5 发布 OLE 对象 353
10.4.6 设置交换域 354
10.5 企业数据连接服务 355
10.5.1 安装并运行DECS 355
10.5.2 支持的数据资源 356
10.5.3 建立到ODBC的连接 357
10.5.4 测试与LCTEST的连接 357
10.5.5 配置DECS 360
10.5.6 LotusScript Extension for Domino Connectors 372
10.6 LEI简介 381
第11章 Notes API 383
11.1 Lotus Notes C API概述 383
11.1.1 Notes C API简介 383
11.1.2 Notes C API的特点 385
11.1.3 程序基本结构 386
11.2 安装Notes C API 387
11.2.1 工具包的内容 387
11.2.2 Notes C API 的安装 387
11.2.3 Notes C API 参考 388
11.2.4 示例程序 388
11.3 Notes C API 编程 389
11.3.1 数据类型 389
11.3.2 Notes 数据库的组成 389
11.3.3 拷贝Notes数据库和文档 390
11.3.4 读取文档 394
11.3.5 写入文档 399
11.4 编程实例 403
11.4.1 在Notes中可以使用的WinAPI函数 403
11.4.2 在Notes中启动一个程序并等待其执行完成 410
11.4.3 几个有用的API例子 411
附录
附录A Notes R6模板介绍 413
附录B Notes R6公式列表 418
附录C Notes R6命令列表 434
随着我国信息化建设的发展, 尤其是政府上网工程和办公自动化系统建设的逐步推进, Lotus Domino/Notes以其独特的高效性和高安全性等特点, 正越来越受到人们的重视, 其应用也日益广泛。 目前它不仅在办公自动化领域取得了绝对的优势, 而且正开始在知识管理、远程教育和企业知识门户等众多领域逐步得到新的应用。
本书全面系统地介绍Lotus Domino/Notes R6的开发思路和方法, 由浅入深, 充分注重实用性, 技术全面, 可读性强。 本书适合从事Domino/Notes开发的专业技术人员阅读, 同时也可作为企事业单位从事应用系统开发的相关技术人员的技术自学书。
本书由中南大学的武坤博士、长沙中力大方信息技术有限公司的夏中伟和文长庚工程师等共同完成。 本书在保持上一版的特性基础上, 着重介绍如何充分利用R6版本的新特点进行应用程序设计和开发的思路与技巧。
本书包括基础篇、提高篇和高级篇三部分。 基础篇在简单介绍Lotus Domino/Notes R6之后, 重点从几个方面阐明Lotus Domino/Notes R6开发与其他开发工具相比所具有的特别之处, 这些是学习Domino/Notes R6编程的关键点。 学习完此篇, 读者可以使用Domino/Notes进行简单的应用系统开发。
提高篇则以中南大学的办公自动化系统为实例, 详细介绍如何实现工作流等应用, 并从更深的层次和新的角度对基础篇中的概念进行了研究。 学习完此篇, 读者可以开发具有复杂的工作流特性的应用系统。
高级篇则详细介绍如何使用Domino进行Web编程, 如何使用外部数据与对象, 以及如何使用Notes C API开发复杂系统等, 这一篇对于需要将企业信息对外发布或需要将企业原有的用各类工具开发的应用系统中的数据引入到新开发的知识管理或办公自动化系统的技术人员有很大帮助。
由于时间仓促, 加上作者经验和水平所限, 难免有不妥之处, 恳请读者进行批评指正。