Notes/Domino 9 中文版已经于四月底发布,以下是我比较看重的新功能:

服务器端 Javascript 调试器

重大改进,可以像调试 Java 那样下断点、监控变量等。

Dojo 调试开关

打开后可以发送未压缩的 Dojo 代码到浏览器端,便于调试。这个太方便了!

Security Assertion Markup Language (SAML)

一种新的 SSO 方式,甚至可以跨域(原有的LtpaCookie方式无法跨域)。

64位版的 xLinux 服务器

终于支持64位了,以前 xLinux 只有32位,基本无法用作生产服务器。

Social 特性

Domino 9 名字后面多了一个 Social Edition,足见其重要性。主要是对 OpenSocial 标准的支持,包括嵌入式体验等。理念蛮好,但是大面积的实际应用估计还要一段时间。

XPages 编辑器增强

自动完成、为CC增加链接导航、悬停帮助等。

关闭应用程序选项

小改进,但是很实用。随时关闭不用的 NSF 应用程序是个好习惯。

Jar 设计元素

与上一版加入的 Java 设计元素类似,只能在 XPages 中使用。

日历 API

通过 NotesCalendar 对象操作日历对象。

整合的 XPages Extension Libary

整合了各种 extlib 控件、REST 服务等,不用再安装 Upgrade Pack 了。

参考链接:What’s new in IBM Domino 9.0 Social Edition?
What’s new in IBM Domino Designer 9.0 Social Edition?

前些时间我介绍过 Mastering XPages 这本书,这本书的内容非常好,只是由于语言的限制很多 Domino 开发人员还没有读这本书。现在本书的中文版已经发布了,所以我再次郑重推荐此书:

本书在架构方面包含了 XPages 的设计思想、JSF 的介绍(XPages 是基于 JSF 框架的);应用开发方面包含了所有控件的介绍、Domino 文档/视图数据源的应用;还涵盖了扩展性、国际化、安全性、性能等方面。

Mastering XPages 是现阶段关于 XPages 最全面、最权威的文档和资源,建议每一个 Domino 开发人员阅读

消息来源:Mastering XPages released – in Chinese

相关链接:豆瓣读书亚马逊京东当当china-pub

我们经常拷贝 Domino 服务器到别的机器上做 Demo,最近发现拷贝的 Domino 无法解析 Upgrade Pack 1 中的 OSGi 包,需要重新安装 Upgrade Pack 1。仔细研究了一下,问题出在 <Domino程序目录>\osgi\rcp\eclipse\links\extlib.link 这个文件上:

path=D\:/Lotus/Domino/osgi/extlib

这里面包含了绝对路径信息,将其修正后就没问题了。总结一下,Windows 平台 Domino 拷贝后需要做以下工作:

  1. 导入注册表信息
  2. 修改 Notes.ini 中的路径信息
  3. 修改 <Domino程序目录>\osgi\rcp\eclipse\links\extlib.link 文件中的路径信息

在调试 Java 代理的过程中,Domino 服务器给出的错误信息是这样的:

HTTP JVM: java.lang.NullPointerException
HTTP JVM: at JavaAgent.createYjPDF(Unknown Source)
HTTP JVM: at JavaAgent.NotesMain(Unknown Source)

这一堆的 Unknown Source 让人无从下手。还好这个问题很好解决:在代理属性中勾上如下选项即可(lib 库也是一样的)

结果如下,是不是舒服多了?

HTTP JVM: java.lang.NullPointerException
HTTP JVM: at JavaAgent.createYjPDF(JavaAgent.java:674)
HTTP JVM: at JavaAgent.NotesMain(JavaAgent.java:134)

自从 Domino Designer 切换到 Eclipse 平台之后,修改代理变得很麻烦:修改代码、按下 Ctrl+S……

然而实际上代理并没有保存,看到代理名左边的小星星了么!保存代码之后,还要再保存一下代理……这个设定实在是令人无语,无数次忘记保存代理本身导致看不到效果。

还好 8.5.2 引入了一个选项解决这个问题: