科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道OA++中基于Notes平台上浏览器的开发

OA++中基于Notes平台上浏览器的开发

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

莲花(Lotus)公司的群件产品Lotus Domino/Notes 自推出之后,备受大家的关注和关爱。经过不断的发展、不断成熟,目前其最新版本4.6x已是一个相当可靠、稳定、友好、健壮的系统。

作者:www.chinaitpower.com 来源:www.chinaitpower.com 2007年9月11日

关键字: 开发 浏览器 IBM lotus Office

  • 评论
  • 分享微博
  • 分享邮件

莲花(Lotus)公司的群件产品Lotus Domino/Notes 自推
出之后,备受大家的关注和关爱。经过不断的发展、不
断成熟,目前其最新版本4.6x已是一个相当可靠、稳定
、友好、健壮的系统。

Domino/Notes是一套以邮件为基础的数据库平台,其处
理文档型数据的功能尤其强大。利用表单、视图、导航
器等设计元素,以及公式、Lotus 
Script等代码方式,它将数据库及代码揉和在一起,形
成一个既是开发平台也是应用平台的系统。Domino是系
统的服务器端,Notes是系统的客户端。邮件、数据库
可以全都装载在服务器端,这样用户只需用自己的ID在
任何一台客户机上登录,就可以根据权限访问数据库。
进而基于这种机制,加上其完善的权限控制(存取控制
列表、角色),构成了一套完整的工作流基础平台,为
办公应用系统提供了良好的开发应用构架。

  而现在另一个如日中天的应用就是浏览器了。自从有了
浏览器之后,人们似乎开始不习惯其他的界面起来。在
浏览器里,文字、图片、声音、动画等媒体尽呈于大家
的面前,我们只需要轻点几下超链,就可以将不同地域
、不同时间、不同系统的信息用图文并贸的形式“呼唤
”出来。这些特性注定其成为局域网、广域网中的一种
信息组织流行方式。Lotus公司Domino/Notes的下一个版
本5.0中据说对浏览器有完美的支持。但即使在4.6x版本
中,对浏览器的支持,Domino/Notes也不可谓不强大。
PSKY-OAS是长天公司基于Notes平台上开发的以管理为目
的的OA系列产品,其中系列产品之一:PSKY-OA++,就是
为全面适应和满足中小型企业的要求,在Notes客户端运
行也可以在浏览器上运行的办公系统(对NotesClient/B
rowser的双重适应性)。

  基于Notes上的浏览器,目前有两种解决方案。一种是用
数据库外部的HTML文件构造应用系统的引导模块,到功
能级应用时再交由数据库去解释;另一种解决方案是完
全基于Domino/Notes自身的,所有的代码都在数据库内
部书写,全部交由Domino去解释。显然后一种方法更加
好一些,因为前一种方法不可避免的要放弃一定的跨平
台性、代码灵活性以及易实施性。现在我就后一种方法
着重阐述一下NotesClient/Browser的双重适应性的目标
及实现,以及我们在设计开发PSKY-OA++时方法与技巧。


首先,Domino本身就是一个Web服务器(其实,它同时还
可以是一个Internet邮件服务器、传真服务器),与一般
Web服务器不同的是,它可以解释扩展名如(.nsf)的No
tes数据库文件。Domino首先一如既往的根据用户要求,
对数据库存取、处理,当它要将数据传送给用户时,Domino
会聪明的将输出信息翻译为所有安装了浏览器的计算机都
能识别的HTML语言,再将此经过翻译的信息输送给用户。
这是Domino对浏览器的最基本的支持,也是最重要的支持。
这一切只从您在Domino窗口中敲入“Load http”开始。
在客户机上的浏览器软件中,用户只按照正常的方法键入
需要打开的数据库的超链(如http://pskyoas_server/psky-oas.nsf),
Domino会找到psky-oas.nsf,并以HTML的形式打开。
我们可以查看一下打开数据库的HTML源文件,其中的图
片资源都是一个长长的临时文件名,暂时生成并暂时存
放在数据库中。而在Notes中对文字信息的格式的描述都
自动转换为了HTML语言标注,显示效果基本一致。

  对浏览器的第二个重大支持,就是表单中的HTML应用。表
单这一个组织信息的最基本的元素,它可以用两种方式直
接输入浏览器通用HTML语言。一种是将整个表单直接作为
HTML文本文件,交给浏览器解释;另一种是在表单局部插
入“内置HTML”。第二种方式比较灵活一些。在表单内部
适当
用一些内置HTML,并且对Notes隐藏,就可以实现两种客户
环境的不同显示风格。把HTML书写在Notes内部表单中比在
外部用HTML文本文件要灵活的多。在表单中,我们可以插
入一些计算型的域,比如数据库的文件名。在表单中Domino
看到有可计算的域,它会先将域值计算出来,再将HTML传
送给浏览器,这样就可以很容易的实现不同用户点击同一个
链接能够打开不同的数据库之类的应用。
比如在浏览器上想插入一张GIF动画,直接贴进来是不行的,
Domino会把它解释为一张静态的GIF图片。我们可以将图片用
一个附件的形式附在某一个表单当中,在表单中插入一段对
Notes隐藏的内置HTML:
<IMG SRC = "/pskyoas_server/psky-oas.nsf/Image/AniGif/ $file/AniGif.gif"
那么,在Notes中毫无影响,而在浏览器中,您就可以看到
一张动感的GIF图片。
又如,插入一个计算域“MailDbName”,用@UserName获得
用户名,并查找Domino的Name.nsf数据库,获得邮件数据库
名称,添入计算域中。这样,只需要在表单中写上:
<A HREF=MailDbName>卨och</A>
就可以对同一个超链,不同用户打开各自的邮件数据库,实
现灵活应用。

第三个重大的支持,就是浏览器对设计元素的模板表单。以
下几种是最常用的设计元素模板表单:
$$NavigatorTemplate for NavgatorName
$$ViewTemplate for ViewName
$$SearchTemplate for SearchName
这是默认的模板表单的名字,它有其固定的格式。
$$NavigatorTemplate是固定的默认部分,它告诉Domino名
为NavigatorName的导航器在浏览器上打开时,使用此表单
作为模板。然后,开发人员就可以在这个表单中施展拳脚了。
同样,$$ViewTemplate代表名为ViewName的视图在浏览器上将
用此表单打开。

比如我想在Notes中打开数据库时就打开名为NavFirst的导航器,
而在浏览器上用另一种方式表现,可以创建一个名为
“$$NavigatorTemplate for NavFirst”的表单,在里面书写
提供给用户在浏览器上看到的数据,就可以轻易实现进入数据
库系统的NotesClient/Browser的双重性。

Notes还为浏览器的开发提供了很多的接口以及工具,比如Web
代理等,只要灵活应用,就能创建一个优秀的浏览器版本的Notes
办公系统或其他系统的应用。但我们还需要注意的是,并不是
Notes中的每一项功能都能对应的移植到浏览器上。象布局、自
动刷新域等功能在浏览器上就没有对应的实现方法。还有一些
Domino/Notes没有直接提供的功能,我们可以换一种方法去模
拟。比如浏览器上没有提供可以选择又可以新建的关键字框,
可以通过选择框加上输入文本框,通过公式来模拟它的实现。
功能是一套办公应用系统的基础,但易操作性也不可忽略。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章