Domino文档
Domino重要概念介绍

14
Domino 与 Notes 的关系: 的关系:
Lotus Notes/Domino 是 Lotus 公司开发的一套客户 /服务器模式(C/S)的系统。 服务器模式( 服务器模式 )的系统。 可以简单地这么理解: 是客户端软件, 可以简单地这么理解:Notes 是客户端软件,Domino 是服务器端的软件。 是服务器端的软件。
9
Domino 目录(Domino Directory): 目录( ):
用来存放组织、组织单元、人员、 用来存放组织、组织单元、人员、服务器及 其配置信息的数据库, 其配置信息的数据库,其文件名一般是 names.nsf。 。 在 Notes/Domino 早前版本中被称为全局通 讯录。 讯录。相当于现实生活中公安局的公 民身份证数据库和工商局的企业登记数据库。 民身份证数据库和工商局的企业登记数据库。
2
组织( 组织(Orgnization): ):
相当于现实生活中的一个单位。 相当于现实生活中的一个单位。 比如,一家公司、一所学校、一个政府机关等。 比如,一家公司、一所学校、一个政府机关等。
3
组织单元( 组织单元(Orgnization Unit): ):
相当于现实生活中单位内部的一个部门或者 单位的一个分支机构(比如,分公司)。 单位的一个分支机构(比如,分公司)。
16
Internet 用户: 用户:
Domino 服务器本身直接支持 SMTP、POP3、IMAP、 、 、 、 HTTP、LDAP 等 Internet 网络协议, 网络协议, 、 协议的客户端软件(比如, 、 所以基于 Internet 协议的客户端软件(比如,IE、 FirFox、Outlook express、Foxmail 等)可 、 、 服务器通信。 以直接与 Domino 服务器通信。这类客户端用户被称为 Internet 用户。使用网页浏览器(如IE、Firfox)访问 用户。使用网页浏览器( 、 ) Domino 服务器的方式,也被称为 WEB 方式。 服务器的方式, 方式。
Domino基础——开发

设计元素 — 视图
Domino的核心元素、是重要的数据展示手段: 通过指定选择公式确定要显示的文档; 通过视图列公式指定要显示的字段; 通过列属性指定排序,显示样式等; 每个数据库至少要有一个视图 类似RDB的视图
设计元素 — 页面
Domino的重要元素、用于显示信息: 可以包含图像、文本、大纲、表格、区段 可以作为网页、图片、附件夹来理解
关于表单
表单是Notes 应用的基础,它们决定了数据在输入输出过程中的显示方式;在一
定程度上决定了在数据库中信息是如何存储的。如果没有设计漂亮的表单,就不 会有精美的D o m i n o应用。 如果你熟悉H T M L的表单,开始时你可能会被Lotus Notes 的表单弄糊涂。 和H T M L表单一样, N o t e s的表单被用来从用户那儿获取信息(通常是通过 可编辑的域)。和H T M L表单不一样的是,N o t e s的表单也被用来显示已经 获取的信息。这些信息存储在称为文档的容器之中。 当你打开一个N o t e s表单时,填写完信息,选择保存。此时,在数据库中保 存一个新文档。这个文档中包含了一个F o r m域,它的值确认用来创建文档的表 单名,当你打开文档时,这个表单被用来显示信息。文档是数据的一部分,表单 是数据库设计的一部分。这和一个数据库中的记录(称为数据)与表(称为基础 组织)二者之间的关系相类似。在H T M L表单和N o t e s表单中,另一个不同 的地方是访问的模式。在默认情况下,当你打开一个N o t e s文档时,它处于只 读模式;读者所看到的都是在一个字处理器中创建的文档,不包含任何文本域或 下拉列表。如果你将此文档改成编辑模式,则它有着明显的不同:可编辑文本域, 下拉列表,以及其他元素都变得可见了,好像是在一个H T M L的表单之中。然 而,你所见到的并非是一个表单,确切地说,你所看到的文档,是通过一个表单 显示出来的。
IBM Domino 首席技术官指南说明书

IBM Domino“ 简介: V10迄今为止功能最强大的 Domino 版本。
“就像十项全能运动员需要在不同项目中有高水平的表现一样,IBM Domino 已经证明,它具有我们需要的多功能性和灵活性,能够推动我们数十亿美元的业务向前发展。
” —Georg Schaller ,A1 Telekom 销售信息管理主管“多年来,Domino 一直是关键业务应用和流程的核心支柱。
今天,它焕然一新,并带来前所未有的卓越功能,速度更快,更加现代化,并且总体拥有成本更低。
几十年来,Domino 帮助精通业务的首席技术官们实现了重要成果,并且一直是应用开发、业务转型和自动化领域的领导者。
现在,Domino V10 全新上市,它具有足够的灵活性,让您可以在任何需要的地“Domino V10 让梦想变为了现实!” —Fabrice Langlois ,Teradyne IT 系统架构师DOMINO 久经考验无论是 IBM ,还是 Domino 产品,安全性都是最根本的要素。
Domino 以稳定和安全为核心,从始至终都是您值得信赖的平台。
IBM 是唯一一家同时运营应用开发和安全业务的企业。
Domino 具有极高的可靠性和安全性,全球主要的会计师事务所都选择利用 Domino 来处理其审计流程。
欧洲一家著名的医疗空中救援公司采用 Domino 来管理所有直升机空中救援的协调工作。
“ 1 “我们每年在 IBM Domino 平台上存储和处理超过 2500 万笔交易,这个平台提供丰富的内置安全功能,可以确保敏感财务数据的安全。
”—Anders Holm Petersen ,Acubiz 业务开发开箱即用的 Domino 只需一次安装即可获得完整、安全的堆栈 — 一 体化应用服务器和安全堆栈,随时准备帮助您应对业务挑战。
“ 386 万 美元 “我们对高安全性的功能和简单的可管理性印象深刻....该解决方案使我们能够验证用户的数字签名,并对消息和应用进行加密,帮助确保按照我们严格的最佳实践处理所有消息。
Domino智能办公信息系统管理手册

密级:文档编号:OA003 第1.0版分册名称:智能办公信息系统管理手册S/N: 第 1 册/共 1 册智能办公信息系统管理手册目录1系统安装与升级 (4)1.1系统概述 (4)1.2D OMINO服务器的安装 (5)1.2.1 Domino R6安装 (5)1.2.2 数据文件的拷贝............................................................. 错误!未定义书签。
1.3系统客户端的安装 (26)1.3.1 编辑工作站的hosts文件............................................... 错误!未定义书签。
1.3.2 安装Notes工作站应用程序 (27)1.3.3 配置Notes工作站 (30)1.3.4 修改服务器配置 (34)1.4数据访问接口的安装和配置........................................ 错误!未定义书签。
1.4.1 访问基础软件的ODBC ................................................. 错误!未定义书签。
1.4.2 访问档案管理的接口..................................................... 错误!未定义书签。
1.4.3 访问短信前置机的ODBC ............................................. 错误!未定义书签。
1.4.4 短信息使用说明............................................................. 错误!未定义书签。
2用户设置与管理 (37)2.1用户管理设计思想 (37)2.2注册用户 (38)2.3管理用户 (38)3权限设置与管理 (39)4系统维护与管理 (40)4.1部门信息的维护 (41)4.2员工个人信息的维护 (41)4.2.1 存取控制列表 (41)4.2.2 配置简要表视图 (42)4.2.3 进行机构注册 (42)4.2.4 人员注册 (42)4.2.5 系统管理员注意要点 (43)4.3设置收发文流程 (43)4.3.1 存取控制列表 (44)4.3.2 设置公文流程 (44)4.3.3 新建流程 (44)4.4设置值班安排................................................................ 错误!未定义书签。
domino设计表单和页面

第三章设计表单和页面本章描述如何设计表单和页面。
3.1 设计表单表单和页面一样,也可以显示信息。
在页面中可以完成的事情在表单中同样可以完成。
表单与页面的区别在于:表单可以用来收集信息。
表单提供了用于创建和显示文档的结构,而文档是数据库中保存数据的设计元素。
当用户向表单中填入信息并进行保存时,此信息就作为文档保存。
当用户打开该文档时,该文档将把该表单作为模板来提供显示数据的结构。
下面是设计表单的基本步骤:●要确定所需表单的用途和类型,应考虑:要收集的信息种类和需要的元素如何显示以及在何处显示结果文档,此文档要包含并显示收集的信息。
●创建表单●向表单中添加元素●命名表单●指定表单属性●在用户访问表单所使用的浏览器中预览和测试表单3.1.1 表单元素表单元素是用于创建表单外观和功能的组件。
同页面一样,表单可以包含:●文本文本通常用于标注域,以便用户了解每个域的用途。
●水平基准线添加水平基准线以分开表单的不同部分,或者用以增强表单的可视性。
●表格使用表格可以概括信息和使各个元素(例如:域和图形)按行或列排列。
如果在表单中放置了表格,那么通过该表单创建的每个文档都将显示该表格。
●区段区段是在表单中定义的可折叠和展开的区域。
其中可以包括域、对象、布局区域和文本。
存取受控制的区段只允许特定的用户编辑此区段中的域。
●图形如果在表单的任何位置放置了图形,则通过该表单创建的每个文档都将显示该图形。
例如:在用于通信的表单中,在表单上端放置公司标志就可以创建印有抬头的信笺。
●图像映射图像映射是使用可编程热点增强的图形,当用户单击这些热点时,可以执行一些操作。
在应用程序中通常把图像映射作为导航结构来使用。
●链接在表单中,可以添加到数据库、视图、特殊文档的链接,也可以添加打开Internet 页面的URL链接。
●自动功能表单操作、按钮或热点会自动执行简单或复杂的任务。
●小程序使用Java小程序在表单中包含小程序,例如,动画图标或独立的应用程序。
domino资料整理

domino开发常用知识备忘录1.删除多值域的某个值:Doc.Field = Fulltrim(ArrayReplace(Doc.Field,finditem,"")) 用“”替换域值finditem 2.用代理得到视图中一列的值result = Evaluate( | @DBColumn(1) | ) 参看DBColumn方法3.如何用代理删除一个视图里的全部文档:方法(一):最笨的方式Dim Session As New NotesSessionDim DB As NotesDatabaseDim Doc_Tmp As NotesDocumentDim View As NotesViewSet DB = Session.CurrentDatabaseSet View = DB.GetView("($All)")Set Doc_Tmp = View.GetFirstDocumentDo While Not Doc_Tmp Is NothingCall Doc_Tmp.Remove( True )Set Doc_Tmp = View.GetFirstDocumentLoop方法(二):灵活方式Dim Session As New NotesSessionDim DB As NotesDatabaseDim Doc_Tmp As NotesDocumentDim DateTime As New NotesDateTime("2000-01-01")Dim DC As NotesdocumentcollectionSet DB = Session.CurrentDatabase'查询条件-依据视图条件Query = |@Trim(@UpperCase(Form))="ABC"|Set DC = DB.Search(Query,DateTime,0)Call DC.RemoveAll( True )方法(三):注意视图中第一列为域名值为1Dim Session As New NotesSessionDim DB As NotesDatabaseDim View As NotesViewDim Dc As NotesDocumentCollectionSet DB = Session.CurrentDatabaseSet View = DB.GetView( "($DeleteDocument)" )Set DC = View.GetAllDocumentsByKey( "1",True )If DC.Count <> 0 ThenCall DC.RemoveAll( True )End If综上所述:(1)、方法(一)与(三)都是通过视图取出文档或文档集合进行删除,而第二种方法是用查询的方式进行.建议学会第二种方式,因为以不变应万变,无论是视图删除还是文档集合删除它都能适用.(2)、用Search查询比视图查询来得快。
Domino批量文本注册用户详解

批量文本注册用户详解一文本注册格式last name; first name; middle name; ou; password; id file folder; id file names; mail server name; mail file folder; mail file name; location; comment; forwarding address; profile name; local administrator; internet address; short name; altemate name; altemate OU; mail template file name;姓; 名; 中间名; 组织单元; 口令; 标识符文件目录; 标识符文件名; 邮件服务器名; 邮件文件目录; 邮件文件名; 场所; 注释; 转发地址; 简要表; 本地管理员; internet地址; 简称; 等价名; 等价组织单元; 邮件模板文件;二文本注册基本信息姓;名;;;密码;;ID;;;Mail;;注释;;;;邮件地址;简称;;;First name :yuanfengLast name: yiShort name :yiyuanfengPassword: 123456Comment: A00947ID: yiyuanfeng.idMail: yiyuanfeng.nsfInternet address: yiyuanfeng@引入文本注册yi;yuanfeng;;;123456;;yiyuanfeng.id;;;yiyuanfeng.nsf;;A00947;;;;yiyuanfeng@;yiyuanfeng;;;;中文名字表示方法:易;袁峰;;;123456;;yiyuanfeng.id;;;yiyuanfeng.nsf;;A00947;;;;yiyuanfeng@;yiyuanfeng;;;;为了显示方便可以调整为易袁峰;;;; 123456;;yiyuanfeng.id;;;yiyuanfeng.nsf;;A00947;;;;yiyuanfeng@;yiyuanfeng;;;;下图为Domino中批量注册选项。
Domino中的一些限制

Domino中的一些限制数据库的最大大小是多少?最大的OS 文件大小限制(最大为64GB)文本域的最大大小是多少?32KB(存储);32KB(显示在视图列中)RTF 文本域的最大大小是多少?仅受可用磁盘空间限定,最大为1GBRTF 文本域中单个段落的最大大小是多少?64KB每个文档中最多能包含多少文本(摘要)数据?64KB层次结构视图中有几级答复;每一级中有几个文档?31 级;300,000 个文档表中可包含多少列?64.00表中可包含多少行?255.00可以向数据库中添加多少视图?没有限制;不过,随着视图数目的增加,切换到其他视图的时间也会增加视图中允许有多少列?289 个10 字符列;由每列的数字或字符数决定可以向视图中导入多少文档?文档合计至少为350K数据库中可允许有多少个层叠视图?200.00可输入的页边距的最大值(以英寸计)为多少?22.75可输入的页面裁减尺寸的最大值(以英寸计)为多少?46.00可选择/打印的最大字号是多少?250.00视图中允许有多少个文档?一个视图索引最大可为130MB最多可向“制表文本”中引出多少个文档?仅受可用磁盘空间限制“存取控制列表”中最多可有多少个项目?~ 950 个名字(总的“存取控制列表”的大小不能超过32767 字节)“存取控制列表”中最多可有多少个角色?75 个角色可允许的标识符最大口令长度为多少?64 字节(单字节字符集为63 个字符,某些双字节语言仅21 个字符)个人通讯录的群组中最多可有多少个联系人?“成员”文本域中允许32K 的名字一个邮件消息中最多可又多少个收件人?对于单个名字以及本地扩展的私有群组是15KB,对于在服务器上扩展的公共群组是5MB。
Domino 8.5 DAOS 功能介绍与配置指南说明书

§ 适用于任何 Domino 支持的操作系统平台, 如 Windows, AIX, Redhat Linux, Solaris, System i 等
3
DAOS 原理 STORY TITLE
§ 实现机制:(如图 1 ) 将附件加密存放在独立的路径下,从而减少 NSF 尺寸
将会显示 DAOSMgr 调用堆栈信息,请 将输出的日志发给 IBM 技术支持工程师分析
18
常见问题 STORY
§ 5.DAOSTIT文LE件夹下存放的 NLO 数量有没有上限?
答:有,子文件夹编号从 0001 开始,每个子文件夹中最多可以存放 40,000 个附件,第 40,001 个附件会被自动写到新的子文件夹 0002 下,最多可以有 1000 个 DAOS 子文件 夹,这样理论上 DAOS 支持的 NLO 上限为 40,000,000 个
§ 7. 若 NSF 中指针指向不存在 .nlo 文件,删除文档 >load fixup -f -d dbname.nsf
§ 8. 清理连续 60 天未被引用的 .nlo 文件 >tell daosmgr prune 60
17
常见问题
STORY
§
1.
TITLE
哪些数据库应该启用
DAOS
?
答:用户的邮件文件,服务器端的归档邮件, Mail*.box ,包含很多附件的数据库
DAOS.Engine.Catalog = Synchronized DAOS.Engine.Encryption = Enabled
DAOS.Engine.Status = Enabled
§ 4. 重新同步 DAOS Catalog >tell daosmgr resync
Domino学习笔记

1:ODMA(Open Document Management API)compliance,符合开放文档管理API标准,允许用户在他们惯用的应用软件中使用Domino.Doc的功能,比如在Microsoft Office和Lotus SmartSuite中,用户可以用这些应用软件在Domino.Doc中打开和保存文挡。
2:Security,提供在文挡库,档案库,binder和文档中的多种安全层次。
3:Check-in and check-out,当多个用户在同时编辑和管理同一个文档的时候,(签入和签出)功能能保证文档的完整和安全。
4:能在文档库中查找多个档案并且能以单一的视图返回结果。
5:能存储文档的多个版本,保证能灵活全面清楚地查看在文档在审核过程中各个步骤的情况。
6:生命周期(策划、回顾、批准、发布和归档文档)的管理功能。
7:Lotus Workflow integration.与Lotus Workflow集成,能进行工作流进展和作业状态的管理。
8:Sametime integration.与Sametime集成,提供了文档编辑和管理状态的实时传输。
9:与Windows Explorer集成,用熟悉的文件管理系统进行Domino.Doc的工作。
10:灵活支持所有终端用户的Web browser。
11:支持在不同的域之间的数据访问。
12:服务器到服务器端的分布式档案库及其内容的远端定位。
Domino.Doc 的结构:The Site Administration DatabaseDomino.Doc 提供the Site Administration database,并且提供Site Administrator的角色,来创建和管理数据库(libraries),它是Domino.Doc结构的基础。
The LibraryThe Library是进入Domino.Doc的端口,它是用户登录文档存储系统和存取文档的“main view”和“home page”。
Domino文档

Domino⽂档COMBEST-DOMINO新⼿指南(开发⼯具、编码语⾔选择优化、内置对象、限制、错误处理等)1.前⾔DOMINO是⼀个以电⼦邮件为基础发展起来的标准群件平台,从1982年开始发布第⼀个版本,⾄今已经有数⼗年的历史,正式注册⽤户过亿。
它最⼤的优点就是提供了⼤量内置的如SMTP、POP、LDAP、HTTP、HTTPS等集成的系统服务,所以使⽤户快速构建跨平台的解决⽅案成为可能。
整个平台由DOMINOSERVER(DOMINO服务器)、ADMINISTRATOR(DOMINO管理⼯具)、DESIGNER(DOMINO开发设计⼯具)、NOTES(DOMINO客户端)组成,在⼀些针对性应⽤⽅⾯还有LOTUS-WORKFLOW(DOMINO⼯作流设计系统)、LOTUS-DOMINO.DOC(DOMINO⽂档管理系统)、LOTUS-QUICKPLACE(DOMINO协作平台)、LOTUS-LEI(DOMINO数据交互系统)、LOTUS-LEARNINGSPACE(DOMINO 培训系统)等强有⼒⽀持。
2.开发⼯具分析2.1 帧结构集帧结构类似于HTML开发中的框架设计,帧结构集是帧结构的集合。
帧结构是较⼤帧结构集的⼀个区段或窗格,并且可以独⽴滚动。
通过使⽤帧结构集,设计者可以在帧结构之间创建链接使彼此相互关联。
帧结构集可以在⽤户转向或链接到其他页⾯或数据库是仍然保持某个页⾯的显⽰状态。
帧结构⼀般不采⽤3-D 边框,边框宽度设为0。
2.2 页⾯页⾯是⽤来显⽰信息的设计元素。
与收集信息的表单不同,页⾯主要⽤来向⽤户展⽰信息,因此⽤户不能在页⾯上创建任何字段或者⼦表单,但可以创建HTML控件。
因此页⾯可以⽤所见即所得的HTML制作⼯具来进⾏开发设计。
页⾯适⽤于静态信息或者作为其他元素的容器。
可以使⽤页⾯作为⽤户应⽤的开始界⾯或者作为提交⽂件后的提⽰界⾯。
2.3 主表单表单是⽤于在数据库中输⼊和查看信息的载体。
Domino注册用户操作步骤入门级详细手册

Domino注册用户操作步骤入门级详细手册
Domino注册用户操作步骤
1.添加注册用户流程
1)启动Domino Admin
2)选中人员,点击右键,注册个人(或通过右侧菜单,个人>注册)
3)选中注册个人之后,弹出选择验证者,验证者标识选择选择cert.id
4)点击确定,弹出lotus notes对话框,输入对应的密码
5)点击确定,弹出注册个人—新条目对话框,输入用户对应的信息,勾选高级。
6)邮件,邮件系统,选择邮件服务器、邮件模板、邮件文件名等信息,
7)地址,输入相应的因特网地址,即用户邮件地址。
8)标识信息,用户的id,修改证书截止日期和存储位置等信息。
9)组,选择用户所属群组。
10)点击注册,点击完成
11)刷新人员界面可发现多了一个t1用户,进入E:\Program
Files\IBM\Lotus\Notes\Data\ids\people下可查看到多出了一
个ID文件
12)进入lotus notes界面,可由admin登录mail转换到注册个人t1登录mail
13)点击确定,可查看到进入注册个人t1的mail邮箱中
14)也可使用lotus notes登录时,选择生成的ID文件,使用t1进行登录
注册个人t1登录之后只能访问自身的mail邮箱,无权访问其他。
Domino限制附件大小设置

Domino 技巧:如何限制附件大小大家应该知道,现在的免费(或收费),一般都有限制附件大小的功能,当某些附件超过一定容量后,就不能发送,其实Domino Server也有同样的功能,而且设置非常简单。
首先,我们合用Domino Administrator打开我们的Domino Server,选中在最右边的Configuration Tab,选中Server ->Configuration ,选择编辑当前服务器的Configuration Document.在Configuration Document 中的Router / SMTP -> Restriction and Controls -> Restriction中有一这可以设置Maximum message size,只需要在这里指定允许的最大附件容量即可。
建议不要将附件容量设的太大,不然用户的可能会很快的增肥.此方法在Domino R5 & R6下试验通过,设置完成后,需要重新启动Domino Server,或直接使用更新命令。
Domino Server可以设置某些附件较大的,在空闲的时候再发送,其实设置就是限制附件的大小。
我们可以在Send all messages as low priority if message size is between:进行设置。
还没有完成设置呀......修改用户模板方法来控制附件大小:相信作为网管的兄弟姐妹们跟我一样,为了限制附件的大小伤透脑筋!如果在服务器的配置文档中来设置,一是在一台服务器的部是不生效的,二是多台服务器时,即使生效,会产生大量的大附件滞留在服务器的mail.box中,我想修改模板是最好的选择了:打开模板,在共享操作的地方找到发送(S),发送并归档(E),在公式的前面加入: x:=Integer(Sum(Attachments > 0; AttachmentLengths; 0)/1024); If(x>5120;Do(Prompt([OK];"提示!";"附件超过5120K将不能发送!附件大小共: "+ Text(x)+ "K";Return("");"" 再修改便笺表单,选择表单属性,去掉关闭时后面的小叉就可以了.---------------------------------------------------------------------------------------------------------1.打开模板,在共享操作的地方找到发送(S),发送并归档(E),在公式的前面加入: x:=Integer(Sum(Attachments >0; AttachmentLengths; 0)/1024); If(x>5120;Do(Prompt([OK];"提示!";"附件超过5120K将不能发送!附件大小共: "+ Text(x)+ "K";Return("");"" 再修改便笺表单,选择表单属性,去掉关闭时后面的小叉就可以了.2.现在以NOTES 6.51为例(我不知道以前久版本是不是一样)模板的名字是:mail6.ntf(在NOTES目录中)打开方式可以直接在工作台打开->指定服务器(不要去找数据库),在下面文件里直接输入mail6.ntf(R5应该不是mail6.ntf,可能是mail5.ntf吧),就可以打开,用Designer 对其修改然后象你说的找到相应的表单(便笺很容易找的)Memo,找到操作,修改就可以!!!更改模版后,需要重新替换原有模版,设置才能生效!另外:关于在Designer5.0中更改公式无法成功的问题,我查询了IBM官方,确实是版本的问题,在5.x系列中都存在此问题具体参考-1.ibm./support/docview.wss?uid=swg21101466--------------------------------------------------------------------------- 关于根据系统语言,显示不同语言的提示,方法有两种请不要使用Designer5.0更改原因参考-1.ibm./support/docview.wss?uid=swg211014661、修改公式Language:=RegQueryValue("HKEY_LOCAL_MACHINE";"SYSTEM\\CurrentControlSet\\Control\\Nls\\Language";"Default");Size:=Integer(Sum(Attachments > 0; AttachmentLengths; 0)/1024000);If(Size > 10 ; If(Language = "0804";Do(Prompt([Ok];"注意:附件大小超过10M限制!";"当前附件大小为"+ Text(Size)+ "M,此将不能发送!"+Char(13)+"如有任何问题,请联系情报信息部(TEL:351)");Return(""));Do(Prompt([Ok];"Tips:Attachments Over 10M Bytes!";"The Current Attachments is "+ Text(Size)+ "M bytes,this mail cannot send!"+Char(13)+"If you have any questions,please contact misgroup(TEL:351)");Return("")));"");2、使用Lotus Script(LS用法类似于VB,但是对于一般用户来说,由于Domino类的结构不清晰,使用起来很麻烦)此方法代码相对较长,不推荐使用,我也没学过LS开发,可能有错误之处,仅供学习使用以下只包含核心代码Sub InitializeDim s As New NotesSessionDim db As NotesDatabaseDim curDB As NotesDatabaseDim dbDir As NotesDbDirectoryDim serverName As StringSet db = s.CurrentDatabaseIf db.Server = "" ThenserverName = "(local)"ElseserverName = db.ServerEnd IfIf serverName = "(local)" ThenSet dbDir = New NotesDbDirectory("")ElseSet dbDir = New NotesDbDirectory(serverName) End IfSet curDB = dbdir.GetFirstDatabase(TEMPLATE_CANDIDATE)Do Until curDB Is NothingCall countThis(curDB, db)Set curDB = dbDir.GetNextDatabaseLoopEnd SubSub countThis(curDB As NotesDatabase, reportDB As NotesDatabase) Dim curSize As DBSizeInfoOn Error Resume NextSet curSize = New DBSizeInfo(curDB)Call curSize.countIf curSize.AttachmentCount > 0 ThenCall curSize.save(reportDB)End IfEnd SubPublic Class DBSizeInfoPrivate db As NotesDatabase 'The database to be countedPublic DBSize As Variant 'Size of the databasePublic AttachmentSize As VariantPublic AttachmentCount As VariantPublic DocumentCount As VariantPublic hasError As BooleanSub new (curDB As NotesDatabase)Set db = curDBhasError = FalseEnd SubPublic Function Count As BooleanDim doc As NotesDocumentDim dc As NotesDocumentCollectionDim countResult As VariantDim sizeResult As VariantOn Error Goto Err_CountIf Not db.IsOpen ThenCall db.Open("","")If Not db.IsOpen Then'We could not open itPrint "Can't open " & db.FilePathCount = FalseGoto Exit_CountEnd IfEnd IfDBSize = db.SizeAttachmentCount = 0AttachmentSize = 0DocumentCount = 0Set dc = db.AllDocumentsSet doc = dc.GetFirstDocumentDo Until doc Is NothingIf doc.HasEmbedded ThenCall getAttachmentSizes(doc)End IfDocumentCount = DocumentCount + 1Set doc = dc.GetNextDocument(doc)LoopCount = True 'If we got here it workedExit_Count:Exit FunctionErr_Count:Print Error$ & " in Count in " & db.FilePath & " in line " & Cstr(Erl)Count = FalsehasError = TrueResume Exit_CountEnd FunctionPublic Sub Save(reportDB As NotesDatabase)Dim doc As NotesDocumentDim v As NotesViewDim searchkey(0 To 1) As StringOn Error Goto Err_SaveSet v = reportDB.GetView("(LookupByServerAndPath)")If v Is Nothing ThenSet doc = New NotesDocument(reportDB)ElseIf db.Server = "" Thensearchkey(0) = "(local)"Elsesearchkey(0) = db.ServerEnd Ifsearchkey(1) = Lcase(db.FilePath)Set doc = v.GetDocumentByKey(searchkey,True)If doc Is Nothing ThenSet doc = New NotesDocument(reportDB)End IfEnd IfCall doc.ReplaceItemValue("Form","SizeReport")Call doc.ReplaceItemValue("DBSize",Me.DBSize)Call doc.ReplaceItemValue("AttachmentSize",Me.AttachmentSize)Call doc.ReplaceItemValue("AttachmentCount",Me.AttachmentCount)Call doc.ReplaceItemValue("DocumentCount",Me.DocumentCount)If hasError ThenCall doc.ReplaceItemValue("ErrorFlag",1)Elseif doc.HasItem("hasError") ThenCall doc.RemoveItem("ErrorFlag")End IfIf db.Server = "" ThenCall doc.ReplaceItemValue("ServerName","(local)")ElseCall doc.ReplaceItemValue("ServerName",db.Server)End IfCall doc.ReplaceItemValue("FilePath",Lcase(db.FilePath))Call doc.Save(True,True)Exit_Save:Exit SubErr_Save:Print Error$ & " in " & db.FilePathResume Exit_SaveEnd SubPrivate Sub getAttachmentSizes(doc As NotesDocument)Dim attNames As VariantDim att As NotesEmbeddedObjectDim result As Variantresult = 0On Error Goto Err_getAttachmentSizesattNames = Evaluate(|Attachmentnames|, doc)If attNames(0) <> "" ThenForall an In attNamesPrint "Checking Attachment " & anSet att = doc.GetAttachment(an)result = result + att.FileSizeMe.AttachmentCount = Me.AttachmentCount + 1End ForallEnd IfExit_getAttachmentSizes:Me.AttachmentSize = Me.AttachmentSize + resultExit SubErr_getAttachmentSizes:Print Error$ & " in getAttachmentSizes doc: " & doc.UniversalID..Resume Exit_getAttachmentSizesEnd SubEnd ClassDeclare Function GetSystemDefaultLCID Lib "kernel32" () As Long Function GetOsType() As StringDim ret As StringSelect Case Hex(GetSystemDefaultLCID)Case 804:ret = "input chinese tips"Case Else:ret = "input english tips"End SelectGetOsType = retEnd Sub想修改模板是最好的选择了:打开模板,在共享操作的地方找到发送(S),发送并归档(E),在公式的前面加入: x:=Integer(Sum(Attachments > 0; AttachmentLengths; 0)/1024); If(x>5120;Do(Prompt([OK];"提示!";"附件超过5120K将不能发送!附件大小共: "+ Text(x)+ "K";Return("");"" 再修改便笺表单,选择表单属性,去掉关闭时后面的小叉就可以了.。
Domino代理创建文档

在Domino中使用Java代理创建文档实例参考import lotus.domino.Agent;import lotus.domino.AgentBase;import lotus.domino.AgentContext;import lotus.domino.Database;import lotus.domino.Document;import lotus.domino.RichTextItem;import lotus.domino.RichTextStyle;import lotus.domino.Session;import lotus.domino.View;/** 作者:wnight88 功能:在流程结束后在发文表单中创建文档时间:2008-13-14 */public class CreateDocInSwCZJ extends AgentBase{public void NotesMain(){try{Session session = getSession();AgentContext agentContext = session.getAgentContext();System.out.println("开始代理");// 获得当前的代理Agent agent = agentContext.getCurrentAgent();// 获得代理所在的数据库Database currentDB = agentContext.getCurrentDatabase();// 获得代理所在数据库中使用本代理的文档Document currentDoc = currentDB.getDocumentByID(agent.getParameterDocID());// 获得当前数据库和数据库中的文档Database thisDB = session.getDatabase(currentDB.getServer(),"dhfjq/fw.nsf");Document thisDoc = thisDB.getDocumentByUNID(currentDoc.getItemValueString("goalUNID"));// 获得工作流实例库中的正文Database workInstanceDB = session.getDatabase(currentDB.getServer(), "dhfjq/workinstance.nsf");View workInstanceView = workInstanceDB.getView("wordlist");Document workInstanceDoc = workInstanceView.getFirstDocument();while (workInstanceDoc != null){if (workInstanceDoc.getItemValueString("unid").equals(thisDoc.getUniversalID())){break;}workInstanceDoc = workInstanceView.getNextDocument(workInstanceDoc);}// 要拷贝数据到的数据库Database subDB = session.getDatabase(currentDB.getServer(), "dhfjq/sw.nsf");// 创建新文档,并赋所有域的值Document subDoc = subDB.createDocument();thisDoc.copyAllItems(subDoc, true);subDoc.replaceItemValue("form", "NewDoc");subDoc.replaceItemValue("unid", subDoc.getUniversalID()); subDoc.save(true, true);// 设置签收人String qsr = "金静";subDoc.replaceItemValue("EndUser", qsr);subDoc.replaceItemValue("AddName", qsr);subDoc.replaceItemValue("readflag", new Integer("1"));subDoc.replaceItemValue("ProcessUNID","488293C619A52C784825757D00343E90");subDoc.replaceItemValue("ProcessSubject", "财政局收文流程"); subDoc.replaceItemValue("Stauts", "ProcessIng");subDoc.replaceItemValue("Author", "金静");// subDoc.replaceItemValue("IsNewDocFlag", "yes");// subDoc.replaceItemValue("readflag", "1");// 创建文档,保存if (subDoc.save()){System.out.println("文档已创建!");}else{System.out.println("文档无法创建!");}// 在workInstance数据库的创建新文档,并拷贝正文Document subWorkInstanceDoc = workInstanceDB.createDocument(); if (workInstanceDoc != null){workInstanceDoc.copyAllItems(subWorkInstanceDoc, true);// 设置正文文档的ID和新建的文档ID一样,相关联subWorkInstanceDoc.replaceItemValue("unid", subDoc.getUniversalID());// 创建文档,保存if (subWorkInstanceDoc.save()){System.out.println("正文已创建!");}else{System.out.println("正文无法创建!");}}//发送待办事宜Database todoDB = session.getDatabase(thisDB.getServer(), "dhfjq/todo.nsf");Document todoDoc = todoDB.createDocument();todoDoc.appendItemValue("form", "ShowNeedDo");RichTextStyle richStyle = session.createRichTextStyle();richStyle.setPassThruHTML(1);RichTextItem rti = todoDoc.createRichTextItem("resume");rti.appendStyle(richStyle);rti.appendText("请尽快办理");todoDoc.appendItemValue("username","金静");todoDoc.appendItemValue("Subject",subDoc.getItemValueString("Subject"));todoDoc.appendItemValue("StartDate",subDoc.getCreated());todoDoc.appendItemValue("Type","财政局收文流程");String url = "/dhfjq/sw.nsf/0/" + subDoc.getUniversalID() + "?editdocument";todoDoc.appendItemValue("URL",url);todoDoc.appendItemValue("SentUser","金静");// 创建文档,保存if (todoDoc.save()){System.out.println("待办事宜已创建!");}else{System.out.println("待办事宜无法创建!");}}catch (Exception e){e.printStackTrace();}}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
COMBEST-DOMINO新手指南(开发工具、编码语言选择优化、内置对象、限制、错误处理等)1.前言DOMINO是一个以电子邮件为基础发展起来的标准群件平台,从1982年开始发布第一个版本,至今已经有数十年的历史,正式注册用户过亿。
它最大的优点就是提供了大量内置的如SMTP、POP、LDAP、HTTP、HTTPS等集成的系统服务,所以使用户快速构建跨平台的解决方案成为可能。
整个平台由DOMINOSERVER(DOMINO服务器)、ADMINISTRATOR(DOMINO管理工具)、DESIGNER(DOMINO开发设计工具)、NOTES(DOMINO客户端)组成,在一些针对性应用方面还有LOTUS-WORKFLOW(DOMINO工作流设计系统)、LOTUS-DOMINO.DOC(DOMINO文档管理系统)、LOTUS-QUICKPLACE(DOMINO协作平台)、LOTUS-LEI(DOMINO数据交互系统)、LOTUS-LEARNINGSPACE(DOMINO 培训系统)等强有力支持。
2.开发工具分析2.1 帧结构集帧结构类似于HTML开发中的框架设计,帧结构集是帧结构的集合。
帧结构是较大帧结构集的一个区段或窗格,并且可以独立滚动。
通过使用帧结构集,设计者可以在帧结构之间创建链接使彼此相互关联。
帧结构集可以在用户转向或链接到其他页面或数据库是仍然保持某个页面的显示状态。
帧结构一般不采用3-D 边框,边框宽度设为0。
2.2 页面页面是用来显示信息的设计元素。
与收集信息的表单不同,页面主要用来向用户展示信息,因此用户不能在页面上创建任何字段或者子表单,但可以创建HTML控件。
因此页面可以用所见即所得的HTML制作工具来进行开发设计。
页面适用于静态信息或者作为其他元素的容器。
可以使用页面作为用户应用的开始界面或者作为提交文件后的提示界面。
2.3 主表单表单是用于在数据库中输入和查看信息的载体。
表单可以包含1)存储数据的字段 2)标注字段或者提供指示的文本3)存储用户想要在多个表单上使用的表单元素集合的子表单4)可以结合图形和字段的布局区域它们所采用的方法可以提供更大的设计灵活性5)可以使表单更容易理解的图形 6)汇总或者组织信息的表格7)对象 OLE 预定 Notes/FX(TM)字段文件附件 URL 以及可以扩展Notes 文档范围的链接8)可以自动执行函数的动作按钮9)可以强化文档外观的背景颜色和图形10)在表单中包含其他设计元素的嵌入式元素在应用上细分DOMINO系统中表单一般分为主表单和子表单,而主表单又分为数据存放表单和数据展现表单。
其中数据存放表单一般的设计处理方式是数据字段设计在该主表单中,公共控制信息(如流转控制)设计成子表单(component)。
再将该子表单加入到主表单中。
确保整体设计结构清晰,在内容上主要包含的内容有:数据信息、按钮操作、用户界面、功能子表单等。
而数据显示表单的设计处理方式是用于在浏览器中进行数据浏览的表单,为了保证界面的友好性,一般采用CSS定义整体风格。
2.4 视图视图是访问数据库中文档的入口,每一个数据库至少必须包含一个视图,基于所选择的准则,视图可以显示数据库的文档子集或者所有的文档。
基于文档的内容,也可以对文档进行分组和排序。
在创建视图的之前一定要:* 视图有一个中文名称和一个英文别名,在代码中始终引用英文别名* 视图的列样式、列头字体、颜色、大小在同一个数据库内应该统一* 视图标题栏高度,行间距应该统一设定好,一般设定为1和1 1/4* 如果视图需要分类折叠显示,要出现可折叠标记* 视图上的操作应该出现在操作栏的左侧* 视图应该行数应该使用交替颜色显示* 视图列的最后一列应该扩展到窗口宽度* 用户不直接查看的视图应定义为隐藏视图* 如果视图要嵌入到页面,用于Web访问,则应该选定“在浏览器中使用小程序”2.5 文件夹文件夹是用来存储文档的容器。
文件夹与视图具有相同的外观,而且其设计方法也与视图大致相同。
其区别仅在于应用的时候视图具有可以自动选择并显示文档的文档选择公式,而文件夹则不是,它是通过用户手动的添加来显示文档的。
所以在设计的时候,其设计知道方法可以大致跟视图相类似。
2.6 共享代码2.6.1 代理代理Agent可以让用户在Domino中自动执行许多任务。
它们是可以在数据库中为用户执行特定任务的独立程序。
例如可以归档文档、改变字段值、发送邮件消息、删除文档或者执行与外部应用进行交互这样的功能更为强大的动作。
代理还能够进行设置在服务器上基于安排或者在出现特定事件时自行运行。
2.6.2 WEB服务Web服务和DominoDomino 6是一个理想的应用程序,用于宿主或使用Web服务。
由于Web服务主要是由XML数据组成。
因为DOMINO目前有更多被设计用来特殊处理XML的LotusScript类,因此DOMINO对WEB服务有天生的好支持。
也有一些有用的工具可提供对Domino里Web服务的附加的支持,它们是:对LotusScript的 SOAPConnect-这个工具包含了一个LotusScript库它允许您使用和宿主Web服务。
MS SOAP工具包-由Microsoft 提供的允许Domino在Windows平台上使用或宿主Web服务.NET-来自Microsoft 的一个工具集让您使用和宿主Web服务这个工具集可由Lotus Notes/Domino经由Common Object Model (COM)接口访问。
以下的段落接着描述WEB服务的本质。
Web服务可以被定义为一个应用程序它提供了一个API,以便将自己与其他应用程序集成在一起。
Web服务的主要功能是提供过程到过程的交互作用而不需要用户界面,也就是说您可以通过与API 接口远程调用这个应用程序,调用这个服务的应用程序被称为客户机程序。
XML位于Web服务的核心并为描述远程过程调用Remote Procedure Call Web 服务以及Web服务目录提供了一种公共的语言。
Web服务这个短语有时可能会容易误解好像它意味着使用Web浏览器,然而并不总是这种情况,有许多不同的调用Web服务的方法例如一个HTTP请求或者来自另一个应用程序的一个电子邮件是其中的一些方法。
调用一个Web服务的最常用的方法之一是通过发送一个HTTP Get 请求到API。
经由Internet 访问API有许多优点,API可以被任何具有Web服务地址的全球客户机访问,Web 服务应用程序里的一个修改只需要在数据源完成,Web 服务可以以任何语言和在任何平台上书写,只要那些Web服务根据Web服务标准可访问,为了使协同性有效,Web服务平台必须提供一个标准系统,该系统将与使用不同的平台和/或编程语言的系统有接口。
一个Web 服务平台需要描述此Web服务并提供其他应用程序为了调用这个Web服务所需要的信息。
构成Web服务平台的主要技术如下:XML-这是用于在Web服务平台上表示数据的基本格式;SOAP-简单对象访问协议 (Simple Object Access Protocol) Web服务的远程过程调用(RPC)工具SOAP是一个传输协议,它使用HTTP POST请求来传输。
方法所返回的响应是一个XML文档。
WDSL Web服务描述语言Web Service Description Language-是一个基于XML的文法,它用于描述Web服务及其函数参数和返回值。
UDDI-通用描述发现和集成(Universal Description, Discovery, and Integration)一个基于XML的目录它表示一种技术规范用于发布和发现业务和Web服务。
2.6.3 大纲每个数据库都需要一种方法进行导航。
可以利用大纲设计起来创建大纲,给用户提供一个自动链接,具有个人风格的站点导航图。
大纲可以包含背景图形、定制图标、链接或者操作。
所以在设计大纲的时候,对大纲采用的大纲项图标,以及大纲项所采用的字体,字号,颜色,mouseover的颜色等都要事先定制,颜色,图标采用不一定要相同,但是应该在保证风格统一,并且与整体界面没有冲突的前提下,体现出各自的特点。
大纲项与大纲都应该采用别名的形式,在程序调用中调用英文别名2.6.4 子表单子表单 subform是用户可以在多个表单中使用的表单片段。
例如用户可以在子表单中建立公司的信头,然后在各种商业表单中使用这个子表单。
子表单能够包含与常规表单相同的元素,可以基于公式在表单上加载子表单。
2.6.5 共享域共享域类似于字段,但是可以在不同的表单中使用,如果用户改变共享域的属性,那么这些改变就会应用于所有出现这个字段的场合,他的主要作用是域进行一次定义而后重复使用。
便于设计改动时的工作。
2.6.6 自动化组件向应用程序中添加自动功能可以加速执行重复任务、路有文档、更新信息、执行计算、运行程序以及检查错误的自动化组件:* 操作按钮通过点击它们,可以使某些任务得以自动完成。
特别是对于Web浏览器用户,需要使用操作来模拟Notes菜单项。
* 热点热点是用户单击后可执行操作、运行公式或Script以及转向链接的文本或图片。
热点是可以到另一个Web站点、数据库或数据库元素的链接,还可以是按钮、弹出式文本或公式以及操作。
2.6.7 共享操作共享操作是在表单或视图中设置用户激活的任务。
共享操作的设计位置虽然与操作不同,但是设计方法两者没有什么区别,对操作设计的一些规定,在此同样适用。
2.6.8 SCRIPT库脚本库是集中存放共享代码的位置具体可包含LotusScript、JavaScript以及Java库。
2.6.9 导航器导航器是用户能够包含可以用于导航的可编程区域和热点的图形。
热点通常可以指示用户前往数据库或者Web站点的另外部分。
但是总的来讲,导航器是NOTES 4.X版本的产物,是一项过时的技术,所以在开发的时候不再建议开发人员使用导航器,而去使用页面嵌入大纲来对应用进行导航。
2.6.10 层层layer这种设计元素不能在数据库级别建立,而是要在页面表单或者子表单中建立。
层可以让用户在页面表单或者子表单上放置重叠的内容块,因为用户能够控制信息的位置大小和内容。
所以层能够让用户进行灵活的设计,用户能够建立和堆砌多个层使其彼此交错。
透明层可以展现其下的层不透明的层可以隐藏其下的层。
层的内容要依赖于用户要在页面还是表单上建立层,当用户在页面上建立层的时候层就可以包含与页面包含内容相同的元素,例如用户能够增加文本和图形等内容;当用户在表单上建立层的时候层就能够包含与表单包含内容相同的元素例如用户能够增加文本和图形以及受控的访问部分字段和子表单2.6.11 DXLDomino数据的XMLExtensible Markup Zarauage可扩展标记语言表示称为DXL。