adeyi

博客园 首页 新随笔 联系 订阅 管理

1QDOMCFG登陆时在最下方出现登陆按扭
   
A
:把<div style="display:none">加到最后面

2
Q:新装了服务器,拷贝了DOMINO目录建其他服务器时仍然启动初始目录的服务器
   
A
:要修改注册表以下项目:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LotusDomino
Server(LotusDominoData)
3
Q:启动时提示Received the following error performing a
update server's
   
A
:如果是启动SRV时报错,全限定主机名输入值,如果是启动客户端NAMES库缺省用户设置为读者。
4
QLotus
Domino
AIX上无法取出数据
   A
:因为AIX操作系统的字符集不同,移植程序的时候,
unix
下的"\"是个正常的字符.所有路径都是"/"分隔的.
5
Q:在web页面向用户发邮件时填<A
href="mailto:test@test.com">test@test.com
在用outlook收信时在收件人地址显示的是[email=test/test@test.com]
[email=test/test@test.com[/email]test/test@test.com[/email[/email]]
,怎么改成<A
href="mailto:test@test.com">test@test.com
   
A
:在names.nsf中把用户的电子邮件地址也写上
6
QR6以上数据库损坏
   
A
:删除索引-重建-压缩-修复(向日志文件报告所有被处理的数据库\修复事务记录数据库)更新索引  
7
Q:在Domino
服务器上安装LEI 67失败,没有任何错误信息
   A
:如果在服务器的notes.ini里有以下参数,安装LEI
可能会失败。debug_threadid=1,安装LEI前,在notes.ini文件里把
debug_threadid=1
这一行删掉或注释掉,安装完成后再把它打开。因为JVM安装程序调用了一个叫做NotesAccess的程序与Domino
服务器
通讯。NotesAccess通过Notes API工具包向服务器发出命令,当设置了debug_threadid
时,返回的进程和线程号被当作错误信息,因此造
LEI安装失败。
8
Q:邮件出现"No route found to
domain"
   A
:修改网络域的名字即可


9
Q:如果注册的用户登陆不了
   A
tell
adminp process all
可以使注册的用户立即生效
10
Q:单独重启HTTP服务
    A
tell
http restart
可以使http任务重新启动
11
Q:如提示服务器正在使用此文件
    A
dbcache
flush
可以清除服务器中的数据库缓存.
12
Q:改了文件夹名而引起的路径问题
    A
load updall
-r
目录\*.nsf  

13
Q:把Lotus的整个目录从一台服务器拷到另一台服务器时.HTTP服务有时出现莫名奇妙的问题.如页面无法显示,HTTP突然停止服务等.
   
A
:重新执行下安装程序然后删除新安装的然后拷贝
14
Q:在Lotus里面如果把页面为作HTML时有时会出现空白的情况,但是打开页面重新保存一下就又没问题了.
   
A
:这个问题会重复出现,一会儿好,说不定什么时间又出现了,所以使用页面时要注意这个问题了,尽量使用表单比较好.
15
Q:想从字符串中查找空格的位置,发现InstrInstrbp都有问题。1.
Instr("any string has space in it"," ")==0 2.
代理
Instrbp("
某些中文","
")
会让notesdomino蹦掉。
    A
Function strInStr(str1,str2)

       Dim i,length As Integer

       strInStr=0

       length=Len(str2)

       For i=1 To Len(str1)-length+1

       If Mid(str1,i,length)=str2 Then

       strInStr=i

       Exit Function

       End If

       Next

       End Function
16
Q:在用Lotus
iNotes
的离线功能开发数据库的时候,发现Lotus iNotes一旦执行离线同步后就会把数据库的所有代码,公式,视图列公式,

      
理等全部隐藏.打开表单时提示"隐藏的公式"
但还可以看到表单的设计,但是公式等全不见了.再打开代理和视图看看发现均没有代码了

      
部分代理却又没有问题.Lotus
iNotes
还有一个问题就是会把同名的处于不同文件夹下面的数据库一起执行同步.但是在本地的Lotus   

       iNotes Data
目录下却找不到这个数据库.查看Dols
log.nsf
日记库确实发现有iNotes同步了不同目录下的同名数据库(即使是不同名只  

      
要是同一数据库的拷贝就会被同步).这样造成了多个备份Lotus\domino\data目录下的数据库设计被全部被隐藏.
   
A
:提醒大家在测试Lotus
iNotes
的离线功能时不要拿正在开发的数据库来做测试,并注意备份到其它盘符.
17
Q:当你用另一个表单来显示一文档的时候(:A表单创建的文档用B表单来显示时),当文档处于编辑状态下时且把RTF域设置为计算.
  
      
时会发现RTF域的格式混乱.无端多出N< UL
>
标签来,而文档中的RTF域值并无< UL >标签.也就是说在RTF域计算显示时出现的.
   
A
:而把RTF域改成文本并设为计算后,可以正常显示.
18
Q:在表单或页面中的JS Header中带有try
catch
结构js语句无法保存.
   A:只能写在表单中内置.
 
 
19
Q:Lotus如果把JS文件放在页面中
test.js然后再在其它页面中包含此js文件,经常会出现test.js文件内容被清空的bugtest.js

     
件不明不白的被清空了,在ie中访问test.js看到的也是空白。
   
A
:只有重新保存或刷新模板。另外把test.js文件放在资源库中的图片中,但这种方法虽然解决了test.js不会突然变空的问题,但也出现  

     
了新的问题,如果模板中的test.js文件被更新了,当数据库刷新设计的模板时test.js文件将不会被更新。
20
Q:如果一个页面中的隐藏条件太多或者过于集中都将造成隐藏条件或公式失效,特别是对表格进行隐藏时表现为连动的方式,:修改一个  

     
单元格的隐藏条件,其它单无格的隐藏条件也产生相应变化.
   
A
:解决方法是:修改一处隐藏条件后关闭表单或页面,关闭后再次打开,然后再查看隐藏条件.再设置相应的隐藏条件一般都可以解决问题.  

      
如果同一文档中有相同域名的域超过一个以上(一般由程序或代理产生).隐藏条件在读状态下无效.第二个同名域的内容无法隐藏.
21
Qbs模式下,表单中有一个复选框域,选中其中的某些值然后提交,这时候你的提交按钮如果是
@command([filesave]);@command
([fileclosewindow])
,则没问题,如果是用js写的:document.forms[0].submit(),嘿嘿,问题来了。看下面:然后在编辑模式下打开刚才这
个文档,取消所有选中项,再保存,下次打开的时候,呵呵,修改结果没变化
22
Q:在对数据库进行签名时经常碰到数据库签名成功0个错误,签名时间很快一闪而过。
   
A
:新建拷贝或做一个交叉验证这样就不需要进行签名了,另外还有一个解决方法就是在新服务器中刷新模板的设计这样也不需要签名了.
23
Q:当你使用set
doc=NotesDatabase.GetDocumentByUNID(uid)
方法时,如果uid文档不存在,那么Lotus直接报错为无效的文档ID,而不
      
是返回一个空对像.这样我们就无法用
       set
doc=NotesDatabase.GetDocumentByUNID(uid)

       if not doc is nothing
then
       end if
   
A
:这样的来判断我们是否得到了一个文档.这种情况下最后的解决方法本人使用了
       on
error resume next
       set
doc=NotesDatabase.GetDocumentByUNID(uid)

       if not doc is nothing
then
       end
if
      
来忽略这个错误.当然你也可以进行错误跳转,可以看到Return
value
中没有说明当参数错误时返回一个什么值?事实上是直接报错了.
24
Q:domino设置成一个用来发信的smtp服务器(可以不收信).
按照缺省设置,发信的时候总是说地址当中包含非ASCII字符.
     
A:
ASCII字符通常是由于中文用户名造成的。设置Domino ServerSMTP
Server
,都需要在服务器文档中设置:路由任务:邮件路由、  
     
SMTP
路由全限定的Internet主机名:主机名+Internet域名(用。连接)SMTP监听任务:启用
     
首先需要设置一台单独的服务器用于收发Internet邮件(即邮递任务为SMTP邮件邮递),然后在公用通讯录中设置全球网络域、外部的   

     SMTP
网络域和SMTP连接文档三个文档。全球网络域中主要设置:

     
基本区段:全球网络域名称,全球网络域角色“SMTP
MTA”
缺省全球网络域“SMTP地址转换区段:“Internet
   
络域后缀
Notes
网络域设置,SMTP网络域中设置:Internet网络域为*.*,任意设置一个网络域名称。
     
新建一个服务器连接文档,设置连接类型为SMTP,目的网络域与前面在"SMTP网络域"中设置的Internet网络域相同,另外应设置有一个待

   
发消息就发送完成以上配置后即可。
     
R5
SMTP可以直接使用操作系统的DNS,只需要在Domino目录的配置文档中的"路由/SMTP"页,基本区段下设置:离开本地Internet网络域

     
的消息使用SMTP,离开本地Internet网络域的转发主机:如果是通过代理服务器或防火墙连接到Internet上,则输入其IP地址;如果是直

     
接连接到Internet上,则该域为空,修改完成后,重新启动DOMINO服务器。
25

Q:
怎样屏蔽文档保存冲突
     
 当文档保存冲突时,怎样屏蔽掉系统的信息框,而弹出自己的消息框?
     A:
可以在querySave
事件里写一段程序。根据当前文档的UNID
在数据库中找到一个文档。这个文档如果是被他人修改过的,则      
$Revisions
域的值肯定和当前为保存的不同!
26

Q:
Notes异常退出时,系统信息通常提示要重新启动计算机。是否有办法不重启计算机而马上开始Notes?
     
A:
只需要手动杀死一个因Notes异常退出而遗留在内存中的一个程序:nhldaemn.exe,就可以不重启计算机,而马上开始Notes。但是当   

     
计算机上同时运行着Domino时,还需要先把它关闭,然后才能再启动Notes
27
LOTUS已知限制
数据库的最大大小是多少?最大的OS
文件大小限制-(最大为64GB
文本域的最大大小是多少?15KB(存储);15KB,显示在视图列中
RTF
文本域的最大大小是多少?
仅由可用磁盘空间限定,最大为1GB
RTF
文本域中单个段落的最大大小是多少?64KB
一个层次结构视图中有几级响应;每一级中有几个文档?31
级;300,000个文档
视图、表单等的名字最多允许包含多少个字符?数据库标题:96个字节
文件名:在WindowsUnix
平台上的最小限制为255/或由操作系统限定;本地的Macintosh工作站上为31
域名:32
视图名:64
表单名:
32
代理名:32
一个数据库中可包含多少个域?t3000(所有域名的总长度限制在
t64K
)。可以启用数据库属性允许数据库中包含多个域以使得数据库中
的唯一命名域可到达64K
一个表中可包含多少列?
64
一个表中可包含多少行?255
可以向一个数据库中添加多少视图?
没有限制;不过,随着视图数目的增加,用于显示其他视图的时间也会增加
可以向一个数据库中添加多少表单?仅受数据库大小限制。
一个视图中允许有多少列?
289
10字符列;取决于#或每列的字符数
可以向一个视图中引入多少文档?文档合计至少为350K
一个数据库中可允许有多少个层叠视图?
200
可输入的页边距的最大值(以英寸计)为多少?46
可输入的页面裁减尺寸的最大值(以英寸计)为多少?
46
可选择/打印的最大字号是多少?250
一个视图中允许有多少文档?一个视图索引最大可为
130MB
最多可向制表文本中引出多少个文档?仅受可用磁盘空间限制
一个存取控制列表中最多可有多少个项目?t50
个名字(存取控制列表的大小不能超过32767字节)
一个存取控制列表中最多可有多少个角色?75
个角色
可允许的标识符最大口令长度为多少?63个字符
对于一个多口令标识符,最多可有多少个用户拥有授权口令?8个用户

28
、怎样最大限度的提高DominoWeb应用的速度(公式篇)
1
、最好用@ClienType代替@UserRoles(4.6 or
higher)
,用于隐藏条件时。
2
、在使用@DbColumn@DbLookup时,用列数代替域名,因为Domino在计算时,会去比较域名,而用列数就会快得多。
3
、在使用@DbColumn@DbCommand@DbLookup时,尽可能的用"Cache",因为它比no-Cache要快。
4
、尽量在少量数据的隐藏视图中执行查找公式。在列值中用单个字符串或把数据放在同一列中可以减少试图的数据量。
5
、建立搜索视图时把有用的值合并在同一列中,这样可提高多值域的搜索速度。
6
、返回值用临时变量,避免出现多余的搜索。在你的公式中有时会用到多次搜索的结果,所以就应该用临时变量代替返回值。
7
、用LotusScriptGetView,SearchFTSearch的方法代替公式,这样可以至少提高15%的速度。
29
Q:全文索引特定的词"Topic"会产生错误,在一个已经创建了全文索引的数据库中,无论是通过视图中的索引框,还是LotusScript中的程序

   
索引,当针对"Topic"这个词进行索引时,都会返回错误信息:"Query not understandable."
或者中文报错
    A
"Topic"这个词实际上是Notes全文索引引擎的保留字之一.其它的保留字还包括:

    AND, NOT, OR, CONTAINS, NEAR, ACCRUE, EXACTCASE,
TERMWEIGHT, PARAGRAPH, FIELD, SENTENCE.
   
如果想要绕开此软件限制,可以通过添加统配符的方式.例如,如果您想搜索"Topic"这个词,可以添加一个"*","Topic*".或者把这  

   
个词用双引号括起来.
30
Q:将自己从管理员中删除了,有难度的挑战!
   
A
:在开始/运行中输入:“d:/lotus/domino/nlnotes.exe”,然后输入你的服务器id
的口令,然后打开要操作的数据库,直接修改acl

31Q:当管理员被开除后带走所有的ID,你该怎么办?
   
1.
ADMIN的配置中的验证菜单内的标识符属性中更改usercert口令。
   
2.
服务器文档的安全性
     
设置比较和记录与保存在通讯录中的Notes
公用密钥比较启用。
     
容许匿名的连接否、校验Notes
标识符口令起用
   3.
在个人和群组中的个人设置中设置校验Notes标识符口令
   
4.
在个人和群组中的设置中设置校验Notes标识符口令
   
5.
创建新的公钥
32
、我们做为管理员应该做些什么?
此表列出了系统管理员每天、每周或每月应当完成的服务器维护任务,以确保服务器高效运行。任务
频率
备份服务器每天、每周、每月
监控文件路由每天
运行Fixup任务以修复所有被毁坏的数据库*
服务器启用和需要时
监控共享邮件数据库(MAILOBJ.NSF)每天
监控Administration Requests数据库
(ADMIN4.NSF)
每周
监控需要维护的数据库每周
监控复制每天
监控调制解调器通讯每天
监控内存每月
监控磁盘空间
每天、每周、每月
监控服务器负载每月
监控服务器性能每月
监控Web服务器请求每月
监控服务器群集每天
*
如果数据库为Domino R5格式数据库并且没有使用事务记录,则可以使用Fixup任务修复损坏的数据库。如果数据库为Domino R5
格式数
据库并且使用了事务记录,则无法在此数据库上运行Fixup任务,这是因为Fixup
任务干扰事务记录保持数据库跟踪。必须从备份恢复损坏
的数据库。仍可以在Domino R4.x和更低格式的数据库上运行Fixup
任务。
33
、关于定时关闭服务器的方法
在服务器配置,-》程序,
添加程序,在
程序中输入server
nserver
命令中输入-q-c
quit
在定时安排中,设置执行的时间就可以了。
34
id被盗记录
domino
有个记账服务(billing),该服务可以记录所有访问这台domino的客户端信息,当然包括ip地址。就不用再用其他的工具了。
35
、怎样设计表单来跟踪文档的作者?
   
在表单上加一个隐藏的共享域,其名字可以为from运行公式为:@If(@IsNewDoc ; @UserName;
From)
,这样这个域就记录了这片文档的作
者了。
36
、在调试Lotus
Domino
程序时,经常会触发执行qnc.exe程序并退出Notes,如何解决?
  答:在调试Lotus
Domino/Notes
程序时,由于程序设计的问题,我们经常会触发执行qnc.exe程序,并提示错误。其实qnc.exe执行目的只
Notes的内存保护性措施,并不一定是程序本身有错误。为了便于调试程序,我们可以在Lotus
Domino
指令窗口内键入qnc _u,使其暂停运行
如果想恢复时可以再用qnc _i指令装载它。
37
、在R5中如何将一个Domino
Web
服务器配置为多个Web站点--虚拟服务器
解答您可以将一个Domino Web服务器设置为多个虚拟服务器,这样一个Domino
Web
服务器就可以有多个Web站点.在配置虚拟服务器之前,您
必须设置每个虚拟服务器的网络连接.在R5中每个虚拟服务器可以有自己单独的IP地址,或多个名字映射到同一个IP地址.Domino不限制虚拟
服务器的数量,该数量主要决定于操作系统和系统硬件

**
注意:在R4.6中每个虚拟服务器必须有自己单独的IP地址.
下面介绍如何创建虚拟服务器文档:
1.
管理员启动Domino
Administrator
软件,点击"配置"标签
2.
选择视图"服务器"--"所有服务器文档",选中您想创建虚拟服务器的服务器文档
3.
点击上边的按钮"web"--"创建虚拟服务器"
4.
选择"虚拟服务器",然后点击"确定"按钮
5.
在"基本"标签下,完成以下域:

1) IP
地址:该虚拟服务器使用的IP地址
2)
主机名:(可选)该虚拟服务器的主机名
3)
缺省主页:(可选)当用户访问该虚拟服务器时显示的HTML文件,只有当"主页URL"域为空时该域才起作用.
6.
点击"映射"标签,完成以下域:

1)
主页URL:当用户访问该虚拟服务器时执行的URL命令,可以显示一个数据库或服务器上的数据库列表.该域的优先级比"缺省主页"域高.
2)
在剩下的域中填写其它文件的目录
7.
点击"安全性"标签,为该虚拟服务器设置安全性选项.
8.
保存该文档
9.
在服务器控制台上,输入命令tell http restart,重新启动http服务.
如何显示虚拟服务器文档:
管理员启动Domino
Administrator
软件,点击"配置"标签,选择视图"web"--web服务器配置,则可以看到虚拟服务器文档,该文档是作
为服务器文档的答复文档出现的.

38
、怎么记录用户退出
答:用LOTUSunload事件,是在离开当前页面或关闭浏览器时激活,用这个事件给服务器发送一个url告知服务器就行了。这种方法可以最精
确的记录用户的登出时间。用会话就不那么精确了,因为它有一定的活动期,只有超时了才会记录。至于登陆信息定制domlog.nsf数据库的表
单。(主要是登录用户的信息)定制domlog.nsf数据库的视图。取到你需要的记录。
39
、将一个普通html中的表单提交给notes数据库,用htmlformAction可以指定notes的某个代理。
html
的表单这样写:
<form.
name=form1 action="<A
href="http://servername/path/dbname.nsf/agentname">http://servername/path/dbname.nsf/agentname"
method=get>
<!--method
必须是get!-->
<><INPUT id=text1
name=openagent></P>
<!--
第一个的name必须是openagent!-->
<><INPUT
id=text2
name=text2></P>
<!--
可以在加若干个input!-->
<><INPUT
id=submit1 type=submit value=Submit
name=submit1></P>
</form>
代理这样写:
1.
共享代理
2.
运行代理的时间选择:从代理列表中选择执行
3.
指定代理操作的文档选择:数据库中的全部文档
4.LotusScript.:
Dim
s As NotesSession
Set s = New NotesSession
Dim str as
String
str=s.documentcontext.query_string_Decoded(0)
'
这个得到html表单中提交的所有域(文本匡等)输入的数据,包括域名称和域的内容
Print
str
'
你可以根据这个str生成一个new document,根据内容加入域
40
Notes数据库中文件夹和视图的限制

解答
实际上产品本身并没有一个预设定的限制,只是受可用句柄(handle)数目的限制.
句柄(handle)数目的上限是10495.当库中的文件夹和视图数
目接近限制时,Notes会报内存溢出方面的错误,类似下面的这些错误信息:
对于Notes
R5.X
"Maximum number of memory segments that Notes can support has been
exceeded"
对于NotesR6.X
"Insufficient memory - too many design elements
(Desk Design Pool)."
当如果一个数据库中包含了很多文件夹, Notes将会为每一个视图或者文件夹分配内存.最终,
Notes
将无法获得足够的内存,因为它无法跟踪获
得所有内存的位置信息.(根本原因就是最大句柄数的限制.)
可选择的规避办法就是在数据库中将文件夹和视图的数目维持在合理的范围之内.或者缩短文件夹或者视图名字的长度.
41
、服务器备份范围
保存原始Domino\Data目录的cert.id   
server.id   names.nsf  log.nsf   certlog.nsf  
应用数据库
mail
目录等数据库内容、保存原始
Notes\Data
目录的user.id
备份domino\notes.ini文件、备份数据库(在domino\data下):
*.dsk
names.nsfadmin4.nsfbookmark.nsfbusytime.nsfcatalog.nsfcertlog.nsfcertsrv.nsfevents4.nsflog.nsf
mail*.box
mail\*.*nntppost.nsfstatmail.nsfstatrep.nsfwebadmin.nsf、所有IDs:
*.id\
备份  setup.nsf数据库

42
HTTP提交附件限制(在ADMINISTRATOR中的INTERNET协议中)
1
HTTP书签里HTTP协议限制里的请求内容的最大大小
2
DOMINO
WEB
引擎里的POST数据里
43
、实现批量刷新数据库设计
1
、首先要在配置或管理数据库中建立有关数据库的文档。

2
、建script库,“RefrshDesign”
Declare Function W32_NSFDbOpen Lib
"nnotes.dll" Alias "NSFDbOpen" _
( Byval dbName As String, hdb As Long) As
Integer
Declare Function W32_NSFDbClose Lib "nnotes.dll" Alias "NSFDbClose"
_
( Byval hdb As Long ) As Integer
Declare Function W32_DesignRefresh
Lib "nnotes.dll" Alias "DesignRefresh" _
(Byval Server As String, Byval hdb
As Long, Byval dwFlags As Long, _
Byval null0 As Long, Byval null1 As Long)
As Integer
Dim hDB As Long
Dim ret%
3
、在建好的数据库信息的视图上选择若干文档,点击视图操作。

Dim session As New notessession
Dim ws As New notesuiworkspace
Dim
view As notesview
Dim db As notesdatabase
Dim dc As
notesdocumentcollection
Dim doc As notesdocument
Dim fullname As String

Dim TemplateServer As String
Dim i As Integer
TempLateSever =
"*********/OA" '--
模板所在服务器的名称
Set db = session.currentdatabase
Set view =
ws.currentview.view
Set dc = db.unprocesseddocuments
If dc.count
<> 0 Then
If Msgbox("
确定用模版服务器刷新指定数据库的设计?",48 + 4,"操作提示:") = 7 Then

Exit Sub
End If
For i = 1 To dc.count
Set doc =
dc.getnthdocument(i)
fullname = doc.database_server(0) + "!!" +
doc.database_dir(0) & "/" & doc.database_filename(0)
If fullname
<> "" Then
rc = W32_NSFDbOpen(fullname,hDb)
If rc = 0 Then

'Print "Refreshing Design of" & doc.database_name(0) & "......"

Call W32_DesignRefresh(TempLateSever, hDb, 0,0,0)
rc =
W32_NSFDbClose(hDb)
'Print "ok!"
Else
End If
End If
Next

End If

44
、对门户网站邮件拒收的确认信
以下是新浪对我公司邮服拒收的处理:
尊敬的用户pennykristy
   
您好!
     
十分抱歉给您带来的不便,您的问题可以用以下方法解决:
如果您是别的网站的邮箱管理员,贵网站的邮箱给新浪发邮件发不过来,请您用贵网站的邮箱给我们的工程师发一封邮件,主题是:有关给新
浪免费邮箱发信问题
在邮件内容中,请写明:单位名称、发件服务器IP地址、联系方法、联系人、邮件地址、电话、地址,发送给<A
href="mailto:mailmaster@staff.sina.com.cn">mailmaster@staff.sina.com.cn

工程师会和您联系的。
希望我们的回答能令您满意!
若还有问题,请您注意回信的时候一定要将上次回信附上,以便解决您的问题。
更多常见问题答疑请见:<A
href="http://tech.sina.com.cn/focus/sinahelp.shtml">http://tech.sina.com.cn/focus/sinahelp.shtml
                                               
谢谢您对新浪的支持
                                               
<A
href="mailto:webmaster@vip.sina.com">webmaster@vip.sina.com
                                               
2005-05-18  
17:22:42
13
号客服专员竭诚为您服务            
新浪全国统一服务热线95105670(免长途费)
45.
批量刷新邮件设计
load convert mail\*
mail6.ntf
46
、如何更改验证者标识符(Cert.id)的口令

Administrator——>“
配置的页面,在右面工具的菜单中,打开验证。选择标识符属性。选择并打开验证者标识符(Cert.id)
输入原口令,如输入正确则打开当前验证者标识符(Cert.id)的用户标识符对话框。在基本的页面中,选择设置口令。此时,就可以
输入新的口令,并再次确认。最后,点击确定即可。

47
、管理单个数据库中的多语言输入  
可以向任意的URL命令中添加charset=[MIME charset name]
参数来返回指定字符集中所要求的表单或页面,而不管浏览器中设置的首选语
言。服务器不能自动生成charset=[MIME charset name]
参数。它必须内置在应用程序中。
语法
[url=http://Host/Database/FormName?OpenForm&charset=[MIME]http://Host/Database/FormName?OpenForm&charset=[MIME[/url]
charset
name]
这里:
FormName
是被打开的表单名称。
[MIME charset name]
是将用于返回的目标表单的字符集名称。
用法
charset=[MIME charset name]
参数将覆盖表单中的
$$HTMLContentLang
域。有关使用$$HTMLContentLang域启用多字符集以便用于数据库
输入的信息,请参阅《Lotus
Notes
Domino and Designer Release Notes -- Release
5.0.2
》中的管理单个数据库中的多语言输入
样例
某公司的销售人员分布在****和俄国。要求每个职员每月向某个单一数据库中提交一份业绩摘要。如果返回摘要表单的
URL
命令使用
charset=[MIME charset name]
参数,则销售人员可以使用同一数据库中的英语、日语和俄语字符集。服务器接到命令后,它将返回指定字符
集中的目标表单。将返回使用日语字符集的目标表单的URL
命令显示如下。
<A
href="http://www.mercury.com/sales.nsf">http://www.mercury.com/sales.nsf...
m&charset=Shift_JIS
48
、修复损坏数据库的方法
如果在数据库中遇到损坏,可以使用以下任何一种方法来尝试修正问题。由于损坏对记录的
R5
数据库并不是大问题,这些方法主要用来解决
R4
数据库和未记录的R5数据库中的损坏问题。
运行Fixup
修正损坏的视图和文档。
运行Updall修正损坏的视图和全文索引;如果视图损坏,请在运行Fixup之前运行Updall
运行
Compact
修正Fixup没有纠正的损坏问题;如果数据库是R5数据库,使用-C选项。
SHIFT+F9键重建一个视图;按
CTRL+SHIFT+F9
键重建数据库中的所有视图。
49
、为Web定制表单已处理确认信息  
Web
用户提交文档后,Domino使用缺省的表单已处理的确认信息回应用户。要重新设置缺省答复,可将计算文本域添加到表单中,给此域
命名为
$$Return
,并使用HTML作为计算值来创建定制的批准。
显示个人化答复
下面的$$Return公式返回答复“Thank
you”
,并附加上用户姓名:
who:= @If(@Left(From; " ") = ""; From; @Left(From; "
"));
@Return("<h2>Thank you, " + who +
"</h2><br><h4>
<a
href=/register.nsf/Main+View?OpenView>Main
View</a>");
50
、显示定制的错误消息
要定制显示给Web
用户的错误消息外观,向数据库中添加定制的错误消息表单。如果发生错误条件,且其定制表单存在,则Domino
使用定制
表单来显示错误消息。否则,Domino
使用缺省错误消息表单。添加到数据库的消息表单将覆盖由管理员设置的服务器范围内的消息。
要在表单和错误条件之间创建关联,创建拥有下列名称之一的表单。然后创建名为
MessageString
的可编辑的文本域来保存错误消息。添加要
与错误消息一起显示的其他文本、链接以及其他表单对象。表单名称
条件
$$ReturnAuthenticationFailure
不能校验用户名称和口令。
$$ReturnAuthorizationFailure
用户对该数据库没有足够的存取级别。
$$ReturnDocumentDeleted
成功删除文档。
$$ReturnGeneralError
出现了其他错误条件。
链接到另一页面
根据提交文档中的域值,在HTML中包括链接到另一页面的URL。下面的$$Return
公式根据用户选择的范围返回答复。例如:如果用户选择
欧洲,则消息在意大利访问我们的站点将显示一个链接,可链接到意大利的Web
站点(假定公式中的“stdAnswer”“stdFooter”已预
先定义。)。
@If(Region="Asia"; stdAnswer +
"<h2>Visit our site in <a href=\"<A

href='http://www.japan.lotus.com\">Japanhttp://www.japan.lotus.com\">Japan</a></h2>"
+ stdFooter;
Region="Europe"; stdAnswer + "<h2>Visit our site in <a
href=\"<A

href='http://www.lotus.com\it_ciao/it_ciao.htm\">Italyhttp://www.lotus.com\it_ciao/it_ciao.htm\">Italy</a></h2>"
+
stdFooter;
stdAnswer + stdFooter);
返回另一页面
要跳转到不同的Web页面,可将页面的
URL
用括号括起来放入页面。当用户提交文档时,Web客户机将显示引用的文档。例如:下面的
$$Return
公式显示Lotus
**
站点的主页。
"[http://www.japan.lotus.com]"
51
、如果希望帮助用户快速创建和阅读文档,请在设计表单时参照以下指导进行:
设计表单
避免使用大的位图或图形。
避免使用表单属性自动刷新域
相反,请对所选的域使用按关键字变化刷新域,或者编写一个
LotusScript.
域事件,当用户从特定域移出时重新计算文档或更新其他域。
避免使用包含大量计算域的长表格。
设计域
尽量少用
@DbColumn
@DbLookup公式,或者将它们替换为更快的并支持查错的LotusScript.
程序。
条件隐藏的条件中使用简单公式。
可能的话,避免重新计算域。否则,将这些域修改为填写时计算,使它们仅在文档被编写时计算,但是需要的话,可以在将来通过按钮、
操作或代理更新。
在域中使用
LotusScript.
表单事件而不使用条件公式来设置域值。
例如:要在文档被保存时重新设置状态域,可以为QuerySave事件创建一个
Script
,而不必编写一个使用@If(@IsDocBeingSaved;"x";"y")

的公式。
精简域的数目,特别是隐藏域的数目,使用表单事件而不是域公式来执行逻辑处理并避免不必要的重新计算。
例如:假如表单包含一个隐藏的计算域
State
,该域确定文档处于工作流中何处以及需要被发送到何处。通过在QuerySave表单事件中设置域
值的LotusScript.
程序来替换此域,可以仅在文档被保存时设置域值,而在文档打开或刷新时不设置域值。
52
、代理、servletCGI程序的比较  

代理、servletCGI程序都允许对Domino Web应用程序的功能进行扩展。代理可以通过表单WebQueryOpen
WebQuerySave
事件与Web
应用程序紧密集成。Servlet通过Servlet API类可以获得一些特殊功能,如会话和Cookie
管理。由于Java日益受到人们的青睐,现今使
servlet而不是CGI程序来开发新产品已成为大势所趋。但是,许多现有的CGI
程序仍在使用。
如果正在编写自己的应用程序并需要为服务器上的某些功能编程,则需对使用哪种类型的程序的选项作出选择。每种类型的程序均有各自的优
点而且可能成为特定情形下的最佳选择。以下是对每种程序类型的使用建议:
程序类型
最佳用途
代理读取或邮寄文档时执行Domino操作的程序。需要按预定时间或当数据库操作发生(如新邮件到来)时运行的程序。
Servlet
使用标准Java接口(如JDBC)的程序。使用HTTP会话维护或Cookie的程序。复杂或资源密集型Java程序。
CGI
程序
需要对系统资源进行低级别访问的程序。通过非Java API与其他产品连接的程序。

以下对这些程序的属性所作的比较对程序的选用很有帮助。
程序可使用哪种语言进行编写?
代理:JavaLotusScript.Notes
公式语言。这些语言本身均可跨平台使用。
Servlet
Java。本身可以跨平台使用。
CGI
程序:平台脚本语言,即任何能够编译为可执行文件的语言或跨平台的语言(如JavaPerl)。
程序存储在什么位置?
代理:存储在Domino
数据库中,这意味着代理可以利用数据库复制和群集服务器的功能。
Servlet
:存储在文件系统中,通常是domino\servlet目录。
CGI
程序:存储在文件系统中,通常是domino\cgi-bin目录。
程序以什么方式被Web用户调用?
代理:由WebQueryOpen
WebQuerySave
事件自动调用,或者由OpenAgent
URL
(如http://acme.com/sales.nsf/results?OpenAgent
直接调用。代理还可由服务器事件(如新邮件的到来)或预先的定时安排来触发。
Servlet
:直接由
URL
调用。Domino可识别两种类型的servletURL。第一种类型通过名称指定
servlet
(例如:
http://acme.com/servlet/SQLDatabaseQuery?month=june
)。第二种类型指定一个
Domino
管理员已经映射到servlet
的文件扩展名(
例如:http://acme.com/sqlquery.esp?month=june)。
CGI
程序:直接由URL
调用(例如:http://acme.com/cgi-bin/filesearch?string=widget)。
服务器何时将程序载入或卸载?
代理:每次调用时装入,执行完毕后卸载。
Servlet
:一次性装入;HTTP
任务关闭或重新启动时卸载。与代理或CGI程序相比,这一性能使servlet具有很大的优越性。但是,这也意
味着可以通过多个请求同时访问
servlet
类,因此必须保证servlet代码的线程安全性。
CGI
程序:每次调用时装入,执行完毕后卸载。
程序与Domino
的交互方式
代理:LotusScript.Java代理可使用Domino对象类。公式代理可使用大多数
@function

Servlet
:可通过CORBA (Common Object Request Broker Architecture)接口访问
Domino

CGI
程序:可通过CORBA接口或通过Domino CC++ API访问
Domino

程序可获得哪些安全性保障?
代理:要调用代理,Web
用户必须对包含该代理的数据库具有存放者或更高存取级别。代理可以以其创建者或用户的身份运行。Domino

所有安全特性均适用于由代理执行的操作。
Servlet
:对服务器小程序的访问可由“Domino目录中的文件保护文档来控制。如果小程序通过
CORBA
接口访问Domino,则可以指定一个
Domino
用户名和Internet口令。Domino的安全性适用于所有CORBA
操作。
CGI
程序:对该程序的访问可由“Domino目录中的文件保护文档来控制。如果程序通过C API来访问
Domino
,则会使用服务器标识符。如
果程序使用CORBA接口,则可以指定用户名和Internet口令。两种情况下,均可应用Domino
的安全性。
53
、在Domino中运行servlet  
样例
编写servlet
要编写servlet,需要一个
Java
编译器和servletAPI。二者均可从Sun Microsystem的网站<A
href="http://java.sun.com">http://java.sun.com
上获得。可下载
Java Development
Kit (JDK)
(其中包含编译器和其他基本工具)和Java Servlet Development Kit (JSDK)(其中包含servlet API
的规范
servlet.JAR文件(jsdk.jar)和样例服务器小程序)。Sun站点还提供到Web上其他servlet
资源的链接。
还可以使用各种流行的Java开发环境来编写servlet。为了提供方便,Domino服务器和Designer安装程序中包含
jsdk.jar
文件的拷贝。
这与SunJSDK提供的文件是完全一样的。
Sun
定期更新JDKJSDKDomino 5.0
支持JDK 1.1.6JSDK 2.0Domino的季度维护版(QMR)经常会结合Sun的升级内容,因此应
该检查QMR
的版本注释以检验被支持的JDKJSDK版本。
启用Domino支持的servlet
Servlet
是由Domino Java
Servlet Manager
HTTP服务器任务的一部分)来装入和调用的。Java支持servlet的运行时间是由Domino
Java
Virtual Machine (JVM)
提供的。HTTP任务启动时,可以自动启动服务器小程序管理者并装入JVMHTTP
任务将把这些操作的状态信息
写入服务器控制台和日志文件中。
Servlet
管理者是由“Domino
目录服务器文档中的设置来控制的。此设置位于服务器文档的“Internet协议”“Domino Web

附签上。设置内容如下:
设置选项
Java servlet
支持无:(缺省)HTTP任务不装入服务器小程序管理者或
JVM

Domino servlet
管理器:HTTP任务同时装入JVMservlet管理器。
第三方Servlet支持:HTTP
任务装入JVM,但不装入Domino servlet管理器。这允许使用第三方servlet管理器,如IBM公司
WebSphere
Application Server

Servlet URL
路径URL中的路径,通知DominoURL指向一个
servlet
。缺省路径为/servlet
类路径一个或多个路径的列表,servlet管理器类加载程序将搜索此列表来查找servlet
及其相关类。此设置允许添加其他路径。可以指定
目录、JAR文件和ZIP文件。路径可以是绝对路径也可以是Domino数据目录的相对路径。缺省为
domino\servlet

样例:
相对目录路径:domino\servlet
绝对目录路径:
c:\apps\MyServlets
JAR
文件:c:\javamail\mail.jar
ZIP
文件:domino\servlet\sql.zip
Servlet
文件扩充URL文件扩展的列表,示意Domino某个URL引用了
servlet
。列表中的每个扩充必须通过servlets.properties
文件中的指令映射到单一的
servlet
。缺省为无扩充。
以下设置控制Java Servlet API HttpSession接口的Domino Servlet
Manager
的运行时间支持。不使用此接口的服务器小程序不受这些设
置的影响。
注释  HttpSession接口支持与
Domino
中的“HTTP会话验证功能是完全独立的。
设置选项
会话状态跟踪启用:(缺省)servlet管理器定期检查所有
HttpSession
实例的用户活动。给定时间段内空闲的会话将被自动终止。
servlet
管理器调用实例的
HttpSession.invalidate()
成员函数通知servlet该会话已被终止。
禁用:不检查会话的活动状态。
空闲超时时间
等待用户不执行操作的分钟数,此后将终止会话。缺省为30分钟。
最大活动会话允许同时进行的活动的会话数。缺省为1,000
个会话。达到此限制时,空闲时间最长的会话将被终止。
会话持续启用:退出HTTP任务时,servlet管理器将把会话数据保存到Domino
数据目录中一个名为sessdata.ser的磁盘文件中
。会话数据将在HTTP任务再次启动时重新载入。Servlet
已经固定在会话中的对象如果执行  java.io.Serializable接口,则该对象也将被
保存。
禁用:(缺省)退出HTTP
任务时放弃所有会话数据。
JVM加载程序装入servlet
servlet
管理器类加载程序不会装入使用自身代码、创建定制类加载程序或执行其他某些受限制的操作的类。如果servlet所要求的类不能通
servlet
管理器装入,可以试用Domino JVM类加载程序进行装入。JVM加载程序通常用于从与Domino一起安装的Java归档系统(特别

java.*
lotus.*软件包)中装入类。通过将servletServlet管理者类路径移到JVM类路径,可以强制使用JVM
加载程序而不使
servlet管理器加载程序来装入服务器小程序。JVM类路径由NOTES.INI变量JavaUserClasses
指定。
设置servlet的属性
单个servlet的特殊属性可以在位于Domino数据目录中名为
servlets.properties
的文本文件中指定。可以指定以下属性:
别名
初始化参数
URL
映射扩展
servlet
管理器启动时装载
这些属性是由servlets.properties
文件中的指令来指定的。指令的通用语法是:
servlet(s).<name>.<property>=<value(s)>
指令是区分大小写的。servlets.properties
文件还可以包含空行和以“#”号开头的注释行。servlets.properties
文件不是必须进行设置的
Servlet的缺省属性是:无别名、无初始化参数、无映射扩展并按需要装入Servlet
Servlet
别名
别名指令的语法是:
servlet.<alias-name>.code=<class-name>
例如:
servlet.SQLQuery.code=sql.database.query.Servlet
出于安全性的考虑,Domino
不允许servlet名包含将要在servlet URL中使用的周期。这样能够防止恶意用户通过servlet管理器任意加
Java
包和类。如果服务器小程序有一个包名,则必须为其指定一个别名。以上的例子允许sql.database.query.Servlet servlet被诸如

http://acme.com/servlet/SQLQuery?month=june
URL调用。别名在将servlet
的实际名称对用户隐藏方面也很有用。
可以为servlet指定多个别名。servlet管理器在收到第一个指向所有别名的URL时会创建
servlet
的一个新实例。新实例创建时,
servlet
管理器将调用servletinit()
成员函数。由于别名可用在属性文件的其他指令中,因此实例可以被赋予不同的属性。例如:可以
为每个别名指定相互独立的初始化参数。同样,由于即使创建了多个实例,servlet
类也只装入一次,因此servlet的实例可以通过使用静态
类变量来共享数据。
为安全起见,如果给servlet指定了别名,则该
servlet
URL中就不能通过类名来引用。这样可以隐藏servlet的真名。
初始化参数
可以在属性文件中指定为servlet
指定初始数据。Servlet可使用ServletConfig.getInitParameter
成员函数来访问这些数据。初始化指令
的语法是:
servlet.<alias or class
name>.initArgs=<name1=value1>,<name2=value2>,...
可以指定多个参数并以逗号进行分隔。例如:

servlet.SQLQuery.initArgs=target=db2,user=Domino,cacheSize=30
URL
映射扩展
URL
映射扩展指令的语法是:
servlet.<alias or class
name>.extension=<extension> <extension> ...
可以给servlet
指定多个扩展,相互之间以空格分隔。所有扩展都必须包含在服务器记录的“Servlet file extensions”设置中。例如
:无论何时URL
指定扩展“sql”“sq”,都能使Domino调用SQLQuery
servlet
,请将“sql,sq”添加到服务器设置中,并将这一指令添
加到属性文件中:
servlet.SQLQuery.extension=sql
sq
这允许用户调用含有类似以下URLservlet
<A
href="http://acme.com/query.sql?month=june">http://acme.com/query.sql?month=june
启动时装入
缺省情况下,servlet
管理器在第一次接收到引用某个servletURL时将此servlet的类文件装入内存。但是,可以指定servlet
管理器
启动时就同时装入一个或多个servlet。这样可以防止用户在URL
首次要求装入小程序时被延误。
启动指令的语法如下:
servlets.startup=<alias or class>
<alias or class> ...
请注意“servlets”(服务器小程序)是复数形式,servlet
的名称必须使用空格分开。
如果给小程序指定了一个或多个别名,则可以在启动指令中包含这些别名。这样会使servlet
管理器装入小程序类然后为每个别名创建一个实
例。
servlet
管理器装入servlet类之后,只要不是Domino HTTP
任务由控制台命令"tell http quit"终止或由控制台命令"tell http
restart"
重新启动,这些类将一直驻留在内存中。卸载服+
务器小程序之前,servlet管理器将为servlet的每个实例调用destroy()
成员函数,以使其有机会清理资源。
JVM类加载程序装入的类在HTTP任务终止之前将一直保持加载状态。“tell http
restart”
命令不会将类卸载。
属性文件样例
以下是servlets.properties文件的样例:
# Properties
for the sql
servlet
servlet.SQLQuery.code=sql.database.query.Servlet
servlet.SQLQuery.initArgs=cache=30
servlet.SQLQuery.extension=sql
#
Properties for the mail
servlet
servlet.MailServlet.initArgs=mime=enabled,smime=disabled
# Both
servlets should be loaded at startup
servlets.startup=SQLQuery
MailServlet
# end of file
样例:Java servlet  
servlet样例返回一个HTML
页面,上面显示浏览器与服务器小程序请求一起发送的所有HTTP标头。
import java.util.*;
import
java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public
class ExampleServlet extends HttpServlet {
public void doGet
(HttpServletRequest request, HttpServletResponse response) throws
IOException
{
   
response.setContentType("text/html");
   ServletOutputStream ut =
response.getOutputStream();
   
   
out.println("<HTML><B>Headers sent with the
request:</B><BR>");
   for (Enumeration headers =
request.getHeaderNames();
   
headers.hasMoreElements();)
   {
      
String headerName = (String)
headers.nextElement();
      
out.println("<BR>" + headerName + ": " +
      
request.getHeader(headerName));
   }
   
} //
end of method
} // end of class
编好此代码后,请将ExampleServlet.class文件拷贝到服务器的
domino\servlet
中。由于此文件不需要特殊属性,因此不必创建
servlets.properties
文件。输入下面的
URL
(请使用自己的服务器名)即可从浏览器运行小程序:
<A
href="http://www.yourserver.com/servlet/ExampleServlet">http://www.yourserver.com/servlet/ExampleServlet
由服务器小程序返回的页面上的信息是由浏览器决定的。以下是使用
Netscape
浏览器返回的HTML页面:
<HTML><B>Headers received with the
request:</B><BR>
<BR>ACCEPT-LANGUAGE:
en
<BR>CONNECTION: Keep-Alive
<BR>ACCEPT: image/gif,
image/x-xbitmap, image/jpeg, image/pjpeg, image/png,
*/*
<BR>USER-AGENT: Mozilla/4.05 [en] (Win95; U
;Nav)
<BR>ACCEPT-CHARSET: iso-8859-1,*,utf-8
<BR>HOST:
test1
54
Domino应用程序和XML  
XML
最明显的优点之一就是因为这种新兴的技术建立在HTMLSGML
的标准之上,所以它代表数据共享技术的发展,这种发展不要求新的硬
件和软件。XMLDomino应用程序结合得非常好。在XML
提供了描述数据并通过网络共享功能的应用程序中,Domino提供了使数据共享安
全、可靠且有效而需要的所有其他工具。除了提供用来编写XML数据和向
XML parser
供应XML数据的媒体外,Domino Designer
还提供:
强大的开发环境,包括一套可用于建立协作性的电子商务应用程序的编程工具
保护数据所需的安全层  
从数据库访问控制到单个域加密;使用户有效定位数据的搜索能力;工作流操作的消息处理,如定单确认、电子邮件
通知和文档评阅,除Domino Designer
提供的开发工具之外,还可以得到连接服务,允许您将应用程序与以下主后端系统连接起来:
ERP
系统,如SAPPeopleSoftOracleJD
Edwards
关系数据库,如DB2SybaseOracle
事务系统,如IBM CICSMQ SeriesWebSphere
BEA Tuxedo
使用XML增强的应用程序
为了说明如何在Designer应用程序中集成
XML
,可以考虑一个售书的联机站点,其中:描述每本书的数据的XML标记是标准标记,如
<bookTitle>

<bookAuthor>
。处理书的数据的所有应用程序都可使用这些标准标记描述书的特定数据。应用程序可使用这种标准数据格式与
书的供应商以及购买者进行交互。
您可构思的任何应用程序都可使用
XML
。例如,可以构思一个自动供应商店,它维护具有自动部件的联机目录的一个电子商务站点。使用XML

作为描述部件信息的公共语言,购买代理商可以从不同的供应商处将关于部件价格和可用性的信息直接放入Domino
数据库。用户可以访问此
数据库来查找他们可联机定购的部件的最新信息。Domino
然后提供所有必要工具来完成定购部件和管理库存的安全联机事务处理。
另一个样例是人力资源的自助式服务应用程序,雇员可使用它访问并管理自己的个人数据。例如,公司可以在
Intranet
站点上发布福利
信息,允许雇员使用Notes客户机或Web浏览器联机选择自己的福利。选择之后,雇员以XML
格式将数据提交给服务器(如IBM
WebSphere Application Server
)。服务器使用Java servlet将数据传递到
HR
后端系统(例如:Peoplesoft数据库),并在事务完成后通
DominoXML标记描述被传递的数据,使该数据在Peoplesoft
数据库中代表的意义与在Domino应用程序中代表的相同。
Designer应用程序中包括XML的方法
有几种方法可将XML包括在
Designer
应用程序中并将数据供应给XML parser
可以在表单或页面上输入描述数据的XML标记。通过将表单或页面的内容作为HTML
处理,可以向能够解释标记的XML parser供应XML
XML
描述正在显示的数据。要为表单或页面上的数据定义格式和样式,可以使用通过扩展样式表语言(XSL)创建的样式表将数据转换为
HTML
,或者可以使用级联样式表(CSS)以直接在客户机上定义XML的样式。
还可以通过在列公式中包括XML标记以使用视图产生XML
数据。要将视图传递到服务器,必须将它嵌入页面或视图以便在正确的XML文档定
义标记中覆盖整个视图。
可以使用代理或servlet
动态生成或存储XML。代理用于在Domino应用程序中运行预定的过程。Servlet基于来自Web浏览器的请求在服
务器上运行。
关于
Domino DTD
和如何使用Java方法生成XML的详细信息,请参阅《Programming
Guide
》中的第三章。
应用设计
在表单或页面中放入XML  
表单是用于XML的最好工具。可以输入XML
标记,并在数据的标记中包括域。结果是XML文档,带有传递到XML parser时非常有意义的数
据。还可以将XML放到页面上。Domino
Designer
中的页面是显示信息的数据库设计元素。可对传统的应用程序内容使用页面(如主页),或
使用XML
标记来描述页面上的数据。您将在关于在视图中使用XML一节中了解到,页面有助于嵌入视图并添加处理视图所需的XML
标记。页
面还有助于创建可扩展的样式表(XSL)或级联样式表(CSS)以指导服务器或浏览器如何格式化使用XML标记描述的数据。
使用
XML
元素定义表单上的数据
当在表单或页面上使用XML元素时,必须遵循一定的规则以构建有效的XML,而且必须正确格式化XML
标记。
XML
标记与HTML标记非常相似。但有一些不同的规则用于构建XML标记,当标记数据时必须遵循它们。例如,嵌入XML的要求比嵌入
HTML
标记的要求更严格。关于使用XML标记来标记数据的详细信息,请参阅IBM XML Web站点:<A
href="http://www.ibm.com/xml">http://www.ibm.com/xml
作为在表单上使用XML
的样例,联机手册目录中每本书的输入项都可能是如下所示:
<?xml version="1.0"
encoding="UTF-8"?>
<BOOK>
<bookTitle>Chess for the
Master</bookTitle>
<bookCategory>Games</bookCategory>
<bookAuthor>Alice
B.
Charles</bookAuthor>
<bookPrice>10</bookPrice>
<bookListPrice>12</bookListPrice>
<bookISBN>0-980-38475-81</bookISBN>
<bookDatePublished>April
1997</bookDatePublished>
<bookAbstract>The authority on all the
latest chess moves, including the entire Big Blue
arsenal.</bookAbstract>
</BOOK>
XML格式创建文档
  1.
新建一个表单或页面。
  2.
输入文档类型声明,如下所示:
<?xml version="1.0" ?>

可以选择性地添加编码参考,如下所示:
<?xml version="1.0" encoding="UTF-8"
?>
  3.
输入XML元素,一般是带有子元素的根元素。
  4.
输入存有要使用XML
标记的数据的域。
  5.
选择设计”“表单属性
  6.
高级附签上,选择将文档内容作为
HTML”

该属性通知Domino将所有文档文本传递给HTTP请求者,而不必生成HTML标记。
  7.
保存并关闭表单。
  8.
要查看从表单创建的文档,可创建一个使用表单公式的视图(该表单公式解析为XML表单名称)。
使用样式表格式化
XML
数据
XML
的属性之一是它只描述数据而不提及数据的外观。对于计算机到计算机的事务,外观并不重要,但如果要将数据显示给用户时(例如:将
其贴在Web
站点上),外观就很重要。XML文档通常是依靠样式表来确定数据的布局和外观。一些浏览器为通俗元素(如<;Para><List>

<Item>
)提供简单的缺省样式,但通常情况下必须使用样式表来描述数据格式。随XML可以使用两种类型的样式表:
扩展样式表语言
(XSL)
描述如何将XML转换为HTML或另一种版本的XML
级联样式表(CSS)直接在支持CSS的浏览器上定义XML
的样式。
要使用样式表,可在文档类型声明之后和根元素之前直接插入样式表参考。例如:
<?xml version="1.0"
encoding="UTF-8"?>
<?xml-stylesheet type="text/css"
href="bookdisplay.css"?>
<BOOK>
如果在页面上创建了一个样式表,可设置页属性为将页面内容作为
HTML”

将关于书的信息转换为HTMLXSL样式表可能如下所示:
<?xml version="1.0"
?>
<xsl:stylesheet xmlns:xsl="<A
href="http://www.w3.org/TR/WD-xsl">http://www.w3.org/TR/WD-xsl" >

<xsl:template
pattern="BOOK">
<HTML>
<HEAD>
<TITLE><xsl:value-of
select="BOOKTITLE" /></TITLE>
</HEAD>
<BODY
bgcolor="F0FFF8">
<B><xsl:value-of
select="BOOKAUTHOR"/></B>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
<?xml:stylesheet
type="text/xsl" href="/roibooks.nsf/bookform.xsl"?>
级联样式表(CSS)并不将XML
转换为HTML,而是直接向服务器提供如何格式化每个XML元素的指令。书的CSS可能如下所示:
BOOK {
  display:
block;
  border: 1px solid #cccccc;
}
BOOKTITLE {
display:
block;
float: left;
margin-right: 10px;
padding:
5px;
}
BOOKAUTHOR {
  display: block;
  font-style.
italic;
}
相关主题
Designer应用程序中包括XML
Domino
应用程序和XML
XML
术语
应用设计
使用视图生成XML  
视图使用户可以控制哪些文档以XML显示并可以跟踪信息和将其转换到XML中以通过
Intranet
或万维网分发。可以在Lotus Web站点
<A
href="http://www.lotus.com/xml">http://www.lotus.com/xml
上的ROI Books
应用程序中找到此部分中描述的视图。
XML标记映射到视图
为了使用视图产生XML,必须将XML标记从DTD
映射到视图列中。一旦创建了视图并将XML标记映射到其中后,就可以将视图嵌入到页面中
。嵌入到页面中的视图在Web上保持了其在Notes
客户机应用程序中的同样功能,并使用户可以控制视图显示的大小及外观。对于显示XML
的视图,页面包含了XML声明和根元素。
样例
ROI
Books
应用程序使用列公式将文档中的每个元素和域分配给“XML
视图中的列。第一个子元素的列公式还包含打开父元素标记,而最后
一个子元素的列公式包含关闭父元素标记。例如,第一列的列公式为:
"<BOOK><BOOKTITLE>"+bookTitle+"</BOOKTITLE>"
父元素是
<BOOK>
,子元素是<BOOKTITLE>bookTitle是包含<BOOKTITLE>
标记内容的域名。<BOOK>中有多个子元素包括在此视图中,所以
<BOOK>
元素直到添加了最后一个子元素后才关闭。在ROI
Books
应用程序中,最后一个子元素被分配给视图的最后一列。最后一列的公式为

"<BOOKPUBLISHDATE>"+bookDatePublished+"</BOOKPUBLISHDATE></BOOK>"
“XML
视图被嵌入到包含XML声明和根元素<BOOKCATALOG>的页面中。
XML映射到视图
  1.
创建一个视图并打开。
  2.
选择编辑”“属性以打开视图属性框。
  3.
单击高级附签。
  
4.
“Web访问中,选择将视图内容作为HTML”。如果未选择此属性,Domino为视图内容生成
HTML
。另外,如果未选择此属性,
则嵌入页面中的视图内容不可见。
  5.
单击对象附签中的“View
Selection”
并添加选择公式以定义哪些文档将包括在视图中。例如:用于联机书店的应用程序包含已
批准定单的视图。使用以下公式为视图选择文档:
SELECT
status="Approved"
  6.
单击对象附签中的“Form. Formula”并输入公式以选择模板表单。
  
7.
将列添加到视图中。
  8.
单击视图的第一列。
  9.
使用以下语法在Script.
区域中输入列公式。
"<;PARENT><CHILD>"+fieldname+"<\CHILD>"
如果某列中有多个元素,在第一个列公式末尾添加一个分号
(;)
,并在下面为下一个元素添加列公式。
"<;PARENT><CHILD>"+fieldname+"<\CHILD>";
"<CHILD>"+fieldname+"<\CHILD>";
"<CHILD>"+fieldname+"<\CHILD>"
提示  
使用以下语法使域成为元素的一个属性。
"<CHILD
attributeName=\""+fieldname+"\">"+fieldname2+"</CHILD>
10.
单击第二列并使用以下语法将列公式键入到Script.
区域中。
"<CHILD>"+fieldname+"<\CHILD>"
11.
对每个XML元素(最后一个除外)重复步骤
10

12.
对最后一个子元素使用以下语法。

"<LASTCHILD>"+fieldname+"<\LASTCHILD></PARENT>"
在页面中嵌入视图
  
1.
打开或创建一个页面。
  2.
选择设计”“页面属性
  3.
单击页面信息附签。
  4.
“Web访问中,选择将页面内容作为HTML”,然后关闭页面属性框。
  5.
在希望显示嵌入视图的位置之上键入XML
声明。
  6.
将光标置于希望显示嵌入视图的位置。
  7.
选择创建”“嵌入元素”“视图
  8.
(可选)如果不希望在所有环境中显示相同的视图,请单击选择基于公式的视图。单击确定关闭对话框后,在编程窗格
中编写公式以便显示适当的视图。
  
9.
(可选)单击嵌入视图,并选择元素”“视图属性,更改对齐方式或样式,或在某个条件下隐藏此元素。
10.
在视图下键入一个闭合的根标记。
要删除嵌入视图,请单击工作窗格中的嵌入视图并选择编辑”“清除
相关主题
Designer
应用程序中包括XML
Domino
应用程序和XML
XML
术语
在表单或页面中放入XML
应用设计
使用代理生成
XML  
使用代理生成XML的最大优点之一是具有灵活性。可以基于事件或对URL命令的响应设置代理定时运行。这种灵活性对于创建自动
XML
应用
程序是很有必要的。例如:书店的Web
站点包含一个数据库,其客户向每月一次的新闻简报投稿。其中有一个编辑和批准工作流进程,负责在
稿件被批准后将它们移到系统中。代理每小时都要运行以收集可以发表的稿件并将稿件转换成
XML
。然后该代理将稿件作为静态XML文档置于
另一个数据库中,订阅者可在此收集文档。
ROI Books
应用程序包含一个称为
createXML
的代理,此代理为视图中的每个文档生成XML并基于浏览器或服务器的请求将其发送出去。要
查看此代理的输出,在Microsoft
Internet Explorer 5
中打开ROI Books应用程序并单击XML Agent链接,或使用OpenAgent URL
命令
运行代理:
<A
href="http://host/roiBooks.nsf/createXML?OpenAgent">http://host/roiBooks.nsf/createXML?OpenAgent
编写的代理不仅可以打印输出,也可使用
LSO
DECS连接器APIXML输出保存在字符串变量中并将其写入静态XML文档或另一个数
据库系统中。
样例:XML
代理
此样例是LotusScript.代理,它在称为XML的视图中提取每个文档、根据其内容创建XML并打印输出。
Dim s As
New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim
view As NotesView
Set db = s.currentDatabase
Set view = db.GetView( "XML"
)
Set doc = view.GetFirstDocument
Print "Content-type:
text/xml"
'Prevents Domino from sending default headers.
Print
"<BOOKCATALOG>"
'BOOKCATALOG is the root element of the XML
document.
While Not ( doc Is Nothing )
'Loop as long as there are document
objects available.
   Print  "<BOOK>"
   
'Send the parent element for each book document.
   Print
"<bookTitle>"+doc.bookTitle(0)+"</bookTitle>"
   Print
"<bookAuthor>"+doc.bookAuthor(0)+"</bookAuthor>"
   
Print
"<bookPrice>"+doc.bookDiscountPrice(0)+"</bookPrice>"
   
Print
"<bookCategory>"+doc.bookCategory(0)+"</bookCategory>"
   
Print "</BOOK>"
   'Close the book element
tag.
   Set doc = view.GetNextDocument( doc )
   'Get
the next document in the view.
Wend
Print
"</BOOKCATALOG>"
'Closes the root element.
相关主题
Designer
应用程序中包括XML
Domino
应用程序和XML
XML
术语
应用设计
使用Java servlet生成
XML  
Servlet
是为响应Web浏览器的请求而运行的Java程序。与代理不同,当Web服务器启动且驻留在服务器上时
Servlet
才装载。它们通常
用于动态生成和更新Web页以及在不同的应用程序之间交换数据。可以扩展Servlet的功能,以使用XML
作为应用程序之间的通用语言在应
用程序之间架起一座桥梁。Java servlet不仅能产生XML标记并传递到服务器以进行处理,Servlet
还可以与LotusXSL处理器进行交互作
用以格式化XML标记描述的数据。XMLXSL
配合使用,将为您提供一种定制数据传输的强大工具。
XML Servlet
应用程序的样例
作为Servlet如何促进XML
传送定制数据包的样例,可考虑一个组织,其中的域销售代表使用不同的设备(如Notes客户机、浏览器或PDA
)从Domino
数据库下载信息。销售代表可向Domino应用程序请求所有与特定客户有关的信息。Servlet将来自不同数据源的信息集合到一
起并使用合适的XML
标记将数据打包。Servlet还可以使用LotusXSL processor将样式应用于使用XML
标记的数据并以最适合于连接设备
的格式传送数据。这种情况下,通过窄带电话线与PDA连接的销售代表比通过宽带网络连接与Notes
客户机连接的销售代表获取的信息要少
以下图形显示连接设备、运行ServletDomino
应用程序以及后端数据库之间的关系:
在另一个关于Servlet如何提供有意义的定制数据的样例中,可考虑一个房地产应用程序,其所售房屋的数据存储在
Domino
数据库中。一个
房地产代理商或潜在的购买者使用Web浏览器向Domino
应用程序请求所售房屋的信息。用户指定搜索标准,如所需的卧室间数。Servlet
Domino
应用程序中运行,查找并装配与指定标准匹配的所有文档。Servlet动态折叠它在正确的XML标记(如<HOUSE>
<HOUSETYPE>
)中
找到的数据。然后使用LotusXSL processor来应用XSL样式表中的样式并将XML
标记的数据转换为HTML,将正确格式的数据推入请求的浏
览器。
创建和使用Servlet
可以从头开始创建Servlet,通过URL
引用现有的Servlet,或使用预置Servlet。每次修改Servlet时,必须重新启动服务器以查看所做
的改动。运行Servlet
涉及到编写Servlet、在Domino中启用Servlet支持以及必要情况下设置Servlet属性等方面的内容。
关于在Domino
服务器上运行Servlet的完整指导信息,请参阅Domino Designer R5的联机帮助。
关于Java servlet
的综合信息,请访问Sun Microsystems站点:<A
href="http://www.java.sun.com">http://www.java.sun.com
Servlet中包括
XML
要在Java servlet中包括XML,需要LotusXSL Processor。可以从IBMAlphaWorks
站点
<A
href="http://alphaworks.ibm.com/formula/LotusXSL">http://alphaworks.ibm.com/formula/LotusXSL
)下载
LotusXSL Processor

相关主题
使用代理生成XML

55、避免在Web应用程序中使用的特性概述  

创建特定的Web应用程序或创建NotesWeb客户机应用程序的开发者应评阅下列表格。
Web
不支持的Domino
@function
Web
不支持的Domino操作和代理属性
Web
不支持的Domino日历特性
Web
不支持的
Domino
域属性
Web
不支持的Domino表单属性
Web
不支持的Domino格式特性
Web
不支持的Domino
帧结构属性
Web
不支持的Domino水平基准线属性
Web
不支持的Domino热点属性
Web
不支持的Domino
导航器属性
Web
不支持的Domino表格属性
Web
不支持的Domino文本样式
Web
不支持的Domino视图属性

56
Domino视图小程序不支持的特性
Web
不支持的Domino @function  
下列@function
组在Web应用程序中不被支持,或者与Domino
应用程序中被支持的情况不同。
@Function                                 
注释
@Certificate  
@DbCommand
仅支持@DbCommand("Domino";"ViewNextPage")
语法和@DbCommand("Domino";"ViewPreviousPage")
语法来创建到视图中
下一个/前一个页面的链接。在其他的上下文中不支持。
@DDEExecute
@DDEInitiate
@DDEPoke
@DDETerminate  

@DocMark
@DeleteDocument  

@DocChildren
@DocDescendants
@DocLevel
@DocNumber
@DocParentNumber
@DocSiblings
仅可应用于列公式中,其他的地方无效。
@IsCategory
@IsExpandable
@Responses  

@DialogBox
@PickList
@Prompt
@IsModalHelp  

@GetPortsList  
@Environment
@SetEnvironment
ENVIRONMENT
keyword
通过申请公用网关接口(CGI)环境变量,使用预定义的域名称来收集关于Web用户环境的信息。
@MailSend  

@Domain
@MailDbName
@MailEncryptSavedPreference
@MailEncryptSendPreference
@MailSavePreference
@MailSignPreference  

@IsAgentEnabled  
@IsDocBeingMailed  

@Unique
@URLGetHeader
@URLHistory  
@UserPrivileges  

用户平台的@Platform仅返回服务器平台。使用@ClientType来区别WebDomino用户。
57
Web不支持的
Domino
操作和代理属性  
避免在Web应用程序中使用下列操作和代理特性。
特性注释
代理  

操作菜单中选择执行Web用户看不到操作菜单。可以通过使用@Command([ToolsRunMacro])的操作或按钮,或者通过

WebQuerySave
WebQueryOpen表单事件运行代理。
当文档已被粘贴时执行以及文档选择选项已选定的文档
文档已被粘贴已选定的文档的概念不能应用于Web应用程
序。表单和视图操作  
将操作置于操作菜单中Web
用户看不到操作菜单。可以替换为将操作放入按钮条中选项。
使用系统命令的缺省表单和视图操作(例如:*编辑文档和*分类)使用被支持的
@command
来创建等效的操作。
操作和代理程序  
简单操作  
表单、操作和按钮中的LotusScript.
仅支持代理。
移至文件夹简单操作Web中不能拖放到文件夹。
58
Web不支持的Domino日历特性  

Web
应用程序中避免使用下列日历特性。
特性
嵌入式群组日程安排
弹出式日历控件
日期采集器
时间控件
持续时间控件
59
Web
不支持的Domino域属性  
避免在Web应用程序中使用下列域属性。
特性
注释                     

Notes/FX
  
域信息属性  
校验后计算  
选项
显示不被支持的输入项帮助按钮。
高级属性  
帮助描述  
将域设为缺省焦点  
允许加密此域Web
用户不能阅读加密域中的数据。
邮寄或保存时签名  
姓名域  
控制属性  
选择(姓名域)Web
不支持使用地址对话框选择使用存取控制列表选择使用视图对话框选择Web用户访问基于验证名称
数据库
复选框域  

复选框选择顺序
对于一些浏览器,从复选框的多个选项返回的数据顺序与从选择顺序返回的数据顺序是不同的。数据本身是一样的,但是返
回的顺序不同。
60
Web不支持的
Domino
表单属性  
避免在Web应用程序中使用下列表单特性。
特性注释
表单信息属性  

版本控制  
匿名表单  
合并复制冲突  
缺省属性  
在文档中存储表单-
编辑模式支持读模式,但是不能应用到需要在Web上创建和编辑的文档中。
禁止域交换  
自动刷新域  

创建时:继承整个选定文档到RTF文本域(链接可折叠的RTF文本
只应用在RTF文本域。在Web
上可能对文本使用创建时:Web支持选定文档的继承,但是如果域是文本类型,此文档存在于同
一个数据库中并且数据库属性“Web
访问:当生成页面时使用JavaScript”被选中。
支持继承整个选定文档到RTF
打开时:显示相关的窗格  

安全性属性  
缺省密钥不适用于Web
禁止打印/转发/拷贝到剪贴板上  
表单元素  

布局区域使用表格来对齐表单组件。
弹出式热点  
ActiveX
组件、OLEOCX对象
Macintosh
UNIXOS/2平台上不支持。在Windows NTWindows 95
平台上支持显示,但是用户
不能保存对象的修改。
表格的边框控件如果表格最左上角的表格单元格有边框,整个的表格都显示边框;否则,由于使用HTML
的限制,不显示边框
61
Web不支持的Domino格式特性  
避免在Web应用程序中使用下列格式特性。
特性
注释
顺序列表中项目符号字符(大小和颜色)Web中不能对顺序列表中项目符号的颜色和大小进行操作。
国际字符Web
所支持的国际字符根据浏览器版本和安装在平台上的字体(用来查看和编辑Web文本)而不同。
每段的首行缩进或凸出  

完整的段落对齐方式  
图像Notes客户机和编辑器小程序来编辑文档时避免使用此特性。
顺序列表Notes
客户机和编辑器小程序中编辑列表时避免此特性。仅在编辑器小程序中编辑顺序列表时,顺序列表才被支持。
粘贴文本  
在编辑器小程序中对于粘贴文本是有限制的。关于使用编辑器小程序在Web上编辑RTF文本域的信息,请参阅设计域。
制表符  
表格
Notes
客户机和编辑器小程序编辑文档时,避免使用此特性。
无顺序列表Notes
客户机上编辑列表时避免使用此特性。仅在编辑器小程序中编辑列表时无顺序列表才被支持。
62
Web不支持的Domino帧结构属性  

避免在Web应用程序中使用下列帧结构特性。
特性注释
基本属性  
链接在帧结构中的缺省目标
目标可以用帧结构属性框和帧结构包含的设计元素来设置。设计元素可以是表单、页面或视图。如果
目标在Web
应用程序的帧结构属性框中被设置,而不是用设计元素来设置的,设计元素稍后将被代替,帧结构链接不将转到帧结构
性框中指定的目标。这样可以避免在帧结构属性框和设计元素中指定同一个目标帧结构。
63
Web
不支持的Domino水平基准线属性  
避免在Web应用程序中使用下列水平基准线特性。
特性
注释
水平基准线信息属性  
颜色Web不支持渐变
64
Web不支持的Domino热点属性  
避免在
Web
应用程序中使用下列热点特性。
特性
热点信息属性
显示热点周围的边框
65
Web不支持的Domino
导航器属性  
避免在Web应用程序中使用下列导航器特性。
特性注释
导航器  
信息属性  

运行时自动调整窗格  
对象  
多边形对象多边形对象可以在Web
上显示,但单击这些对象没有反应。
突出属性  
导航器对象的“...时突出显示选项
66
Web不支持的Domino
表格属性  
避免在Web应用程序中使用下列表格属性。
特性注释
表格布局属性  
列间距Web
应用程序不支持此属性,但是可以影响Web支持的单元格的宽度属性。
最小高度  
行间距  
表格宽度
同窗口一样,此特性在Web应用程序中被忽略。
单元格边框属性  
颜色单元格与表格有同样的颜色。
单元格边框样式Web
不支持样式选项RidgeGroove
单元格边框厚度边框厚度设置大于不被支持的1
表格/单元格背景属性  
样式
纯色是Web支持的唯一颜色选项。渐变颜色显示为第一个颜色。
单元格图像  
表格边框属性  
边框样式
由单个单元格边框确定。
边框颜色使用表格颜色。
边框效果不支持宽度
宽度  
表格页边距属性  

左对齐  
右对齐  
表格换行  
兼容性  
表格行属性  

一次只显示一行n毫秒换行并且不支持转换。
67
Web不支持的Domino文本样式  
避免在Web
应用程序中使用下列文本特性。
特性注释
字体属性  
缺省字体(Windows中的HelvTimes
Roman
  
对齐和制表位属性  
整体对齐不折行的对齐样式  
行距
若行间距不是整数,将四舍五入为最接近的整数。例如行间距为1.5将变为2
格式化工具,例如制表位、缩进、突出和附加间距HTML
不支持这些格式样式。使用表格来对齐表单组件,使用文本样式内置HTML来使用
HTML
格式样式。
文本效果属性  

阴影、凹进和凸起文本样式
68
Web不支持的Domino视图属性  
避免在Web
应用程序中使用下列视图和文件夹特性。
特性注释
视图和文件夹  
文件夹Web上的大纲中不支持个人文件夹。
视图
不支持个人视图。
选项属性  
查看菜单中显示Web
应用程序中没有查看菜单。要从文件夹导航器中排除一个视图,使用设计”“设计属性来对Web
用户
隐藏视图,也可以将视图名括在括号中以达到同样的目的,例如:(HiddenView)
打开时:转至...”选项  

刷新时选项  
样式属性  
未读行
交替行
显示选择边空
立体标题  

高级属性  
刷新索引选项
废弃索引选项视图可以被Domino服务器重复索引。
  

列信息属性  
当行可展开时显示展开标记总显示三角形。
69
Domino视图小程序不支持的特性
避免在Web
应用程序中使用下列Domino视图小程序特性。
70
Domino URL命令  
URL
命令将特定的URL
与诸如操作文档或视图项目的命令合并。添加Domino URL命令作为表单中的
HTML
,可以向用户提供导航数据库和迅
速执行其他任务的快捷方式。
Domino URL
命令语法
Domino URL
命令的语法是:
<A
href="http://Host/DominoObject?Action&Arguments">http://Host/DominoObject?Action&Arguments
这里
Host
= DNS
项目或IP地址
DominoObject = Domino
组件结构(如数据库、视图、文档、表单、导航器、代理等等)。访问
DominoObject
URL命令使用下列语法:
<A
href="http://Host/Database/DominoObject?Action&Arguments">http://Host/Database/DominoObject?Action&Arguments
这里Database = DominoObject驻留的数据库。
Action =
指定的DominoObject上所希望的操作(如
?OpenDatabase
?OpenView?OpenDocument?EditDocument?OpenForm.等等。)
Arguments
=
操作参数。(例如:Count = 10?OpenView操作结合,限制视图中显示的行数为10。)
语法指南
Domino URL
不使用服务器名称。Host用来标记服务器。
URL
命令最长为1024字节。  
Domino URL
命令中使用的特殊标记包括:$defaultView$defaultForm$defaultNav$searchForm$file$icon$help$about

$first

DominoObject
可以是下列任意一项:对于数据库,是数据库名称或复本标识符;对于其他对象,则是
DominoObject
名称、通用标识符、
NoteID
或特殊标记。例如:如果希望在URL
中指定视图,可以使用下列任何一项:视图名称、视图通用标识符、视图NoteID
$defaultView

Notes
数据库应当通过在复本标识符之前加双底线并在最后添加.nsf后缀加以指定。例如:__852562F3007ABFD6.nsf
DominoObject
的名称和通用标识符在数据库的所有复本中都是相同的,但是DominoObjectNoteID在数据库复本中很可能改变。因此,在
URL
中最好使用DominoObject名称或通用标识符。一个名称或别名可以指代两个对象。例如:同样名称的两个表单,一个对Notes用户隐藏
,另一个对
Web
用户隐藏。
Action
可能是明确或隐含的。明确操作的样例包括
?OpenServer
?OpenDatabase?OpenView?OpenDocument?OpenForm.
?
EditDocument
。隐含操作的样例包括?Open?Edit?Delete。如果不指定操作,Domino缺省指定?Open
操作。项操作也可以通过感叹号
(!)
来引导。例如:?OpenDocument也可以写为!OpenDocument
Domino作为
Microsoft Internet Information Server
的扩展运行时,服务器命令(如:?OpenServer?Login
?Logout
?Redirect
)的URL
语法中需要数据库名称。可以使用并不存在的数据库名称,这样可以提供正确的语法而不打开数据库。例如:
<A
href="http://www.mercury.com/dummy.nsf?Login">http://www.mercury.com/dummy.nsf?Login
如果需要用户验证,请追加
Login
参数至任意Domino URL
因为URL不能包括空格,所以请使用+(加号)作为分隔符。例如:<A
href="http://www.mercury.com/discussion.nsf/By+Author">http://www.mercury.com/discussion.nsf/By+Author
如果名称或参数包含的符号不是
URL
语法的一部分,并与URL语法冲突,例如:加号(+)、斜杠(\/)或连字符(&),可以使用%xx
xx为十六进制
ASCII
码值)作为分隔符。例如:<A
href="http://www.mer%+maid.com/leads.nsf/By+Salesperson?OpenView&ExpandView">http://www.mer%+maid.com/leads.nsf/By+Salesperson?OpenView&ExpandView

将参数以&分隔。例如:<A
href="http://www.mercury.com/leads.nsf">http://www.mercury.com/leads.nsf...
OpenView&ExpandView
将层次名以/(斜杠)分隔。例如:如果希望打开Discussion数据库中的Docs\By
Author
视图,请输入:
<A
href="http://www.mercury.com/discussion.nsf/Docs/By+Author">http://www.mercury.com/discussion.nsf/Docs/By+Author
如果正在为应用程序的任意部分生成自己的
URL
,请尽可能使用简单的别名以避免带有不支持的字符的URLDomino会将包含不支持字符的
URL
转换为基于32
位编码的字符。
URL
命令还可以引用带.nsf4.box后缀的数据库。它们还可以引用模板文件
(.ntf)
,但只能在预览模式下打开。
选择数据库属性对话框中的“Web访问:当生成页面时使用
JavaScript”
,则可以计算附加到鼠标点击事件的按钮和热点的URL。如果该
选项未选中,则附加到按钮和热点的URL
将在页面生成时进行计算。如果在表单上使用可编辑域,这是非常有用的。
71.
人员中文姓名注册注意
中文在简称,英文在姓

72.
数据复制在日程安排加载不执行,手工可以
必须加载系统日志记录
73.WEB
上定时刷新
在表单的html首页里写上:
\"<meta.
http-equiv=\\\'Refresh\\\'
content=\\\'60;url=././watchtower?openform\\\'>\"
74.DNS
查询
nslookup
set
type=all
你的域名
75.
微软一个罕为人知的无敌命令ntsd
:怎么才能关掉一个用任务管理器关不了的进程?我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关不
了。
 

  答1:杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠
的。其实用Windows自带的工具就能杀大部分进程:

  c:\> ntsd -c q -p PID 

  只有SystemSMSS.EXECSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd2000开始就是系统
自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行?罩菇獭J褂胣tsd自动就获得了debug
限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命
令行传递就行了。Ntsd
按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。用法:开个cmd.exe窗口,输入: 
  ntsd -c q -p PID 

  把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器->进程选项卡->查看->选择列->
勾上"PID(进程标识
)",然后就能看见了。
   
2xp下还有两个好东东tasklisttskilltasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill

序名。
76.
关闭NSD
NSD
日志。(可以通过新的Notes.ini设置SHUTDOWN_MONITOR_DISABLED=1
禁用此项功能。)
77.
关闭LDAP
1
。在Domino服务器的NOTES.INIServerTasks
行中删除LDAP
2
。检查Domino
服务器的NOTES.INI中是否有如下的行,如果有,需要把等式的值从“0”改为“1”。如果没有,需要添加此行:
DisableLDAPOnAdmin=1,
另外,还有2种方法可以绕过此问题:
1
。在Domino服务器控制台上输入命令:
TELL LDAP QUIT

但是,当Domino被重新启动后,LDAP任务还会被重新启动。
2
。在Domino的服务器文档的端口”-
“Internet
端口”- “目录页中,把“TCP/IP端口状态“SSL端口状态都改为禁用。

78.
重新验证ID到期时间
ADMINISTRATOR
内的个人群组菜单选择特定帐户然后选择重新验证。
79.
如何设置执行代理的权限

A:
执行代理的权限由公用通讯录中服务器文档里有关的域进行限制。需要注意的是,这里设置的用户名应为给代理签名时使用的用户ID,而不
是执行代理的用户ID。此后每次对代理进行修改,都需要重新进行签名。不论此代理在前台、后台或以WEB方式运行,服务器均检查对代理进行
签名的用户ID是否拥有相应的权限。

80.
为什么注册的用户在IE下无法登陆,在notes端工作正常?
原因是我忘了将会话验证设为启用了。


posted on 2009-12-16 10:25  adeyi  阅读(3564)  评论(0)    收藏  举报