Sorting a NotesDocumentCollection by multiple field values (Show’n Tell Thursday)

I have been using Joe Littons sortCollection function with success to sort a NotesDocumentCollection by the value in a specific field name. However the function can only sort by one field value and I recently had the requirement to be able to sort by multiple field values.

Max Flodén has created a function that does exactly that: sorts a NotesDocumentCollection by one or more field values. But the code from Max uses Evaluate and @Sort to do the actual sorting – and therefore has problems with quotes in the values and apparently also a problem with large collections (see comments to his post).

So I have combined the best from the two sort functions – the sortValues function from Joe Litton that uses Shell sort and the option to sort by multiple field values from Max Flodén – to get a function that sorts a NotesDocumentCollection by one or more field values.

Update: I have updated the sort function to use a fast and easy way of creating an empty NotesDocumentCollection introduced by Peter von Stöckel.

Update November 21: During testing I found an unnecessary loop in the sortCollection function. I have therefore updated the sort function.

Update December 9, 2011: The function is now available on the new OpenNTF XSnippets site.

Lotus Domino and 64-bit support

Starting with release 7.0.1 Lotus Domino is supported on 64-bit versions of Windows, Linux, Solaris, AIX, and i5/OS. 64-bit enables the Lotus Domino server to address memory above 2 GB.

The current Lotus Domino server is still 32-bit based. A 64-bit version of the Lotus Domino server will enter beta testing at the same time that Hannover and Domino Next ship.

[Via dominoblog.com]

For more information on Domino and 64-bit please see the article called “The 64-bit question?” on the Lotus Notes & Domino pages and the FAQ on the Lotus Domino support pages.

Technorati tags:

Domiclipse 0.2.4

Domiclipse 0.2.4 has been released.

“Domiclipse Java is a plugin for Eclipse which allows you to replicate your Java agents and script libraries to the Eclipse environment and then replicate changes back to Domino.”

Update: Ben Poole has posted a short “review” of Domiclipse 0.2.5 – with comments from Keith Smillie himself from the Domiclipse project.

Technorati tags:

getItemValueString and Domino 6.5.5 and 7.0 (Show’n Tell Thursday)

The return value of the Java method getItemValueString has been changed in Lotus Domino 6.5.5, Lotus Domino 7.0 and later releases. Before 6.5.5 the method getItemValueString returns null if the item is empty or if the item does not exist. In 6.5.5, 7.0 and later releases getItemValueString returns the empty string (“”) instead.

I upgraded three servers from 6.5.4 to 6.5.5 and found out the hard way when the application didn’t work as expected. Conditions checking getItemValueString for null values were never met so lots of logic was skipped.

So if you plan to upgrade to 6.5.5 og 7.0 or later then check your Java code for the use of getItemValueString.

Update: I have added this post to the Lotus Notes and Domino Blogging Community Show’n Tell Thursday series.

Hannover by Jeff Eisen

Jeff Eisen has posted a great technical introduction to the next major release of Lotus Notes (code name “Hannover”).

To summarize, here are the main points from the introduction:

  • Hannover refers to the Notes client. The Domino server that will be released with Hannover is code-named “Domino Next”.
  • Hannover will most certainly be known as Lotus Notes 8.0 when officially released.
  • Hannover is based on the Eclipse Rich Client Platform – more precisely on a common platform titled Lotus Expeditor. The Lotus Expeditor platform is also being used for the new Lotus Sametime 7.5.
  • Being based on Eclipse means that Eclipse developers can build Notes applications
  • And finally, there will still be a “traditional” technology non-Eclipse version of the Notes client delivered as part of the Hannover release.

You have probably heard all of this before but it is new to me that the Hannover release will include a standard Notes client (i.e. not based on Eclipse).

My previous posts on Hannover:

Lotus Domino and designing for accessibility (Show’n Tell Thursday)

I have just completed a project with the purpose of modifying an existing web site based on Lotus Domino to make it accessible – that is to allow access to people with disabilities. The changes to the web site makes it usable to for example a person with visual disabilities who can use a screen reader such as IBM Home Page Reader to have the web site read and navigate using the keyboard only.

In the US it is required by law that all US federal agencies make their information technology accessible to their employees and customers with disabilities. This is stated in section 508 of the Rehabilitation Act Amendments of 1998.

The Lotus Notes Application Accessibility Checklist is a valuable checklist with specific information on how to make your Lotus Notes client application and Lotus Domino web application compliant with section 508. The following is one of the many checks to go through when designing for accessibility:

  • Associate labels with editable fields on forms using field help or HTML TITLE”.
    This involves applying the <label> tag to all editable fields and relating the tags to the ID of each editable field.

If you want to apply the <label> tag to a field with no associated label text then you can apply the <label> tag around a hidden descriptive label text by surrounding the label text with <>. This creates a descriptive label text for the field that a screen reader can read. The following example shows how to do this:
<label for=”examplefieldID”><example field description></label>

Lotus Notes/Domino 7 vs SharePoint Portal Server 2003

ZDNet Australia compares Lotus Notes/Domino R7 with Microsoft SharePoint Portal Server 2003 and the conclusion is:
If you are already use Lotus Notes for e-mail or if you are an IBM shop and can invest the time and money into developing collaborative applications, Lotus Notes/Domino 7.0 is a powerful framework on which to do so. However, if you don’t have the resources dedicated to developing collaborative applications, don’t have complex application or integration requirements or if you are focused on the Microsoft solution stack, SharePoint Portal Server 2003 is going to be hard to beat.

The review is currently being discussed at Slashdot.

Update: read more comments on the review from Ed Brill and The Sickos.