Friday, May 6, 2011

Google Calendar, Lotus Traveler and an awesome community!

So I was playing around with adding my Google calendar into Notes calendar this week.  I really like that  feature.  My family, at my poking and prodding, is using Google more and more to keep everyone on the same page.  At least, it's my attempt to keep everyone on the same page. With my wife working different hours week to week and the kids year end activities being all over the place, it's nice to have that central "cloud" point to sync us all up.  Plus, I'm trying to draw a line in my life to make sure I separate work and personal things, I want the personal stuff outside of my work client.  But, it's nice to click a check box in Notes and take a look at what's going on quickly.  So this is where my adventure begins.
I noticed the option in the setup for the external calendar to "View this calendar when offline or on a mobile device".  I've seen the feature before and have played with it in the past, so I turned it on again.  As expected with Lotus Traveler, it took all of those external calendar entries that I specified, (there is a time option when you turn it on in Notes), and it brought the Google entries down to my flotilla of mobile devices.  Okay, everything worked as expected.  So I unchecked the option to turn off the Google entries and in the Notes calendar view, they went away.  But on my Traveler connected mobile devices, the remained.  I tried removing the profile from my iPod Touch and reinstalling it, no good.  The Google entries kept coming back.  Mind you, there are not showing up in my client's calendar view.  But here's another weird issue.  Anytime a Google calendar entry start time would come up, say, like when my wife is suppose to start work, it changes my Sametime status from available to meeting.  Thinking it's a calendar profile issue, I delete my calendar profile, but no luck.  The entries are still on my mobile devices and the Sametime status keeps getting changed.  I then tried issuing a blanket "Tell Traveler reset * Andy Donaldson/OU/O",  but that led to an error on the server I had never seen before:
05/06/2011 08:10:09 AM  Lotus Traveler: WARNING CN=Andy Donaldson/OU=OU/O=OU Unexpected Domino timezone string Z=5$DO=1$ZN=America/New_York 
Ok this is an error I've never seen before.  And of course, that led me to open a ticket with support. While I was waiting for them to get back to me, I did some digging.  Obviously those entries are stuck somewhere.    But where?  In Designer, (yes, an Admin with Designer loaded on his PC, scary), I found the view $OfflineCalendar in my mail file.  Tada!  I found the offending entries.  But when I tried to open the hidden view in the Notes client, it just brings up a Notes calendar view and doesn't show the entries.  I tried using Designer to switch the view from Calendar view to summary, but it didn't work or I didn't know what I was doing.  But, I needed to get rid of these documents.
That's when I Tweeted.
And once again, the Lotus community, be it Yellow, Blue or whatever it is these days, came to the rescue.  First up, Devin Olson offered me a bit of code to try and remove the entries. 
Dim s As New NotesSession()
Dim db As NotesDatabase
Dim vw As NotesView
Dim col As NotesViewEntryCollection

Set db = s.CurrentDatabase
Set vw = db.GetView("($OfflineCalendar)")
Set col = vw.AllEntries
Call col.RemoveAll(True)
***Warning, the above code is offered as buyer beware***
But, being an Admin, I was having problems with it.  Some more tweets came in with ideas to try from Don McNally and Tom Duff.  Then, noted Scotsman and community luminary Bill Buchan, gave me the virtual smack in the back of the head guidance on where to get the code added
  • Create a Lotus Script agent
  • Paste the code in the Initialize section
  • Enjoy
Once I ran the agent code on a copy of my mail file, the entries were in the Trash.  Once I ran it against the production database, same happy results.  So what did we learn:
1.  Adding an external calendar to Lotus Notes is a cool feature.
2.  Admin's like me need to continue to stay out of the Developer client
3.  Making the entries available offline and on a mobile device is also cool.
4.  Having entries stay around after you turn the feature off and making your Notes client wacky, is not cool.
5.  The always connected Lotus Notes/Domino community is fantastic beyond words.

It's always an awesome day when you collaborate with some friends hundreds or thousands of miles away and you get something fixed.

1 comment:

Anonymous said...

I found your article very interesting. I am also a Notes 8.5 and Traveler user, and tried overlaying Google Cal with the "add calendar" function in Notes 8.5 Client. Although my problem seem to be quite the opposite of the problem you mentioned. I turned on the "offline and mobile device" option, and eventually some google calendar entries showed up in traveler, but some did not (I am aware of the time option) so now I am wondering about the route my google entries take until they land in my traveler... is it maybe necessary to replicate the notes client in order to get the google entries into traveler, or do the goolge entries come directly from goolge / notes server to traveler?

Would very much appreciate any thoughts on this subject.