自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JavaScript

IBM Domino and more

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 19. Notes客户机中的校验

在开发传统Notes客户机应用时,校验是最常见的功能需求之一。在检查一张表单的输入时,能够使用的方法和呈现给用户的方式很有限。一般我们不会使用域的输入验证公式,因为那样做太分散、重复又不够灵活。更好的方案是将所有的检查集中在一起,在文档保存或者执行某个操作时调用。校验有可能包含对输入做各种检查,最普遍的还是简单的非空性检查。对此,我们可以写一个简单的校验类:Private Const ME

2012-12-30 09:48:03 2808

原创 18. frameset邪恶吗

frameset曾经是构建多栏目网页的标准技术,被广泛使用,但是近年来已进越来越少见到它的踪影。在网上搜索一下,这个词更多的是与邪恶、如何代替、缺点这些主题联系在一起。frameset真的邪恶吗?各种文章提到的缺点主要有以下几条:1.      (尽管互联网技术飞速发展了这么多年)仍然存在少数浏览器不支持frameset。除非是想建立像Google这样的网站和有信心和责任感让全世界的网

2012-12-29 13:57:59 3422

原创 17. 如何在XPages里创建大纲/导航?

XPages自带的控件集最缺乏的恐怕就是类似于经典Notes开发的大纲了。虽然一个大纲/导航是一个Web应用几乎不可缺少的部分,但是截至8.5.3,IBM仍然没有为开发人员提供这个方便。接着,提供了一堆控件的UpgradePack 1来了,继承了大量在OpenNTF网站上已经发布的XPagesExtension Library的内容。其中,就有一个outline和一个navigator。但是这些控

2012-12-27 13:03:56 3351

原创 Lotus Notes 9 Social Edition Rocks at least in the color and the UI

IBM的美感终于进步了,Lotus Notes抛弃了从R6开始的黄色基本色调,改成了清新的蓝色。告别原来的警戒色:)

2012-12-25 12:06:06 2810

原创 Lotus Notes survives the ending date of the world!

With all of us. Congratulations:-)

2012-12-22 10:13:03 2253

原创 16. 如何在XPages中实现onload效果及在新窗口中打开视图链接

国外的很多新闻和公司网站的链接都在当前窗口打开,这种文化上的差异也体现在XPages上。视图控件产生的链接都是在当前窗口打开。从8.5.2起,新增加了target属性,可以设置为_blank,在新窗口中打开链接,但是竟然只适用于Notes客户端。于是为了符合我国(或者是我)的习惯,就必须自己动手。最直接的想法是在window.onload事件中找出视图包含的链接,修改它们的target属性。X

2012-12-21 12:12:52 4396 13

原创 15. 如何在XPages中提示操作成功

Web将开发分成前端和后端两部分,两端的代码就有了各种交互的需要和模式。前端的Javascript进行校验和界面操作,业务逻辑则在服务器上运行。早期两者交互的模式是,前端脚本完成校验后提交,服务器运行业务逻辑后,转向另一页面或者更改原页面的显示。Ajax流行之后,前端的Javascript以不刷新页面的方式提交后等待服务器的结果再更新页面。在更新页面部分又可以分为两种情况,一种是较为普遍的服务器返

2012-12-20 13:42:59 3666

原创 14. 如何在XPages中插入HTML

在经典的Notes Web开发中,我们经常需要在表单中插入HTML,即Pass-Through HTML,因为Domino Web引擎将表单上的设计元素转换成HTML时既原始丑陋又没有给开发人员太多控制调整的机会。在XPages里,大部分情况下,我们只需要添加控件,设置属性,XPages引擎就能产生出令人满意的HTML。但是,在某些情况下,还会需要手工添加和编写HTML,因为目前的控件还不够全面。

2012-12-19 09:45:06 3580

原创 13. 面向对象的LotusScript(二)

上次提到使用面向对象的LotusScript的好处,这里再给出两个样例。DialogBox是NotesUIWorkspace的一个方法,用于显示一个指定表单的对话框,在开发中很有用。不过对话框繁多的设置都通过方法的参数传递,难记难用。下面就用一个自定义类包装了DialogBox的功能,默认情况下只需要传入一个表单或者文档参数,就可以调用Show()方法显示一个对话框。对话框的显示可以通过设置属

2012-12-18 10:13:15 3319

原创 12. 如何在XPages中实现搜索视图

在客户端中搜索当前视图有好几种方式:全文检索、搜索视图和对排序列按首字词定位。在Web环境中,适用并且用户习惯的便是全文检索。那么如何在XPages中实现检索当前视图的功能呢?首先,开启数据库的全文索引。然后在一个XPage中添加一个视图数据源,该数据源可以指定“Searchin view results”属性,即XML文档中的search属性。设定一个固定的要搜索的词当然没什么用处。我们便在

2012-12-17 14:05:50 3908 2

原创 11. @DbColumn和@DbLookUp的LotusScript版本

由于Notes数据库特殊的结构,@DbColumn和@DbLookUp相当于SQL中的Select语句,是最重要和有用的公式。在LotusScript里,@DbColumn有对等的方法NotesView.GetColumnValues(),虽然帮助文档中没有记录,但是在编辑LotusScript时,这个方法都会出现在视图对象的方法列表里,返回的是一个包含在Variant里的数组。精确实现@DbLo

2012-12-14 16:49:41 4724

原创 9. 如何在XPages里的Java代码中创建Session

Notes对象可以分为两大类。第一类是Notes功能的基石,比如NotesSession, NotesDatabase, NotesView, NotesDocument,NotesItem。它们又可以被称为后端对象。另一类提供的是与客户机的用户界面有关的前端对象,如NotesUIWorkspace, NotesUIView,NotesUIDocument。对应地,在客户机中使用Notes对象有两

2012-12-12 11:07:26 3126 1

原创 8. 从Lotusscript到Java

随着Notes开发逐渐转向使用XPages,主要的编程语言也从Lotusscript变成了服务器端Javascript和Java。无论是开发新的功能还是迁移旧的系统,都需要用这些新语言编写大量代码。使用Java开发有其独特的优势,以后会专门介绍。这里先谈谈从Lotusscript转换到Java需要注意的地方。首先是语法的差异。这是最明显也最容易注意到的。比如下面这些基本的差别

2012-12-12 11:01:47 3188

原创 7. 在XPages里怎么实现一次显示分类视图的一个类别

分类视图是Notes显示文档的独特和强大的功能。在客户端和传统Web开发中,有时会希望一次显示分类视图的一个类别,在这两种环境下,都很容易实现。XPages终于把Notes环境下的web开发现代化了。很多传统web开发中的问题都能够漂亮地解决。那我们就来看看如何在XPages里怎么实现一次显示分类视图的一个类别。在XPages页面上分别创建一个下拉框和视图控件。下拉框用来切换要显示的类别,它的

2012-12-04 17:30:57 3868

原创 6. Lotus Notes中的开发语言

Lotus Notes中的开发语言有很多种,这在其它平台中是比较少见的。每种语言都有各自的长处和适用的场合,本文就简单介绍和比较在经典Notes开发和XPage开发两种类型下的各种语言。经典Notes开发这里的经典是指相对XPage技术出现之前的Notes开发。1.      公式语言公式语言是最早出现在Notes中的程序语言。它主要是用来进行简单的计算和自动化操作。其提供的公式,

2012-12-04 17:28:12 5076

原创 5. 面向对象的LotusScript(一)之Dictionary

面向对象的编程范式具有很多明显的优点。比如更高的代码重用、封装带来的更好的模块边界、更直观和简单地调用程序以及面向对象的思考方法能有效地解决问题。LotusScript作为一种基于对象的脚本语言,虽然不具备完全面向对象的语言的一些特性,但是仍然可以使用它编写出面向对象的程序。DominoDesigner中的LotusScript编辑器曾经一直为人诟病的一点就是对自定义的类的支持不友好,最突出的就是

2012-12-02 10:48:19 4418 3

原创 4. Note背后

如前所述,Notes数据库的核心就是其中保存各种数据的通用结构note。Notes提供的很多功能都是建立在这种结构上,我们开发的应用程序也是围绕着它的应用,同时受益于和受制于它的特点。之后的几篇文章,我都会介绍一些关于这位幕后主角的信息。在Notes数据库中,我们会接触到各种不同形式的数据。在workspace(工作台)上,可以看到数据库的图标;在视图里,可以看到文档列表;打开其中一个,可以看

2012-12-02 10:45:19 3549 2

原创 3. 数据库的结构

所有的Notes应用都是建立在Notes数据库的基础上。与主流的关系型数据库不同,Notes数据库是文档型的。从传统的观点看,一个关系型数据库中含有一个或多个表;每个表中包含的记录都具有相同的长度;每条记录又是有固定数目的字段组成。这样给数据的存储划定严格的界限,好处就是可以快速地存取。适合保存诸如交易记录、人员信息等等结构化的数据。在文档型的数据库中,没有表的概念。文档作为一个灵活的数据结构,用

2012-12-02 10:42:22 3114

原创 2. HTTP与NRPC

HTTP是计算机领域最有名的首字母缩写词之一。NRPC就是Notes的HTTP。Web程序的通讯是建立在HTTP协议上的,Notes应用背后的远程通讯则是通过NRPC(Notes remote procedure call)完成。Notes客户端或者服务器要进行远程操作,比如打开一个数据库、打开某个视图的索引、打开一个文档、保    存一个文档,都需要使用NRPC发出请求,远端的服务器监听

2012-12-02 10:40:38 3632

原创 1. 客户端与浏览器

很早以前就想写一些关于Notes的技术思考。一方面觉得感兴趣的人不会很多,这些理解和思考只有对Notes背后的技术好奇的人才会感兴趣。即使是开发人员,不知道或者没有考虑过这些也可以设计出良好的程序。另一方面是对自己的这些思考的水平要求太高,总想着在掌握了主题的所有方面和细节之后才开始写。如果坚持这个最高的要求,那我就什么都写不出来了。现在就当是自娱自乐,也算是对自己之前思考的一些总结。Note

2012-12-02 10:39:24 4619 3

Notes文档工作流系统

本系统演示了一套基于Notes平台的开源文档工作流。工作流的名称、节点和操作等配置保存在一组文档中,方便在运行时创建和修改。工作流可运行于Notes客户端或浏览器(需XPages支持)。 功能(features)包括: 工作流的节点和操作可灵活自定义,包括每个节点具体有什么操作,没有任何预设的名称或数量上的限制。每个节点的用户、特权用户、每个操作的目标节点、操作的访问权限等等都可以自定义设置。 操作的配置中包含字段校验和邮件内容以尽量减少额外编写代码的需要。 许多配置可写入公式。 客户端和浏览器上运行的工作流共享配置数据,操作风格也完全一致。 具体工作流可通过扩展基类添加复杂的业务逻辑。 默认状态下每个流程文档的当前用户以用户名形式保存,因而可以在My Work视图下看到需要自己处理的工作流。 定时发送HTML的汇总提醒邮件。

2015-02-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除