I’m surprised over and over again what kind of cool stuff is possible with Notes these days

A customer has a custom helpdesk / ticket system, which is quite complex and developed entirely with classic Notes elements. Beside these tickets there is a lot of additional data, like hardware devices, customer records, a document management database, purchase orders etc.
So far all this data is displayed in the ticket form using embedded views. This works, but is slow and this technique is not able to display all kind of documents belonging to a ticket in one list.

The customer asked me “can you create a widget for the sidebar which displays a list of all documents belonging to the ticket which is currently selected in the view?” – “sure, should be no problem” was my response 🙂

Some may remember that I worked with Composite Applications some time ago with Notes 8, which was not the best experience… a lot of stuff didn’t work that time, and I got a decent amount of additional gray hair.
Since the easiest way to develop such a widget is using an XPage inside a Composite Application, I had to revisit this technology again. And I have to admit, it works very well in Notes 9!

So far I have an XPage which display some generic data about a ticket and a list of all documents from different databases belonging to this ticket. The list of documents is computed by another XPage and loaded via Ajax (dojo.xhrGet), so that the computation of the data does not hinder the widget from being displayed.
I created a Composite Application which simply displays the start frameset of the ticketing database and loads the XPage into the sidebar. Then I told some views to push the note id of the selected document via property broker to the Composite Application, which in turn pushes that note id to the XPage.

Now when the ticketing database is being opened in Notes, the XPage widget is automatically loaded into the sidebar and when the user selects a ticket in the view, the widget is refreshed automatically so that the appropriate data can be computed and displayed. And when the ticketing database is being closed, the sidebar widget is being closed automatically, too.

I will write more about the exact steps I took, but so far I’d simply like say: using an XPage as sidebar widget works just perfect and I’m very satisifed with the outcome so far.


Comments are closed.