Certified Application Developer Notes 9

Today I passed the second exam for my certification for IBM Application Developer Notes and Domino 9. My last certification dated from the Notes 7 era so I was forced to take the two core exams as explained in the image below:

vlcsnap-2014-10-01-20h45m37s40

 

This second exam was much more focused on development with XPages, using the Extension Library and the Mobile controls. I guess according what you would expect in modern Domino development. There were the ooccasional LotusScript and @Formula questions, but the majority of the questions were XPages related. Personally I find the setup a bit odd. I Hardly use @Formula or LotusScript in new projects. I wonder why IBM is not defining exams within each technical area seperately e.g. XPages, @Formula & Functions, LotusScript, Java and Extension Library if you wish.

Overall I liked the second exam better, no odd questions about Notes client installation, parameters in the client, more practical development questions. But also expect questions on JSF, XSP configuration etcetera.

A tip I could give is to take a look at the API documentation:

XPages configuration file format

I have not considered to upgrade my certification to the ‘Advanced’ level since I have not worked with administration so intensively lately. I expect though that the XPages mobile advanced topics would be a “piece of cake”. What are your experiences? After all it is also a financial question because the exams are not free. Maybe there will be the option to take an exam on IBM ConnectED 2015?

 

New app in town: Rooms & Connections

This post is for all you IBM Notes users:

I assume you all have experienced the problem of finding an available room when you register a new entry in your calendar. Especially with spontaneous meetings it is frustrating not be able to find a room, and if you check at the physical location the room seems to be empty.

You have then the option to start/open your laptop, open one or more the resource reservation applications and find out who has booked the room, contact the person and ask if he/she really needs the room at the moment OR dive in the room and sit uncomfortable because people could appear later and you have to find another room and start the meeting from scratch.

Those days are over! 

The Rooms and Connections app is an indispensable tool to find room information via your smartphone or tablet or book a room.

 

 

 

Engage – signed up

Funny, but a motive when moving to Sweden was to combine work with a bit of holiday. Recently I signed up for the Engage event and will do it the other way around in the Netherlands: combine holiday with a bit of work.

I am looking forward to the event because of it’s great line-up. I am curious how the ‘collaboration market’ nowadays looks like in the Netherlands and Belgium and what the opportunities are.

 

Domino Blog support tip: do not use/allow apostrophes in the Page Name field

I experienced a bit of blaming and naming today. A customer “announced” that commenting in the IBM(?) Domino Blog Template had stopped working and the counters were not correct.

It appeared that the Page Name field (shows when you select the Show Advanced link in the Notes client) had inherited the apostrophe(s) used in the Subject field. Normally these apostrophes are removed by the following input translation formula:

@ReplaceSubstring(@ReplaceSubstring(@ReplaceSubstring(pagename;”?”:”&”:”@”:”£”:”$”:”%”:”^”:”<“:”>”:”*”:”/”:”‘”:”#”:”~”:”(“:”)”:”+”:”=”:”!”:”;”:”\””:”:”:”,”:”|”:”\\”;””);”–“:” – “:” “;”-“);” – “:”–“:”—“;”-“)

pagename

For some reason this function has stopped working in the application concerned.

The Page Name field is used on the comment form in the action property:

commentform

 

Comment documents are still being created, but the relation ($REF) to the parent article/blog post can not be computed.

I hope this will help you in supporting the Domino blog.

Good news is that rumors say that IBM will soon replace this dated “traditional” template with a brand new XPages based version ;-) 

 

 

 

Comparison between Extension Library (OpenNTF) and Upgrade Pack 1 (IBM) – You’re help is appreciated

Some days ago I posted a question on the XPages development forum: Comparison of functionality between Extension Library (OpenNTF) and Upgrade Pack 1 (IBM).

I work in a hosted environment and having a change applied (continue to work with extension libraries from OpenNTF via Update site instead of Upgrade Packs) is a complicated issue. Therefor I have wrote down some use cases where new functionality in the Extension Library which are not available in the Upgrade Pack can bring value to the organisation.

To save time I only did the comparison on paper, which means I have only looked in the “readme” files distributed which each new release and compared them the “What’s new in Domino Designer 8.5.3 Upgrade Pack 1” online document. I admit this is probably not the best research but it helps you to get started.

Below you will find the comparison. Please respond in case I have missed something or understood incorrect. The use cases are too sensitive so I will leave them out of this document. Thank you in advance for your assistance!

Package name

Extension Library

Upgrade Pack 1

 

Release date

2013 April

2011 December

 

Distributed by

OpenNTF

IBM

 

Controls

 

 

 

Area: Data Access

 

 

Expose data access services.


Document

þ

þ

 


View

þ

þ

 


Relational
Database Support

 

þ

 

Area: Dojo Form

 

 

Mimic components from the Dojo toolkit.


Dojo
Button

þ

þ

 


Dojo
Check Box

þ

þ

 


Dojo
Combo Box

þ

þ

 


Dojo
Currency Text Box

þ

þ

 


Dojo
Date Text Box

þ

þ

 


Dojo
Filtering Select

þ

þ

 


Dojo
Horizontal Slider

þ

þ

 


Dojo
Slider Rule

þ

þ

 


Dojo
Slider Rule Labels

þ

þ

 


Image
Select

þ

þ

 


Select
Link Select

þ

þ

 


Select
List Text Box

þ

þ

 


ListTextBox
Name Text Box

þ

þ

 


Dojo
Number Text Box

þ

þ

 


Dojo
Radio Button

þ

þ

 


Dojo
Simple Text Area

þ

þ

 


Dojo
Number Spinner

þ

þ

 


Dojo
Text Area

þ

þ

 


Dojo
Text Box

þ

þ

 


Dojo
Time Text Box

þ

þ

 

Area: Dojo Layout

 

 

Mimic components from the Dojo toolkit.


Accordion
Container

þ

þ

 


Accordion
Pane

þ

þ

 


Border
Container

þ

þ

 


Border
Pane

þ

þ

 


Dojo
Content Pane

þ

þ

 


Dojo
Data Grid

þ

þ

 


Dojo
Data Grid Column

þ

þ

 


Dojo
Data Grid Row

þ

þ

 


Stack
Container

þ

þ

 


Stack
Pane

þ

þ

 


Tab
Container

þ

þ

 


Tab
Pane

þ

þ

 

Area: Extension Library

 

 

Extend the capabilities of the Designer Core Controls.


Accordion

þ

þ

 


Application
Layout

þ

þ

 


Bread
Crumbs

þ

þ

 


Widget
Container

þ

þ

 


Data
View

þ

þ

 


Dialog

þ

þ

 


Dialog
Button Bar

þ

þ

 


DropDown Button

þ

þ

 


Dump
Object

þ

þ

 


Dynamic
View Panel

þ

þ

 


Dynamic
Content

þ

þ

 


Firebug
Lite

þ

þ

 


Form
Layout Column

þ

þ

 


Form
Layout Row

þ

þ

 


Forum
Post

þ

þ

 


Forum
View

þ

þ

 


Form
Table

þ

þ

 


Outline

þ

þ

 


Inline
List Container

þ

þ

 


In
Place Form

þ

þ

 


Keep
Session Alive

þ

þ

 


List
Container

þ

þ

 


List
of Links

þ

þ

 


List
Separator

þ

þ

 


Multi-image
Output

þ

þ

 


Name
Picker

þ

þ

 


Navigator

þ

þ

 


Pager
Add Rows

þ

þ

 


Pager
Expand/Collapse

þ

þ

 


Pager
Save State

þ

þ

 


Pager
Show/Hide Details

þ

þ

 


Pager
Sizes

þ

þ

 


PopupMenu

þ

þ

 


Redirect
control

 

þ

 


Sort
Links

þ

þ

 


Switch

þ

þ

 


Tag
Cloud

þ

þ

 


Toolbar

þ

þ

 


Tooltip

þ

þ

 


Tooltip
Dialog

þ

þ

 


Value
Picker

þ

þ

 

Area: iNotes

 

 

Support certain views, lists, and stores.


iCal
Store

þ

þ

 


iNotes
Calendar

þ

þ

 


iNotes ListView

þ

þ

 


ListView Column

þ

þ

 


Notes
Calendar Store

þ

þ

 


Notes
List View Design

þ

þ

 


Notes
List View Store

þ

þ

 

Area: Mobile

 

 

Support mobile applications.


Mobile
Page

þ

þ

 


Mobile
Switch

þ

þ

 


Page
Heading

þ

þ

 


Rounded
List

þ

þ

 


Single
Page Application

þ

þ

 


Static
line item

þ

þ

 


Tab
Bar

þ

þ

 


Tab
Bar Button

þ

þ

 

Domino Access Services

 

 

REST API that accesses databases on Domino servers.


Remote
Services

þ

þ

 


REST
Service

þ

þ

 


Domino
Mail service

 

þ

 

Updated templates

 

 

Skeleton that contains design elements, but no documents. You
use a template to create an application.


TeamRoom

þ

þ

 


Discussion

þ

þ

 


Document
Library

 

þ

 

Social Business Toolkit

 

 

Single source for developing integrations and leveraging IBM
Connections and IBM SmartCloud for Social Business.


Activity
Stream

 

þ

 

Social Enabler

 

 

Tools and controls for XPages to access information from other
social applications such as Facebook, Twitter, Dropbox, LotusLive, or IBM
Connections.


File
service

 

þ

 


Twitter

 

þ

 


Connections

 

þ

 


Sametime controls

 

þ

 


Facebook
controls

 

þ

 


Web
Security Store

 

þ

Storage of user credentials

when an application needs to connect to third party

servers.

Distribution of the extension library

I have written a document on the distribution of the extension library. I have compared Upgrade Pack installation option with using an Update Site. You may guess who has become the winner. If there is anything incorrect stated in the document please let me know.

PDF: Distribution Extension Library

Contents

  • Introduction. 2
    • Description. 2
    • Upgrade Pack. 2
    • Update Site database. 2
  • Discussion. 3
    • Physical installation versus runtime installation. 3
    • Administration overhead. 3
    • IBM support. 3
    • Speed in delivery of new functionality. 4
    • Proven technology versus Experimental phase. 4
  • Comparison. 4
    • Winner. 4
  • References. 5
    • XPages Extensibility API Developers Guide. 5
    • Installing and administering the XPages Extension Library. 5
    • XPages Extension Library Deployment in Domino 8.5.3. 5

Introduction

This document discusses the (recommended) way the extension library is distributed within Organization X.

Description

Based on the XPages Extensibility API, the Extension Library provides a set of new artifacts, including controls, which introduces extended capabilities to supplement XPages.

At the moment we see the library distributed in 2 ways:

  • Upgrade Pack.
  • Update Site database.

Upgrade Pack

The Upgrade Pack is an installation package that contains new features and improvements in Domino Designer.

The main functionality highlights of this upgrade pack include the following:

  • XPages Extension Library.
  • Domino Designer tooling plug-in.
  • Domino Data Services.
  • Updated TeamRoom and Discussion templates.

The XPages Extension Library provides additional controls that are ready to use.

The Upgrade Pack is restricted to a specific release of Domino. Currently there is 1 version released which is dedicated to Domino 8.5.3.

The Upgrade Pack 1 is supported by IBM.

Update Site database

An Eclipse update site is a repository for features and plug-ins and it follows a standard format. In IBM Notes the update site is an NSF application where OSGi bundles are dynamically contributed to the OSGi runtime of the Domino server.

The Extension Library will be uploaded to the Update Site application from where it is made available.

A great advantage of this approach is that plugins are not physically installed on the server but started up on HTTP startup of the Domino server.

The Domino OSGi launcher will automatically detect which version of a plugin it should use. Multiple versions of the Extension Library can be hosted by an update site. This increases the delivery of new functionality.

The Extension Library for an Update Site is distributed via OpenNTF at http://extlib.openntf.org/.

Discussion

There should be a discussion what the preferred way to distribute the extension library is. Each method has its advantages and disadvantages:

  • Physical installation versus runtime installation.
  • Administration overhead.
  • IBM support.
  • Speed in delivery of new functionality.
  • Proven technology vs. Experimental phase.

Physical installation versus runtime installation

The installation (and de-installation) via an Upgrade Pack is a physical installation and demands that a server must be shut down. The installation via an Update Site is not a physical installation and the server does not have to be shut down, only the HTTP task has to be restarted on the server.

The Update Site can be installed on multiple servers via replication and hereby the installation of the Extension Library on multiple servers can be accelerated.

There is a downside to the runtime installation. A Notes server has to have defined in the Notes.INI settings that dynamic bundles can be installed in OSGI via HTTP reset:

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_Extension_Library_Deployment#Set+the+Notes.INI+variable+-+OSGI_HTTP_DYNAMIC_BUNDLES

In order to have this Notes.INI setting in place the server has to be restarted once.

Administration overhead

The Extension Library provided via OpenNTF has continuous new releases. Most of these releases are bug fixes and the others provide new functionality.

It is likely that developers demand after the installation of latest release via an Update Site, in order to have access to the new functionality. This will create extra requests and administration overhead.

On the other side the physical downtime of a server has a very high impact also on the administration side (announcements, change requests, fall back servers, incident reports sent by ignorant users).

IBM support

Upgrade Pack is “supported” by IBM. You can discuss what that means. For certain you can make a PMR (problem management record) but it is not known if IBM is providing hotfixes for bug fixes for the Upgrade Pack.

Experiences in other PMR’s on Notes software (NTF templates for Notes) have not been positive always.

On the other hand one cannot really say that distribution of the Extension Library from OpenNTF via an Update Site is “not supported” by IBM. Since the release of the Extension Library there have been multiple releases (over 30) of the Extension Library. Most of these releases are bug fixes assumed.

There is a lively discussion on the Extension Library on OpenNTF http://www.openntf.org/internal/home.nsf/discussions.xsp?action=openDocument&name=XPages%20Extension%20Library&documentId=523C4281B0889F12862577910060E232 which makes the necessity of support from IBM less.

Speed in delivery of new functionality

In Today’s world software suppliers provide more often software updates silently on the background to boost security or to provide new functionality. In the browser world this seems almost to have become a standard.

Being able to deliver new functionality more quickly can bring extra value to the business.

An Upgrade Pack has only been released once until now. The announced Upgrade Pack 2 seems only to be focused on Notes Traveller. In the meantime more than 30 releases are available for the Extension Library on OpenNTF.

Proven technology versus Experimental phase

Upgrade Pack 1 contains only a stable version of the Extension Library.  The Extension Library on OpenNTF contains also experimental features (e.g. Social, RDBMS support). These features will someday reside in the ‘ordinary’ Extension Library.

The features are collected in an Extended Components library. This Extended Components library must be installed via an Update Site. From discussions on the internet it seems to be possible to install this library on top of an Upgrade Pack via and Update Site. But why use 2 methods to distribute functionality when you can combine them via one (via Update Site)?

Comparison

Based upon the previous discussion we will compare the two methods.

Upgrade Pack Update Site
Installation Physical Runtime
Administration 1 version Multiple versions
Support IBM (PMR) OpenNTF (defect, discussion)
New functionality New Upgrade (once 2 years?) New Release (each 2 months)
Proven vs Experimental Proven Proven + Experimental

Winner

The overall ‘winner’ in this comparison is the distribution via an Update Site. A runtime installation offers a lot of benefits above a physical installation:

  • Quick installation.
  • Availability server.
  • Replication option installation software.
  • New functionality.

There are some drawbacks:

  • A server needs to have the OSGI_HTTP_DYNAMIC_BUNDLES Notes.INI property which requires a restart of the server.
  • Installed versions of the Upgrade Pack should be removed first.

References

XPages Extensibility API Developers Guide

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_XPages_Extensibility_APIs_Developer_Guide

Installing and administering the XPages Extension Library

http://www-10.lotus.com/ldd/ddwiki.nsf/xpDocViewer.xsp?lookupName=Domino+Designer+XPages+Extension+Library#action=openDocument&res_title=Installing_and_administering_the_XPages_Extension_Library_ddxl853&content=pdcontent

XPages Extension Library Deployment in Domino 8.5.3

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_Extension_Library_Deployment