Why I’m not using the Lotus Expeditor Toolkit

Every time I get questions on developing plugins for the Lotus Notes 8 platform I mention that I really can’t comment too much on Lotus Expeditor Toolkit installation and usage questions. The reason is that I do not use the toolkit when developing for Lotus Notes. Since I get the question so much I thought I would take it to the blog as well.

The main reason I started developing for Lotus Notes without the Lotus Expeditor Toolkit was due to two reasons:

  1. Because I kept receiving new betas of the Lotus Notes client from IBM Lotus and because XPD toolkit wouldn’t work with these betas
  2. I wanted to use newer Eclipse versions than what the XPD toolkit supported

It’s not that I don’t find the toolkit valuable but for the work I do it isn’t a requirement.

I understand why you might want to use Lotus Expeditor Toolkit as it may be considered easier (if you’re not so Eclispe savy), because you have to! or because you need to switch target platform often (Notes -> Symphony -> Sametime).

Why you should get Notes/Domino 8.5.1 if you take Notes as a PLATFORM seriously

Yesterday Ed asked “Notes/Domino 8.5.1 available: So what do you think?” so I thought I would take a little time and reflect over the new release. I have to admit that I have been running 8.5.1 as my production client for so long that it’s difficult to remember what’s new but I’ll give it a try.

For me as developer and a “Java guy” the main things about 8.5.1 is of course the new DDE extensibility API and the official release of the Java UI API not to mention that we FINALLY have a decent LotusScript/Java editor in DDE. That’s great but that’s is not it.

On of my biggest pet peeves with IBM has been how they for a long time referred to Lotus Notes as a mail client. It IS a mail client but albeit much more than that. By far. Notes 8 (Standard) showed the way by giving us a PLATFORM to develop for. Part of the platform is Java extensions no matter whether they are for the sidebar, toolbar or context menus. Java extensions are of course also an integral part of the Composite Application framework. The biggest problem with the Java extensions when Notes 8 came out was that they were hard to provision to users. That was later remedied by the introduction of widget descriptors (drag’n’drop install of Java extensions to the MyWidgets sidebar or using the widget catalog) so that’s great. The approach had however one major flaw in that the Notes client prompted users when installed unsigned Java extensions. There were ways around it but it wasn’t pretty.

So….

The reason to get 8.5.1 if you take Notes as a PLATFORM seriously is a little, tiny, addition to the security policy in Domino Directory. “But you’re a developer” you might say and you’re (mostly) right. This addition is however of great importance to all developers – it may just be the one thing that gives you success with your Notes Standard client deployment.

Once you have upgraded to 8.5.1 open your Domino Directory and check out the Security Settings document for policies. Switch to the “Keys and Certificates” tab and scroll to the bottom. Look closely – you might not see it at first. Way down of the bottom there is a new section called “Administrative Trust Defaults”. In this section you can specify the internet certificates and/or internet cross certificates to deploy to your end users using policies. With this crucial piece in place you can deploy signed Java extensions to end-users and have them install them without being prompted. At all!! The wont get confused, they wont have the option of aborting the install. This is great news and it works great.

Now that we’re able to push internet cross certificates to end-users these issues goes away. So go!! Deploy away!! Break out Eclipse and get going writing these Java extensions and deploy them seamlessly and transparently…

Of course there are caveats and stuff you need to know but that’s for another day! Oh – and that’s what Lotusphere is for! 🙂

Developing plug-ins for Domino Designer in Eclipse (DDE)

With Notes 8.5 just around the corner we also have Domino Designer for Eclipse (DDE) just around the corner. Domino Designer being built on Eclipse opens up the door for plug-in developers and tool vendors to provide tools that plug-in into Designer just like (sidebar) plug-ins plug into the Notes client. The API’s are the same so the stuff you already know can be reused.

Please note: The below requires that you’re running a Notes 8.5 beta with DDE and that your Eclipse IDE is configured for Notes 8.5. See this post for instructions on configuring Eclipse for Notes 8.5.

Developing plug-ins for DDE is however a little tricky as the Expeditor Toolkit or my own instructions will launch the Notes client and not DDE. Unfortunately you can’t just launch DDE once Notes is launched from Eclipse since this will result in a Notes initialization error as Notes is already running and DDE is launched anew. That aside it would also be unnecessarily time consuming for day-to-day development.

The solution is to edit your existing Eclipse launch configuration (or create a new) that launches DDE instead of Notes. So how do you do it? Read on…

First bring up your Notes launch configuration. Now change the “Run a product” dropdown to “com.ibm.designer.domino.product.dde” and then switch to the “Arguments”-tab and change the “Program arguments” field from

-personality com.ibm.rcp.platform.personality
-product com.ibm.notes.branding.notes
-debug
-console
-nl en_US

to

-personality com.ibm.designer.domino.personality
-product com.ibm.designer.domino.product.dde
-debug
-console
-nl en_US

Apply the settings and run the configuration and notice how DDE now launches instead of Notes. Don’t you just love Eclipse?

Now we just need some published extension points…