Domino Web开发规则之三:以资源管理库为中心开发

原创 2008年09月09日 23:18:00

资源管理数据库以管理公用设计元素为主,作为应用系统的框架提供给应用模块开发使用。主要有以下功能:

  • 管理和存放产品类模块(包括核心和标准应用)所需要的HTML模板/JS/CSS/XML/XSL/图片/控件等。如:公共JS函数库、皮肤所需的CSS和图片以及各模块公共使用的图片或图标等;
  • 存放公共子表单/Web公共组件/WEB应用接口/公共LS类库,如:公用子表单、组织机构选择人员对话框以及核心LS类库或JAVA类库等;
  • 管理数据字典,统一维护,减化重复开发工作;如:下拉列表框中值的选择;

基于此方法管理,能够

  • 有助于开发团队间共享项目成果,
  • 有助于从各个项目积累/封装出优秀代码或组件提供以后项目使用,

1.Web元素管理

使用文档管理WEB元素如:HTML模板/JS/CSS/XML/XSL/图片/控件,在产品开发或项目实施时调用。这样有助于应用开发时的变更/维护。如下图:

clip_image002

  • JS

image

  • CSS

image

  • 图片/控件/FLASH组件/HTML模板

image 

对于产品核心类的图标或通用的小图标(不经常修改的)而存放于图片资源中,供产品和项目开发时使用,如下图:

clip_image002[4]

2.分类字典管理

统一由资源库管理分类字典,可以统一进行维护,不必再为每个应用模块的需要而定制简要表,而且各应用间可共享分类设置。方式如下图:

clip_image002[6] clip_image002[8]

3.Web组件

统一由资源库管理封装公用组件,供应用模块调用。如:公用从视图删除指定文档的代理、AJAX方式的DBLookup代理、组织机构人员选择框、日期选择器、WORD控件JS片断、意见填写对话框等等。

由于每个应用模块都使用在资源库的WEB组件,当WEB组件功能修改或升级时,只需要修改资源库中的WEB组件,而不需要对每个库进行修改。这样有利于版本的维护和功能的更新,有助于团队提高开发效率。

4.公共子表单(sfmCommandFields)

域名 缺省值公式 描述
Notes部分
RF_ServerName @ServerName

类型:姓名,显示时计算
显示当前所在服务器名称

RF_User @UserName

类型:姓名,显示时计算
显示当前用户的Notes名称

RF_UserCN

tmpName:=@NameLookup([NoUpdate];RF_User;"displayname");

@If(tmpName=""|@IsError(tmpName);@Name([CN]; RF_User);tmpName)

类型:姓名,显示时计算
显示当前用户的中文名

如果布署时使用了等价名时可以使用@UserName(1)代替,使用@NameLookup是DOMINO集成了ADS或LDAP时使用。此缺省公式可按情况而定

RF_DocStatus @IsDocBeingEdited

类型:姓名,显示时计算
当前文档状态

RF_CreateUser @UserName

类型:姓名,创建时计算
当前文档创建者

RF_CreatedTime @Created

类型:日期,创建时计算
当前文档创建时间

RF_ResFilePath "VResource.nsf"

类型:文本,显示时计算
公共资源库路径

RF_OrgFilePath "VOrgManage.nsf"

类型:文本,显示时计算
组织机构库路径

RF_PortalFilePath "VPortal.nsf"

类型:文本,显示时计算
首页配置库路径

RF_WfFilePath "VWfManage.nsf"

类型:文本,显示时计算
流程管理库路径

RF_DBPath @ReplaceSubstring(@Subset(@DbName; -1);"//";"/")

类型:文本,显示时计算
当前数据库路径

RF_FilePath @LeftBack(RF_DBPath;"/")

类型:文本,显示时计算
当前数据库所在目录

RF_FileName @Right(DF_DBPath;"/")

类型:文本,显示时计算
当前数据库文件名

RF_DBID

@LowerCase(@ReplaceSubstring(@ReplicaID;":";""))

类型:文本,显示时计算
当前数据库ID

注:只支持R6以上版本,如果是R5版本可使用计算RF_DBPath

RF_ClientType @ClientType

类型:文本,显示时计算
当前客户端类型

RF_UNID @Text(@DocumentUniqueID)

类型:文本,显示时计算
当前文档UNID

Web部分
RF_ResURL "/"+RF_ResFilePath+"/"

类型:文本,显示时计算
资源数据库URL

RF_DBURL "/"+RF_DBPath+"/"

类型:文本,显示时计算
当前数据库URL

RF_DocURL

RF_DBURL +"0/"+RF_UNID+"?opendocument"

类型:文本,显示时计算
当前文档URL

Query_String_Decoded Query_String_Decoded

类型:文本,显示时计算
URL参数解码

Server_name Server_name

类型:文本,显示时计算
服务器的宿主名称、DNS 别名或 IP 地址,将出现在自引用的 URL 中

HTTP_Referer HTTP_Referer

类型:文本,显示时计算
HTTP页面引用路径

Remote_Addr Remote_Addr

类型:文本,显示时计算
发出请求的远程主机的 IP 地址

REMOTE_USER REMOTE_USER

类型:文本,显示时计算
返回被验证的用户名

Path_Info Path_Info

类型:文本,显示时计算
附加的路径信息(相对于服务器的 HMTL 根目录),与客户机给出的相同。换句话说,Script 可以通过虚拟路径名称存取,后面是作为 PATH_INFO 发送的附加信息

此子表单做为表单必需子表单,提供这些域供JS、公式和LS方便使用。在开发时将此子表单拷贝至所需要开发的数据库。

5.公共函数库(LotusScript库:LSCore)

此LS存放公共函数,此类函数或过程与应用模块无关(包括产品应用/项目应用模块),完成从产品核心代码角度上考虑,弥补LotusScript功能上不足之处,以产品核心为中心积累公共函数,供产品应用和项目应用使用,做为代码基础调用的统一接口。

存放在此类的函数或过程由产品部统一规划及严格控制。

封装完成后,将所有代码引出至文本文件中,使用%include引用进行预编译。

6.工作流函数库(LotusScript库:LSWorkFlow)

此LS存放处理工作流相关函数和过程,此类函数或过程被相关联的代理调用,完成工作流引擎上的处理。供产品应用和项目应用使用,做为代码调用工作流功能的统一接口。

此函数库以LSCore为基础。在构建时使用LSCore,即在Options中加入

Use “LSCore”

存放在此类的函数或过程由产品部统一规划及严格控制。

封装完成后,将所有代码引出至文本文件中,使用%include引用进行预编译。

转一篇文章,归纳总结的不错,共同学习:《Domino Web 开发规则》

转自:http://space.itpub.net/24998103/viewspace-695431     Domino Web开发规则   Domino Web开发规则之一:Notes...
  • CrazyNotes
  • CrazyNotes
  • 2012年11月15日 11:34
  • 1153

第五章 以数据为中心—数据存取(1)

第五章以数据为中心—数据存取典型的桌面操作系统提供一种公共文件系统——任何应用软件可以使用它来存储和读取文件,该文件也可以被其它的应用软件所读取(会有一些权限控制设定)。而Android 采用了一种不...
  • arui319
  • arui319
  • 2015年01月26日 19:51
  • 1894

第七章 以数据为中心的程序设计

第七章 以数据为中心的程序设计   本章介绍 ■ 表示和处理文档 ■ 设计不可变数据结构 ■ 数据表示形式之间的转换 ■ 使用记录和递归差别联合   在设计函数式程序时,首先要考虑的是...
  • hadstj
  • hadstj
  • 2014年11月21日 11:04
  • 749

以可靠性为中心的维修(RCM)

以可靠性为中心的维修(RCM)文章提交者:腾逸风 加贴在 陆军论坛 铁血论坛 http://bbs.tiexue.net/bbs_32.html一、什么是以可靠性为中心的维修? 以可靠性为中心的维修(...
  • zhangxin2208
  • zhangxin2208
  • 2007年06月12日 15:41
  • 4427

以鼠标为中心缩放图片

void DisplayWidget::wheelEvent(QWheelEvent *event) { int ImageWidth, ImageHeight; int LabelW...
  • qq_17813937
  • qq_17813937
  • 2016年05月07日 02:27
  • 2104

《用户体验要素—以用户为中心的产品设计》读书笔记

《用户体验要素》这本书将产品设计划划分为5个层次,又将产品划分为功能型平台产品与信息型媒介产品,分别定义了这五个层面上优化用户体验的关键。这五个层次由抽象到具体、由核心到细节涵盖了产品设计的全流程,为...
  • youdianmuye
  • youdianmuye
  • 2016年06月07日 17:39
  • 1647

测试工具和测试自动化

文/陈旭盛 人类的进化史和发展史,就是一个不断创造和使用工具的历史。工具是人类想象力的物理呈现,也是社会进步的巨大助力。对于测试而言,工具同样不可或缺,甚至于如果想判断某个厂商的测试水平是处于“...
  • qq_14935437
  • qq_14935437
  • 2017年05月26日 15:31
  • 689

Domino函件收集器的配置及用法

【背景】 今天一个朋友问我这样一个问题,他们OA的应用数据库和接口数据库部署在两台不同的服务器。 接口服务器主要负责和第三方系统进行集成,第三方系统调接口创建OA单据,OA系统进行审批,OA审批完...
  • Gavid0124
  • Gavid0124
  • 2014年10月29日 17:49
  • 958

图像旋转之以原点为中心

原理见图: 代码如下: void Ctry::OnTryTyr1() { //TODO: 在此添加命令处理程序代码 IplImage *img = cvLoadIm...
  • s12244315
  • s12244315
  • 2015年10月27日 10:39
  • 777

典型的信息系统生命周期模型

1. 瀑布模型 可行性分析-- 需求分析-- 软件设计(概要、详细)-- 编码(含单元测试)-- 测试 -- 运行维护 特点:由上至下,前一阶段的成果作为下一阶段的输入 2. V模型 开发阶段,由上至...
  • bayernolive
  • bayernolive
  • 2015年07月08日 17:11
  • 487
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Domino Web开发规则之三:以资源管理库为中心开发
举报原因:
原因补充:

(最多只允许输入30个字)