xpage是Domino8.5推出的一个革命性的设计元素,结合Domino平台开发的系统,对它的“革命”之处做了一些研究。
1特性
1.1自带有视图包装器
红框部分说明:
左一:Domino 8.5新增的设计元素Xpage
右一:xpage自带的视图包装器
中一:可以选择视图来源是本数据库,也可以是其他数据库。视图可以是选定的值,也可以是计算的值(计算的值可以用运行在服务器端的javascript来实现)。
中二:可以控制显示视图的哪些列。
接下来,可以在属性中,设置嵌入视图的属性,包括是否显示标题、样式表,一页显示多少条文档、边距、字体等,都是可以设置的,非常方便。
上面是一个简单的效果图。据说由于采用了Ajax技术,自带的视图包装器在性能上应该比较好。
1.2自带有文本编辑器
可以快速的开发信息发布类应用,不用自己再开发或移植文本编辑器。
1.3可以显示不同数据库的视图的内容
1.4可以快速对视图显示的内容进行排序
|
可以方便的设置哪些列可以排序,也可以设置哪些列有复选框,很强大。
1.5自带了很多Ajax技术的web组件,实现局部刷新的数据交互。
|
|
|
每个设计元素旁边,如右红框所示,只要有这个菱形图标,都是可以计算的,开发人员可以选择运行于服务器端的Javascript作为编程语言,可以在页码加载的时候运行相应的代码,也可以动态计算,这样可以根据需要,提高页面的响应速度。
1.6在Xpage中,Javascript变得比以往更异常强大
javascript可以直接运行在客户端,也可以运行在服务器端。以前javascript是只能运行在客户端的。
javascript可以直接调用服务器的java类库,可以支持嵌入的公式语言,可以直接调用LS代理,也就是说javascript多了很多针对Domino的API。
1.7支持UI主题,可以快速的实现换肤及多语言版本的开发。
设计一个xpage的时候,可以在属性的Style里,设置Theme,也就是可以动态计算的,也可以静态指定对应的样式,通过样式,可以让用户选择多种风格的页面,也可以方便的开发出多语言的页面。
2应用
XPage给我们带来的革命性变化可能远不止以上提到的功能,结合我们的工作流系统,Xpage能够实际带来哪些应用的革新呢?
2.1可以设计功能完备的视图包装器,支持分类、分页、页码直接跳转,文档数大的时候能有较好的性能
也就是说,我们基本可以放弃自己编写视图包装器了。这个痛苦的工作XPage可以替你完成。
2.2可以改造我们的待办库,xpage可以在一个视图里展示不同数据库的数据
首先,我们的待办工作的文档,以往都是存放在多个数据库当中,然后在统一的一个库中存放链接文档,首页给用户展示一个统一的界面,那么现在,我们可以不用这么麻烦,不通过链接文档,我们也能够展示不同数据库的内容。
其次,Domino的数据库,如果文档数过多,性能则会下降,于是我们采用了归档、分库的方法,保持了数据库的大小在合理范围,但同时,我们却不能在一个视图中同时展示这些当前数据和历史数据。通过Xpage,用户可能不知道我们系统后台究竟分了几个数据库。
2.3可以重新设计我们的信息发布类,采用xpage自带的文本编辑器,风格统一,功能强大,各种输入框的智能提示,自动补完,输入验证等,都可以快速实现
表单的设计元素,我们经常要设计它在什么情况下可编辑、什么情况下只读、什么情况下显示;如果是需要输入的,需要有输入提示,输入错误需要有警告,输入的数据需要合理,还要考虑通过Ajax技术实现局部刷新,而现在,在XPage中,这些都是设计元素天生的属性。
2.4可以重新设计我们的业务表单,让数据层和展示层分离,xpage用来展示,表单用来存储数据
以往基于Domino开发的系统,都很少有真正能遵从MVC开发模式的。现在,我们可以通过XPage来完成显示工作,通过XPage的设计元素的绑定功能,我们可以让用户不需要看到表单就可以完成数据的读写工作,可以让表单写得很简洁,很易懂,不需要在notes下打开布满HTML代码的表单了。
2.5可以设计多套主题,支持换肤功能,支持多语言版本功能。实现起来更快捷迅速
张领导喜欢红色,李领导喜欢蓝色,这种需求以往我们也能满足,只是工程较为浩大,通过XPage,实现起来要方便快捷很多;A单位CEO是个老外,系统要国际化,除了中文版,还要弄一个英文版、繁体版,这个需求以往我们同样能做,只是现在,通过Xpage我们又省了不少事。
2.6通过xpage包装的视图可以对任意列进行排序,据说还带了简单查询,对查询的结果还可以排序
这部分功能还在研究中,预计本月底研究出结果,查询统计相对于关系型数据库一直是Domino的弱项,用domino自带的查询方式,排序还很不方便。XPage据说是有很大的改观的。