<< Previous | Home | Next >>

I'm a certified Lotus Connections 2.5 Administrator

It's official - I'm certified! How cool is that?! The certification exam was quite hard and the questions range from Websphere Application Server administration questions to administering the individual features to configuring security to deployment scenarios. There's a huge deal of things you need to know and the infocenter was my friend throughout preparing for the exam. Don't bother taking the exam if you haven't worked with the product for a while and put in the hours preparing.

I must admit that this is my first ever Lotus certification as I've never had the need before. While studying for this exam my view on certification has changed a bit. Before taking this exam I heard all the stories about certification and how it was about know exact UI wording etc. This exam was nothing like that. The question was very valid and made you think quite a lot and base your answer in your knowledge of the product. An exam as it should be. Another benefit is that I've read about areas of the product I otherwise wouldn't have and I've discovered quite some stuff that I need to implement or configure at customers. All very nice.

Single-sign-on with Lotus Connections for Windows users

Just stumbled over this new article on the developerWorks site on how to configure SPNEGO for Lotus Connections to allow SSO for Windows users. Should be an interesting read. For more information see Configuring single sign-on for IBM Lotus Connections in the Kerberos environment on the site.

Trying a move to the Mac

This week I'll be trying a move to the Mac as Per Henrik Lausten (@perlausten) was kind enough to lend me his Macbook Pro until Thursday. I've had it for a couple of hours now and it's already becoming easier. One of my pet pives is keyboard navigation which is something I really want and need. I'm a keyboard kind of guy so being able to navigate applications using the keyboard is going to one of the deciding factors. Finding links like this sure makes it easier but the judge is still out.

I'll post more as I progress through the week.

Tags :

Managing my calendar workwise and personally - this is how I'm trying to do it

So I have an iPhone and work with calendars on a daily basis so I'm constantly looking for new ways to work with them. For a long time I have been pondering the separation of calendar usage between my work and private life. Ideally they should be separate but viewable together. Up to now I haven't really found a solution that worked and have been using my Notes calendar for everything using it both from my Notes client and my portable device (aka cellphone). The main problem with that was that there was no easy way to allow my wife, family or others to peek into my calendar on an adhoc basis. I know there's stuff like Tungle but lets face it - it's still in beta and it will be some time before it's Wife certified... :-)

As of yesterday I think I have the solution though.

Part of Notes 8 is how easy it is to federate calendars into the product calendar by adding either iCal, Google calendars or the like into the calendar using calendar overlays (much has been written about that so Google away if you need more info). I have been perfectly happy with my current setup (using my Notes calendar and Lotus Traveler for everything) up to now but using an iPhone finally pushed me over the edge. The reason? Well there is no way to mark an appointment on the iPhone as private. It does however have the concept of multiple calendars. Whether that's a shortcoming in the iPhone I'll leave up to you.

However much I like my colleagues I don't think they necessarily should have the possibility to see, or be burdened with, what I'm doing on my own time so not being able to mark appointments from the iPhone as private has been an issue for me. When I created appointments on my iPhone (during my weekly calendar sync with my paper-calendar using wife) I had to remember to edit the appointments afterwards in Notes and set the private flag which was cumbersome and a hassle. Plus forgetting it made me ripe for ridicule from my colleagues when they saw what my wife made me agree to!

Yesterday I decided to do something about it and investigated it again. I moved my private calendar to my Google calendar after discussing it on Twitter with members of the community incl. Per Henrik Lausten (who is also my new McDaddy and Mac pusher). Now I'm using CalDAV to federate/sync my Google calendar to my iPhone. My Notes calendar is already there using Lotus Traveler and appointments are easily distinguishable as work appointments are in red and private appointments are in blue. In my Notes calendar I simply use a calendar overlay to display my private calendar alongside my work calendar using the same color scheme. My private calendar is even available offline by checking a box - does it get any sweeter? For me it's as near to perfect as seems possible now.

I want to thank the community on Twitter for pointing me in the right direction. If you want to see how to configure CalDAV on your iPhone I suggest 'How to Sync Google Calendar With iPhone Calendar' as an easy way to get started. Happy Friday!

Doing Java plugins? Then you need to checkout this OpenNTF.org project

Props goes out to the Java UI Team (Ryan Baxter, Adam Geheb, Stanton Sievers) for publishing the Java UI API Exerciser plugin showing how to use the Java UI API for the Notes client. If you're doing Java plugins for the Notes client you definitely want to check it out. Installation is also very easy because it's signed and as such also serves as a showcase on how plugin deployment works when it's fully transparent.

More info can be found on the catalog entry.

Notes 8 Utility plugins

From time to time I come across some functionality I think should be part of the Notes client but isn't. If it's really a big pain point for me and I can implement it myself I do so as a Notes plugin. I've implemented a number of such plugins over time but few have ever been published. Since I get requests for similar functionality from time to time I decided to create a page and publish the functionality there as I find the time and dig out the code and polish it of. I envision the list growing over time so do come back! :-)

If you got suggestions let me know.

Further reading: Notes 8 Utilities

I'll be speaking at Lotusphere Comes To You (LCTY) 2010 - Denmark

I'll be speaking at Lotusphere Comes To You (LCTY) 2010 in Denmark - both at the event in Lyngby (2 March) and the one in Århus (4 March). IBM Denmark already blogged about the event where Chris Crummey will be presenting the keynote.

Actually showing the password prompt when developing Java for Notes

If you're developing console applications in Java that access Notes resources and you're testing them in Eclipse you have experienced the following. You run your application to test it from Eclipse. It accesses a Notes resource and you haven't granted 3rd party applications access in the Security settings so it causes Notes to ask you for the password - only the Console view doesn't accept input... Bummer! :-(

Fortunately there's a solution to this which I'll show below.

Disclaimer: I can in no way take credit for this tip as I didn't discover it. The credit goes to Karsten Lehmann who posted it in the Design Partner forum.

The solution is not to make the password prompt go to the Console view but pop up a password entry dialog instead. The way to do this is to initialize the Swing UI framework before running your application as I do below (see code in bold).

import javax.swing.SwingUtilities;
import lotus.domino.Session;
import lotus.domino.Database;
import lotus.domino.DocumentCollection;
import lotus.domino.NotesFactory;
import lotus.domino.NotesThread;

public class Main {

  public static void main(String[] args) {
    try {
      SwingUtilities.invokeLater(new Runnable() {
        public void run() {}
      });
      
      NotesThread.sinitThread();
      s s = NotesFactory.creates();
      System.out.println("Name: " + s.getUserName());
      Database db = s.getDatabase("server1/Example", "names.nsf");
      DocumentCollection dc = db.getAllDocuments();
      System.out.println("Docs: " + dc.getCount());
      
    } catch (Throwable t) {
      t.printStackTrace();
    } finally {
      NotesThread.stermThread();
    }
  }
}