IBM®
Skip to main content
    Country/region select      Terms of use
 
 
   
     Home      Products      Services & solutions      Support & downloads      My account     

developerWorks  >  Lotus  >  Forums & community  >  Niklas Heidloff Blog

Niklas Heidloff Blog

Niklas Heidloff
Niklas Heidloff writes in this blog about different topics related to application development in Lotus Notes/Domino and Expeditor.

Before I post this code plus more on OpenNTF, here is a quick tip what you need to do to run XPages apps and Blackberry. If you don't follow the setup below you'll always get a zoom in when you tip anywhere. You need to disable zoom so that you can actually click links etc.  

Blackberry supports also the viewport meta tag - see here.

However there are some things you need to know:

1. Spaces are not allowed

Image:Quick Tip: Prereq to run XPages on Blackberry

2. The meta tag has to be under the header tag. This can be done now in Lotus Domino 8.5.2 code drop 4.

Image:Quick Tip: Prereq to run XPages on Blackberry

More to come soon on http://mobilecontrols.openntf.org.

Niklas Heidloff | 13 July 2010 03:27:14 AM ET | | Comments (0) | Permanent Link

[had to repost since first images in first entry were bad]


As you might know there is a sample application (the extended discussion template) available on OpenNTF (download here) with significant improvements to the rich client user experience. I've blogged a couple of times about these UX improvements on OpenNTF.org. See here for a demo. Today I describe more of the used technology.

The main goal of the project is to provide a better discussion template. The main goal is not to use certain technologies to push these technologies or to use artifactual scenarios to showcase new features. We've done some evaluations and here is what we've planned to do. The target platform is Notes/Domino 8.5.1.


Web UI
For the web user interface of the discussion template we use XPages for everything.

This was an obvious choice given all the nice new capabilities XPages provide.


Rich Client UI
For the rich client user interface of the discussion template we use a combination of classic Notes app dev, composite applications and XPages.

We use the Java Views running inside a composite application for the entry page. The main reason is that we wanted to provide a consistent user interface to other Notes 8 style applications like mail. The other reason is that we wanted the best possible user experience for view navigation and rich text editing that is available right now with 8.5.1.

From this first page you can launch other 'cloned' pages by doubleclicking the view entries. I've used a technique that my old team implemented when I worked on composite applications - see here.

The second page is another composite application page with these components:
Image:Sample Composite Application using XPages in Lotus Notes 8.5.1

These components are wired:
1. When the response document is loaded it passes the necessary information to the thread viewer.
2. The response doc also determines the parent document that is displayed at the bottom.
3. When you click on a label in the thread viewer the 'previewed' doc at the bottom is changed.
4. When you click on icon in the thread viewer (not doubleclick as picture indicates) the document is launched in it's own tab.
Image:Sample Composite Application using XPages in Lotus Notes 8.5.1

The thread viewer is an XPage because it allows maximal flexibility in terms of user interface design. Also the alternative to use an embedded view didn't work since it couldn't display an entry in the thread viewer for the new document before the document was saved. However this is a key scenario for discussions that users want to see where in the hierarchy their document will show up.
XPages in 8.5.1 can participate in property broker via the new design element 'Components':
Image:Sample Composite Application using XPages in Lotus Notes 8.5.1

The main area of the page uses the new 8.5.1 Notes Document container to display a document and to pass via landmarks data to other components.
Image:Sample Composite Application using XPages in Lotus Notes 8.5.1

The component at the bottom is a Notes component to display a certain Notes document. It uses a nice trick to do this. The frameset has one invisible frame with Notes actions that are triggered via property broker. These actions store the to be displayed Notes URL in a Notes environment variable from which the second visible frame reads this information and displays the right Notes document. The main reason why I haven't used the Notes Document Container here as well was that I needed a way not only to display a Notes document in this rectangle but also to launch a Notes document in it's on tab when clicking (one click, not doubleclick as in picture above) the icon next to the label in the thread viewer.


Rich Client Extensions
For rich client extensions that will be globally available (not part of the template) I'd like to use Eclipse plugins.

In this blog entry I've describe a little prototype that I want to publish next week. With this tool Notes users can easily copy Notes documents into discussion applications. This tool is not part of one discussion application but always available/visible in the Notes client. So it's rather an extension to Notes than to the discussion template. I've some other tools in mind that could be done in the same way. Stay tuned.

These extensions could theoretically be installed as part of the discussion application by referencing the Eclipse features in the composite application definition. However then we'd also need a separate update site database with the Eclipse features that always would have to be deployed with the discussion application. Since these extensions are not mandatory, but only optional tools I'd like to keep the standard deployment of the discussion template separate from the Eclipse features. For Eclipse features administrators can use the Widget Catalog to push these features down to certain users/Notes clients. The features could also be installed by users easily from a catalog via drag and drop.


I encourage you to try out this sample not only to get an updated rich client user experience for discussion applications but also to learn more about the used technologies. You can download the sample from here.

Niklas Heidloff | 22 October 2009 03:51:08 AM ET | | Comments (0) | Permanent Link

[Some images are corrupted below. See here for fixed version]

As you might know there is a sample application (the extended discussion template) available on OpenNTF (download here) with significant improvements to the rich client user experience. I've blogged a couple of times about these UX improvements on OpenNTF.org. See here for demo. Today I describe more of the used technology.

The main goal of the project is to provide a better discussion template. The main goal is not to use certain technologies to push these technologies or to use artifactual scenarios to showcase new features. We've done some evaluations and here is what we've planned to do. The target platform is Notes/Domino 8.5.1.


Web UI

For the web user interface of the discussion template we use XPages for everything.

This was an obvious choice given all the nice new capabilities XPages provide.


Rich Client UI

For the rich client user interface of the discussion template we use a combination of classic Notes app dev, composite applications and XPages.

We use the Java Views running inside a composite application for the entry page. The main reason is that we wanted to provide a consistent user interface to other Notes 8 style applications like mail. The other reason is that we wanted the best possible user experience for view navigation and rich text editing that is available right now with 8.5.1.

From this first page you can launch other 'cloned' pages by doubleclicking the view entries. I've used a technique that my old team implemented when I worked on composite applications - see here.

The second page is another composite application page with these components:
Image:Sample Composite Application using XPages in Lotus Notes 8.5.1

These components are wired:
1. When the response document is loaded it passes the necessary information to the thread viewer.
2. The response doc also determines the parent document that is displayed at the bottom.
3. When you click on a label in the thread viewer the 'previewed' doc at the bottom is changed.
4. When you click on icon in the thread viewer (not doubleclick as picture indicates) the document is launched in it's own tab.
Image:Sample Composite Application using XPages in Lotus Notes 8.5.1

The thread viewer is an XPage because it allows maximal flexibility in terms of user interface design. Also the alternative to use an embedded view didn't work since it couldn't display an entry in the thread viewer for the new document before the document was saved. However this is a key scenario for discussions that users want to see where in the hierarchy their document will show up.
XPages in 8.5.1 can participate in property broker via the new design element 'Components':
Image:Sample Composite Application using XPages in Lotus Notes 8.5.1

The main area of the page uses the new 8.5.1 Notes Document container to display a document and to pass via landmarks data to other components.
Image:Sample Composite Application using XPages in Lotus Notes 8.5.1

The component at the bottom is a Notes component to display a certain Notes document. It uses a nice trick to do this. The frameset has one invisible frame with Notes actions that are triggered via property broker. These actions store the to be displayed Notes URL in a Notes environment variable from which the second visible frame reads this information and displays the right Notes document. The main reason why I haven't used the Notes Document Container here as well was that I needed a way not only to display a Notes document in this rectangle but also to launch a Notes document in it's on tab when clicking (one click, not doubleclick as in picture above) the icon next to the label in the thread viewer.


Rich Client Extensions

For rich client extensions that will be globally available (not part of the template) I'd like to use Eclipse plugins.

In this blog entry I've describe a little prototype that I want to publish next week. With this tool Notes users can easily copy Notes documents into discussion applications. This tool is not part of one discussion application but always available/visible in the Notes client. So it's rather an extension to Notes than to the discussion template. I've some other tools in mind that could be done in the same way. Stay tuned.

These extensions could theoretically be installed as part of the discussion application by referencing the Eclipse features in the composite application definition. However then we'd also need a separate update site database with the Eclipse features that always would have to be deployed with the discussion application. Since these extensions are not mandatory, but only optional tools I'd like to keep the standard deployment of the discussion template separate from the Eclipse features. For Eclipse features administrators can use the Widget Catalog to push these features down to certain users/Notes clients. The features could also be installed by users easily from a catalog via drag and drop.


I encourage you to try out this sample not only to get an updated rich client user experience for discussion applications but also to learn more about the used technologies. You can download the sample from here.

Niklas Heidloff | 22 October 2009 03:08:41 AM ET | | Comments (0) | Permanent Link

In honor of YellowDay I was thinking about what Lotus means to me.

During my time at university I worked for a small company in Germany where we implemented Lotus Workflow. After university I started to work for this company full-time since I knew that there is a good chance to be acquired by Lotus/IBM. I did this even though at that time employees didn't get (regular) salary anymore. Four months later I was invited to come to Boston for an interview and some weeks later I moved to Boston.

At this time (1999) Lotus had a big marketing campaign "I am" going on. Part of this campaign was the usage of the character Superman. The slogan "I am Superman and I can do anything" described exactly how I felt at that time. I reached my goal to work for Lotus. Over the weekend I found this old picture that I took in Boston from the marketing material. I think the other side said "I am Superman" but I didn't take a picture of this. This picture is mainly blue but I've learned in the last years that yellow and blue and a great combination.

Image:Lotus knows Superman

By writing this I just realized that I had last month my 10th anniversary working for Lotus/IBM. I've really enjoyed this time and I hope for at least 10 more years. I work with great people on innovative and interesting technologies. Also in this big company there are always options for change to try something new.

As always in my career (well in most cases anyway) the current job is always the best one. I work now on Notes/Domino application development and want to make OpenNTF even more successful. I'm looking forward to the next months since there are a couple of interesting things going on.

Niklas Heidloff | 11 August 2009 04:24:54 AM ET | | Comments (1) | Permanent Link

[This blog entry is redundant to the one on the OpenNTF blog. I needed a place to store the movie. So I had to post it here and refer from OpenNTF to it]

There is a new project on OpenNTF to initiate IM chats from selected text in Notes documents. Li Juan Gao from the IBM development lab in China has implemented it. As always it can be installed easily via drag and drop from the catalog.

This Eclipse plugin sample code shows how to perform three Sametime actions (1. chat. 2. show business card, 3. add to contacts) for selected text in a document in the Notes client.

Just select either first and last name, a full Notes name or an internet email address in your Notes document, then right click and choose your action in the context menu as shown in the screenshot.

Image:New Project: Initiate IM chats from selected text in documents

Image:New Project: Initiate IM chats from selected text in documents

Here is a quick demonstration how this works.

Niklas Heidloff | 4 August 2009 02:51:09 AM ET | | Comments (0) | Permanent Link



    About IBM Privacy Contact