zoukankan      html  css  js  c++  java
  • Domino Web开发规则之三:以资源管理库为中心开发

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

    • 管理和存放产品类模块(包括核心和标准应用)所需要的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引用进行预编译。

  • 相关阅读:
    Lotus Notes中文档查询(转)
    MSSQL日志管理
    VS使用带临时表的存储过程
    TaskbarForm
    IT人士在离职后可以做的14件事情
    app.config数据库连接字符串的加密
    IT职场人,切不要一辈子靠技术生存
    wmi资料
    迁移成功
    【SpeC#】-C#的又一同胞兄弟
  • 原文地址:https://www.cnblogs.com/hannover/p/2180367.html
Copyright © 2011-2022 走看看