Experiences from doing Notes 8.5 application development workshops

Tuesday, Wednesday and Thursday of this week I conducted the third installment of my Notes 8.5 application development workshop to 10 new attendees. This workshop is quickly becoming a big success and as of now 3 more workshops are planned in the near future. I see the big interest in the workshop as an indication that companies and developers are interested and excited about the new Notes releases – especially Notes 8.5. There are of course good reasons for this as Notes 8 is the first Notes release in a long time to actually contain major new features and improvements to the application development platform.

Another interesting thing is that the interest in the application development workshops seems to carry over to Domino administration. Quite a few attendees has gotten back to me asking for an equivalent administration workshop which I find interesting. These are exciting times for the Lotus Notes and Lotus Domino platform.

The agenda of the workshop looks like this:

  • Day 1
    • Introduction to Domino Designer on Eclipse (DDE)
    • MyWidgets / LiveText (introduction and exercises)
    • XPages (introduction, “simple exercise”)
  • Day 2
    • Recap day 1
    • XPages (continued), more details
    • Extended XPages exercises
    • Introduction to Composite Applications
  • Day 3
    • Recap day 2
    • Composite Applications exercises
    • Introduction to Eclipse and Lotus Expeditor infrastructure
    • Introduction to Notes 8 Java sidebar plug-in development
    • Sidebar plugin exercises
    • Recap day 1, 2 and 3

Among the topics covered XPages and MyWidgets/LiveText are the ones that garner the most interest by far. Once attendees discover how quickly and easily they can construct applications using XPages they are very excited. It’s funny to simply sit and observe them as they complete the “simple” introductory exercises where they create XPages, play with data binding, auto-suggestions for text fields, themes, styling etc. They tend to smile a lot! They are amazed of how easy it is to develop applications and how quickly they can produce a professional looking application. The fact that all the @Functions have been converted to JavaScript is of course a big win as even Notes 6.5 / 7.0.x developers are productive right out of the gate.

Couple this with the fact that XPages will run natively in the Notes client come Notes 8.5.1 and they’re definitely sold! They’ll never go back to WebQueryOpen agents again that’s for sure! 🙂

After XPages comes MyWidgets and LiveText in popularity. Many, if not all, start out with the same approach to widgets as I had when I first heard of them namely “why would I ever want widgets in my Notes client?” and “how can a Google gadget make me more productive?” Once they are introduced to the technology, see how easy widgets are to develop and how widgets can be coupled to the Notes client using LiveText they are sold. They see why MyWidgets and LiveText might be the easiest and most powerful way to add functionality to the Notes client and why it may be one of the greatest additional to the Notes client in a long time.

Now comes Composite Applications. Understanding the concepts and the technologies behind Composite Applications and seeing the benefits and how Composite Applications can be applied in the real world is difficult to some of the attendees. All are able to follow the exercises and all see what IBM Lotus is trying to achieve with Composite Applications but few will start developing Composite Applications back home. I think this is due to the concept being a bit too abstract and because it’s too difficult to develop the applications. There’s too many things you “just need to know” such as obscure component/page preferences and the UI is not up to par. I tell attendees that much has changed for Notes 8.5.1 but I fear that many still find it too difficult to bother messing with. I hope I’m wrong but that’s how I see it.

The final topic covered is Java plugin development for the Notes 8 client. Attendees get an introduction to Eclipse/Lotus Expeditor and the plugin architecture of the client – basically I do a presentation like my Lotusphere 2009 session before they do exercises. I also show to series of demos of stuff that can be done using plugins that cannot be done any other way.

I find that many attendees like the flexibility and power they get from Java plugins but that the feedback is also that the learning curve is too steep. Many attendees lack the application development and Java skills required to develop these kinds of plugins. For many it also becomes a question of where they get the most “application development bang for the buck!” Spending their time learning XPages and MyWidgets and hoping that MyWidgets grow more powerful in time, or start learning Java to embrace Java plugin development. Many opt for the former which I guess is understandable.

To sum up the feedback from these workshops have been great and they are a big win to our customers. Attendees see the power of the Notes platform and I feel that attendees leave with renewed excitement about the platform and I trust that they carry this excitement back to their respective jobs and companies. They leave with a renewed interest in Notes and seeing it as a platform – not as an e-mail client

Configure Eclipse 3.4 for Notes 8.5.1

With the eminent release of Notes 8.5.1 it will become important for all you plugin guys and gals to update your configuration to work with Notes 8.5.1. This post will address this.

One of the really nice things about this new release is how Lotus strive to minimize the disk footprint of the install package. Part of this involves how jar-files are stored in the installed package but also how many Java VM’s ship with Notes. Previously there were 2 JVM’s – now there’s only one. There’s no longer a JRE stored in the plugin directory way down in the directory structure. Now you simply use the JVM in <Notes install dir>/jvm – simple right?!

This is nice but it means that your Eclipse configuration needs to be a little different JVM wise. I have therefore updated my Eclipse configuration guidelines to work with Notes 8.5.1.

Happy coding…

Please note: Once Notes 8.5.1 is final and released I’ll update the guidelines with the correct install id etc.

I’m back

So I’m back from my honeymoon and slowly returning to my online life. 3 weeks in Singapore and Malaysia without internet, e-mail, phone, twitter, blog… Very, very nice but a bit scary! 🙂

I’ll be speaking at the Dutch Notes User Group in Amsterdam

I’m happy to announce that I’ll be speaking at the Dutch Lotus Notes User Group in Amsterdam on 29-30 October. Of course my company will also be there as a sponsor and exhibitor.

“Two full days packed with technical sessions, IT strategy and visionaries. All concentrated around IBM Lotus software. This is the perfect opportunity to learn from others, network with peers or get acquainted with new technologies from Lotus.”

See you there.

Using a non self-signed certificate with Lotus Connections

When you deploy Lotus Connections you find out that the login has to be done using SSL and hence you need a SSL certificate. When Lotus Connections is installed a self-signed certificate is generated but you’ll probably want to use a “real” certificate whether this be one signed by a public CA or one signed by a corporate CA. Doing this is quite simple if you only swap out the IBM HTTP Server certificate as this only requires change to httpd.conf and using the ikeyman application.

Although the ikeyman application looks like something from another century it works and does its job. To launch it go to c:websphereappserverprofilesappserver1bin and invoke ikeyman.bat (substitute the path as appropriate). Once this is done follow the documentation to create a new keystore database (KDB format) and create a stash file. Then generate a new key pair and submit the keys for certification at your CA (again follow the documentation). The stash file is used by the web server to open the otherwise encrypted keystore without a password.

When you receive the reply please bear in mind that the certifying certificate must be in the keystore before accepting the reply. For most CA’s this will require you to import a certificate before proceeding. This goes for Equifax as well as Verisign. The easiest way to find these is to surf to your CA and search for “intermediate”.

Once this is done you can import the certificate reply, update httpd.conf, restart IHS and you’re laughing…