有时候我们需要获得一个群组中的成员列表,一般都是直接去 Names 查找,如果遇到嵌套群组则更加麻烦。其实有个简单的方法,通过如下的函数:

Syntax

@ExpandNameList(servername : notesdatabase ; groupname)

Parameters

    * servername

Text. Specify the target Domino Server for your query.

    * notesdatabase

Text. Specifiy the target NotesDatabase for your query.

    * groupname

Text. Specify the target Group, by name, for your query.

Return value

   * valuelist

Text list. A multi-value text list containing members of the queried Domino Directory Group. No value is returned for unmatched Groups. To display the return values in a dialog box using @Prompt, enclose this function in an @Text function.

Usage

@ExpandNameList cannot be used in form selection and view column formulas.

举例说明,以下公式就可以获取在 Domino/Server 服务器上 names.nsf 库中定义的 LocalDomainAdmins 群组的成员列表:

@ExpandNameList(“Domino/Server”:”names.nsf”; “LocalDomainAdmins”)

最后有一点需要说明的是,这个函数在文档中并没有注明,所以有可能会有不稳定、或者未来版本会不可用等可能性,大家请自行评估其中的风险。

参考链接:Undocument Command Documented: ExpandNameListUndocumented @functions in Notes/Domino

原本计划于08年底发布的 ND8.5 来迟了一周,终于在09年初发布了。关键新特性如下:

  • ID 管理功能增强: 共享登录(登录 Windows 后自动登录 Notes,而且不需要密码相同)、ID Vault
  • 通过新增的 DAOS(Domino Attachment and Object Service) 特性,减少磁盘存储的开销
  • XPage 和基于 Eclipse 的新设计端
  • 日历增强:可以导入其他外部日历,如 Google 日历和 iCal 格式的日历
  • Notes Traveler 增加对 Nokia S60 平台的支持(原来仅支持 Windows Mobile 设备)
  • 新增 DCT(Domino Configuration Tuner ) 工具,帮助管理员分析系统存在的问题
  • 增加对 Mac OS 10.5 和 Ubuntu Linux 的支持(我非工作时用的两个操作系统,嘿嘿)

英文版本已经可以下载,中文版将于 1月15日推出。

IBM US Announcement Letter, Nokia extends IBM Lotus email access to 80 million mobile phones

修改 Domino 用户的 Internet 密码,或者注册新用户时时,我们一般都要等待一段时间更改才生效。可以通过以下操作和命令加速这个过程:

  • 在各服务器间复制 Names 库
  • tell adminp process all (此操作在生产环境慎用,可能会很占资源)
  • show nlcache reset
  • restart task http

以上操作不一定每条都要做,可以按照具体条件自行选择,运行的操作越多加速越明显。

参考资料:New Internet password is not immediately usable

补充:还有个相关的 Notes.ini 参数 HTTP_Pwd_Change_Cache_Hours,可以设定新旧密码共存的时间,默认是24 48小时。

通过此 URL 命令可以将一个 RTF 域的内容作为一个单独的 HTML 页返回。可以想象的应用场景:通过 Ajax 获取某个富文本内容,并对页面做局部更新。不过此命令并没有在设计帮助中出现,所以说不定某一版可能就会去掉它,大家自己权衡着使用。

语法如下:

http://Host/Database/View/DocumentName/RTFFieldName?OpenField

参考链接:A very useful undocumented Domino URL command

  • POP3MarkRead=2
    缺省地,通过 POP3 接收的邮件在 Notes 仍然是未读,添加此参数可以将 POP3 接收的邮件标记为已读。
  • POP3_READ_ALL=1
    缺省地,一个 POP3 的客户端是不能接收在这个邮件库中已经被 Notes 客户端读过了的邮件。添加此参数可以让 POP3 的客户端 忽略邮件的已读或未读状态,以使得它能接收所有的邮件。需要重启 Domino 服务器生效。

用户有时会将带有很大附件的用户发给一些群组,例如将一个 50M 的邮件发给 100 个人,那么最终就会在服务器上产生 5G 的文档。这种情形会给 Domino 带来很严重的性能问题。6.5.5/7.0.1 以上版本,服务器添加了 Notes.ini 参数控制大规模超大邮件:

限制(收件人数)*(邮件大小)的总量
RouterMaxEffectiveSize=xxx (KB)

上述参数计算时,邮件大小不包括附件。推荐此参数与上面的配合使用
RouterMaxEffectiveSizeIncAttach=1

参考文档: Mass mailing causes Router to run out of memory and enter a hang state

试用了一段时间,印象比较深刻的有两点:

一是服务器方面引入了 DAOS,由以前的重复文件存储多份改为只存一份,可以在相当大的程度上减少磁盘的占用。

二是新的设计元素 xPage:

  • 以 JSF 为基础设计的,提供了一种全新的 web 页面设计方式
  • 内置了很多 web2.0 的要素,比如 ajax 部分刷新、输入建议等等
  • 编程语言采用了 javascript,这对于 web 开发者来说是件好事,可以继续发挥自己的特长
  • 通过绑定 domino 表单、视图数据源来实现快速开发
  • 可以实现很多以前不好实现的功能:一个页面嵌入多个视图、联合显示多个视图的数据等

目前 xPage 的文档还很少,大家的认识也还不太完善,相信等正式版发布后会好很多的。我个人蛮看好这个东西的,最起码设计 web 界面的时候多了一种选择。不过头疼的是如何利用现有的大量 Lotusscript 代理?如果把这么多业务逻辑重写一遍的话可就要死人了。让我们来期待 IBM 给我们怎样的一个答案吧。

这里有一些很好的 xPage 的例子,推荐大家看看。