代理这样写: 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.nsf、admin4.nsf、bookmark.nsf、busytime.nsf、catalog.nsf、certlog.nsf、certsrv.nsf、events4.nsf、log.nsf mail*.box、mail\*.*、nntppost.nsf、statmail.nsf、statrep.nsf、webadmin.nsf、所有IDs: *.id\备份 setup.nsf 数据库
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
HOST: test1 54、Domino 应用程序和 XML XML 最明显的优点之一就是因为这种新兴的技术建立在 HTML 和 SGML 的标准之上,所以它代表数据共享技术的发展,这种发展不要求新的硬 件和软件。XML 与 Domino 应用程序结合得非常好。在 XML 提供了描述数据并通过网络共享功能的应用程序中,Domino 提供了使数据共享安 全、可靠且有效而需要的所有其他工具。除了提供用来编写 XML 数据和向 XML parser 供应 XML 数据的媒体外,Domino Designer 还提供: 强大的开发环境,包括一套可用于建立协作性的电子商务应用程序的编程工具 保护数据所需的安全层 从数据库访问控制到单个域加密;使用户有效定位数据的搜索能力;工作流操作的消息处理,如定单确认、电子邮件 通知和文档评阅,除 Domino Designer 提供的开发工具之外,还可以得到连接服务,允许您将应用程序与以下主后端系统连接起来: ERP 系统,如 SAP、PeopleSoft、Oracle 和 JD Edwards 关系数据库,如 DB2、Sybase 和 Oracle 事务系统,如 IBM CICS、MQ Series、WebSphere 和 BEA Tuxedo 使用 XML 增强的应用程序 为了说明如何在 Designer 应用程序中集成 XML,可以考虑一个售书的联机站点,其中:描述每本书的数据的 XML 标记是标准标记,如 和 。处理书的数据的所有应用程序都可使用这些标准标记描述书的特定数据。应用程序可使用这种标准数据格式与 书的供应商以及购买者进行交互。 您可构思的任何应用程序都可使用 XML。例如,可以构思一个自动供应商店,它维护具有自动部件的联机目录的一个电子商务站点。使用 XML
作为描述部件信息的公共语言,购买代理商可以从不同的供应商处将关于部件价格和可用性的信息直接放入 Domino 数据库。用户可以访问此 数据库来查找他们可联机定购的部件的最新信息。Domino 然后提供所有必要工具来完成定购部件和管理库存的安全联机事务处理。 另一个样例是人力资源的“自助式服务”应用程序,雇员可使用它访问并管理自己的个人数据。例如,公司可以在 Intranet 站点上发布福利 信息,允许雇员使用 Notes 客户机或 Web 浏览器联机选择自己的福利。选择之后,雇员以 XML 格式将数据提交给服务器(如 IBM 的 WebSphere Application Server)。服务器使用 Java servlet 将数据传递到 HR 后端系统(例如:Peoplesoft 数据库),并在事务完成后通 知 Domino。XML 标记描述被传递的数据,使该数据在 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 站点:href="http://www.ibm.com/xml">http://www.ibm.com/xml 作为在表单上使用 XML 的样例,联机手册目录中每本书的输入项都可能是如下所示: encoding="UTF-8"?> Chess for the Master Games Alice B. Charles 10 12 0-980-38475-81 April 1997 The authority on all the latest chess moves, including the entire Big Blue arsenal.
以 XML 格式创建文档 1. 新建一个表单或页面。 2. 输入文档类型声明,如下所示:
可以选择性地添加编码参考,如下所示: ?> 3. 输入 XML 元素,一般是带有子元素的根元素。 4. 输入存有要使用 XML 标记的数据的域。 5. 选择“设计”“表单属性”。 6. 在“高级”附签上,选择“将文档内容作为 HTML”。 该属性通知 Domino 将所有文档文本传递给 HTTP 请求者,而不必生成 HTML 标记。 7. 保存并关闭表单。 8. 要查看从表单创建的文档,可创建一个使用表单公式的视图(该表单公式解析为 XML 表单名称)。 使用样式表格式化 XML 数据 XML 的属性之一是它只描述数据而不提及数据的外观。对于计算机到计算机的事务,外观并不重要,但如果要将数据显示给用户时(例如:将 其贴在 Web 站点上),外观就很重要。XML 文档通常是依靠样式表来确定数据的布局和外观。一些浏览器为通俗元素(如 <;Para>、和
)提供简单的缺省样式,但通常情况下必须使用样式表来描述数据格式。随 XML 可以使用两种类型的样式表: 扩展样式表语言 (XSL) 描述如何将 XML 转换为 HTML 或另一种版本的 XML。 级联样式表 (CSS) 直接在支持 CSS 的浏览器上定义 XML 的样式。 要使用样式表,可在文档类型声明之后和根元素之前直接插入样式表参考。例如: encoding="UTF-8"?> href="bookdisplay.css"?> 如果在页面上创建了一个样式表,可设置页属性为“将页面内容作为 HTML”。 将关于书的信息转换为 HTML 的 XSL 样式表可能如下所示: ?> http://www.w3.org/TR/WD-xsl" >
pattern="BOOK">
select="BOOKTITLE" />
bgcolor="F0FFF8"> select="BOOKAUTHOR"/>
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 站点 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 视图”中的列。第一个子元素的列公式还包含打开父元素标记,而最后 一个子元素的列公式包含关闭父元素标记。例如,第一列的列公式为: ""+bookTitle+"" 父元素是 ,子元素是,bookTitle 是包含 标记内容的域名。中有多个子元素包括在此视图中,所以 元素直到添加了最后一个子元素后才关闭。在 ROI Books 应用程序中,最后一个子元素被分配给视图的最后一列。最后一列的公式为 : ""+bookDatePublished+"" “XML 视图”被嵌入到包含 XML 声明和根元素的页面中。 将 XML 映射到视图 1. 创建一个视图并打开。 2. 选择“编辑”“属性”以打开“视图”属性框。 3. 单击“高级”附签。
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 命令 运行代理: href="http://host/roiBooks.nsf/createXML?OpenAgent">http://host/roiBooks.nsf/createXML?OpenAgent 编写的代理不仅可以打印输出,也可使用 LSO 或 DECS 连接器 API 将 XML 输出保存在字符串变量中并将其写入静态 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 is the root element of the XML document. While Not ( doc Is Nothing ) 'Loop as long as there are document objects available. Print ""
'Send the parent element for each book document. Print ""+doc.bookTitle(0)+"" Print ""+doc.bookAuthor(0)+""
Print ""+doc.bookDiscountPrice(0)+""
Print ""+doc.bookCategory(0)+""
Print "" 'Close the book element tag. Set doc = view.GetNextDocument( doc ) 'Get the next document in the view. Wend Print "" '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 标记描述的数据。XML 与 XSL 配合使用,将为您提供一种定制数据传输的强大工具。 XML Servlet 应用程序的样例 作为 Servlet 如何促进 XML 传送定制数据包的样例,可考虑一个组织,其中的域销售代表使用不同的设备(如 Notes 客户机、浏览器或 PDA )从 Domino 数据库下载信息。销售代表可向 Domino 应用程序请求所有与特定客户有关的信息。Servlet 将来自不同数据源的信息集合到一 起并使用合适的 XML 标记将数据打包。Servlet 还可以使用 LotusXSL processor 将样式应用于使用 XML 标记的数据并以最适合于连接设备 的格式传送数据。这种情况下,通过窄带电话线与 PDA 连接的销售代表比通过宽带网络连接与 Notes 客户机连接的销售代表获取的信息要少 。以下图形显示连接设备、运行 Servlet 的 Domino 应用程序以及后端数据库之间的关系: 在另一个关于 Servlet 如何提供有意义的定制数据的样例中,可考虑一个房地产应用程序,其所售房屋的数据存储在 Domino 数据库中。一个 房地产代理商或潜在的购买者使用 Web 浏览器向 Domino 应用程序请求所售房屋的信息。用户指定搜索标准,如所需的卧室间数。Servlet 在 Domino 应用程序中运行,查找并装配与指定标准匹配的所有文档。Servlet 动态折叠它在正确的 XML 标记(如和 )中 找到的数据。然后使用 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 站点:href="http://www.java.sun.com">http://www.java.sun.com 在 Servlet 中包括 XML 要在 Java servlet 中包括 XML,需要 LotusXSL Processor。可以从 IBM 的 AlphaWorks 站点 (href="http://alphaworks.ibm.com/formula/LotusXSL">http://alphaworks.ibm.com/formula/LotusXSL)下载 LotusXSL Processor。 相关主题 使用代理生成 XML