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引用进行预编译。

微信开发之三素材管理-微信开发php版

-
  • 1970年01月01日 08:00

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

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

采用dsapi开发domino登录认证

dsapi开发domino登录认证的资料十分少,但是官方的资料讲解的很详细,要编写dsapi程序看官网的介绍十分必要,但是官网的资料仅仅提供了一个简单的登录demo的示例,复杂的功能还需要自己配合ap...
  • fengshuiyue
  • fengshuiyue
  • 2016-12-04 01:50:06
  • 1387

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

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

Domino Web开发指南

  • 2008年11月19日 16:49
  • 12.97MB
  • 下载

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

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

在 Lotus Domino 6 中创建和使用认证中心

简介:  本教程说明了如何实现构建到 Domino 6 中的公钥基础结构(Public Key Infrastructure,PKI)安全性技术。这项新技术完全符合 X.509/公钥基础结构(PKIX...
  • rznice
  • rznice
  • 2013-06-04 10:55:43
  • 2266

讨论一下,怎样才能做到以消费者为中心的

记得阿里帝国的创始人马云曾经说过:“未来5年到10年将是电子商务的天下”。但会是哪种模式的天下呢?B2C的王者阿里的云天堂?还是020的生鲜时代?还会是C2B模式的要啥网的领域?夺得天下的主要因素还是...
  • u013536653
  • u013536653
  • 2014-01-22 10:28:04
  • 259

图像旋转之以原点为中心

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

个人关于《以用户为中心的软件设计》一书的总结:

个人关于《以用户为中心的软件设计》一书的总结:
  • Tyrannoaurus
  • Tyrannoaurus
  • 2016-07-21 11:19:29
  • 430
收藏助手
不良信息举报
您举报文章:Domino Web开发规则之三:以资源管理库为中心开发
举报原因:
原因补充:

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