« LotusKnows Bus Tour Comes to DC, MD, and VA This Friday Nov 6 | Main| BP208 Lotusphere Session Demo Application & Slides »

Manipulating Time & Space: C&S in Your Custom Apps (BP208)

QuickImage Category  

I suppose it is as good a reason as any to break out of a blogging slump. It is my pleasure to announced that the esteemed Susan Bulloch of IBM (NotesGoddess.net) and myself will be co-presenting at Lotusphere 2010  on the topic of advanced uses of C&S (Calendaring and Scheduling) functionality in Lotus Notes. Here is the session abstract:

BP208 - Manipulating Time and Space: Adding C&S Functionality to Your Applications

Users often request Calendaring and Scheduling (C&S) functionality in their applications, or need little "extras" added to the built-in C&S functionality already in Lotus Notes.  In other cases it can be a challenge just getting users to abandon their "email for everything" habit and embrace these features at all. We will present techniques, tools and free code to help you provide your demanding users what they need for the future, and help the stragglers put bad habits in the past where they belong.  Come learn how to bend (meeting) times and add (conference room) spaces, fold C&S functionality into your custom applications, and build user-friendly interfaces for creating complex meetings with repeated ease.

At a time when Lotus is rolling out a forceful campaign to build market awareness that Notes/Domino is more than just email, more organizations will be seeking practical guidance on how to tap these newly discovered capabilities. This session offers a clear roadmap to meet this need, whether an organization has already embraced applications and other extended features (and may perhaps be wondering whether to shift platforms) or is a new or existing customer only now looking in that direction.

Historically many organizations that have adopted Domino have not embraced even its full “out of the box” functionality, specifically the built-in C&S and Resource Reservation features that integrate tightly with Notes mail. The recent improvements in the calendar features of version 8.5.1 and renewed interest in Domino as an application platform (owing to initiatives such as Lotus Knows, the partnership with OpenNTF, and free Domino Designer) make this an excellent time (no pun intended) to demonstrate one of the easiest ways for customers to get more value out of their Lotus investment.

There are many reasons that organizations might be slow to adopt C&S features or Domino's application development capabilities. These include lack of awareness, concern over support and training costs, and the perceived difficulty of customizing and integrating this functionality into existing applications. It is the latter obstacle at which this session takes most direct aim by providing a variety of useful code samples.

What problems does your organization have with scheduling that this session might address?

While we already have several real world scheduling challenges identified and plan to cover ways to address them, we thought it would be useful to hear from you about your own headaches that relate to scheduling of people, rooms, resources, events, you name it. What time and space issues do you wish were easier to manipulate?


1 - One aspect of C&S, "todo's":
Often in a workflow application when a person completes a task, it is both desirable and easy to send an email with a doclink to the next person in the workflow. My manager would like to take this one step further and also automatically add the task as an "todo" in the person's mail file.

Although I've implemented this, it's a big old ugly hack that requires being able to sign an agent with with an id that can write to someone else's email file. So I was wondering if there was a better way to do this?

2 - @1 Timothy, "sending a to-do" to someone else is similar to a technique I will demo that puts a calendar entry there (without requiring their approval or action), and which doesn't involve any agents. I suspect you will be able to adapt my code to the particulars of To-Dos without too much trouble.

3 - I always wanted to be able to tie multiple resources together. For example, when you book the video conferencing system it automatically knows you want a certain conference room. Or when you book a conference room you can select that you want to have a portable projector, coffee, and lunch. The people responsible for those extra services would get notified and could indicate on the reservation request when their part is ready.

In my own applications it would be awesome if I could somehow publish an event so people would be aware of it and could choose to participate. For example, an optional lunchtime training session or a notice about a monthly birthday celebration. An e-mail gets lost quickly, so maybe a way to automatically stick it on everyone's calendars as penciled in.

The last thing I get asked about constantly is why can't people book events that span multiple days without going into the confusing advanced options. They just want to put the start date as 12/16/1009 and the end date as 12/18/2009 and go on with their lives. Notes won't let them.

4 - @Charles, I've had similar ideas and was hoping to get this kind of great feedback in order to clarify the requirements. Thanks!

The first idea ties in with my notion of a "proxy" application that sits in front of the regular room & resource reservation application. It would contain more detailed profiles of each room, including photos, list of included equipment, links to owner profiles, maps, etc. You could also create "combo rooms" in the proxy app that point to two rooms with a movable separator. So you would use the proxy to book the combined room while behind the scenes two bookings take place. And of course you could include checkboxes for additional options like lunch, coffee, etc. that trigger notifications for same to the defined parties.

The "lunch and learn" idea where users essentially invite themselves to an event is another good one. I have code that will put entries on user calendars that amount to "pre-accepted invitiations", so an app that will let users trigger that action should fulfil that need. The nice thing then is that you maintain the normal meeting linkage such that cancellations or reschedules of the event trigger notification to the attendees/invitees. Penciling in is a new feature but I think should be an easy tweak to set the flag for it instead of just accepting.

Can you be little more specific on your multi-day event though? Are your users wanting to look busy all day for the entire time span? Do they want to include time values such that they might be busy from 9AM to 3PM for three full days but available from 3-5? This might be the sort of thing to push IBM to change in the core product, and our session might be a good time to start doing so. I could see using a separate app showing the event, as we used in the previous example, and making it easy to add it as a complex repeat meeting to your calendar in order to accommodate this request. But directly mucking with the calendar form in the mail template is asking for trouble, even without considering future upgrades.

5 - I like the idea of a wrapper app that interfaces with resource reservations, but what about freetime lookups? That was one thing that I always found difficult to get implemented right. I like the UI for it in the mail template, and I suppose I could have lifted that. I just never tried.

I prefer pencil-in over automatically accepted because if it's accepted they'll get popups about it and it blocks their schedule from freetime lookups.

The all-day event issue came up for the executive assistant who books travel for CxO's. They create a meeting, enter all the details, then learn that it's not one day, it's three. They just want to go into that meeting and change the end date and forget about it. They don't care about the type of the calendar entry. They don't need any fancy windows of availability, either. They just need to get it on the CxO's calendar that he's out of the office.

Today they have to start over. You can't change the entry type after the fact, and the time span on a meeting can't go longer than 24 hours. They could right-click the calendar entry and select Copy Into New > All Day Event, but it's more hoops than it needs to be.

6 - @5 - Charles, I have successfully embedded the free-time lookup grid into a custom app, and I know Jess Stratton has done something similar, so it's not impossible. Granted I didn't try recreating the one used in the RnR template, but that's probably easier than the one in the mail template to adapt.

The all-day event issue you describe is trickier to address without Lotus enhancing the core functionality. It also intersects with the Out of Office features, which might be a better way handle the overall "look busy" side of the problem. The right-click "copy into new calendar entry" is not a bad option, though it doesn't appear to preserve Body contents which is odd and not very helpful if you need that. Putting a "clone entry" or "change entry type" button could be built that would capture all the original details into a new entry, but if you have to open a separate app to find it the advantage is lost.

7 - Does anyone know if Domino's future versions will have a fix for the Resource Reservation 24 hour limits?

8 - Debra, do you mean a single meeting greater than 24 hours long? If so, you can already achieve this to some degree simply by creating the meeting as a daily repeat meeting.

Post A Comment


Your Host

Kevin Pettitt View Kevin Pettitt's profile on LinkedIn

Tools I Use

Idea Jam

Subscribe to This Blog

 Full Posts  Comments

netvibes Add to Netvibes


Hosted by



This site is in no way affiliated, endorsed, sanctioned, supported, nor blessed by Lotus Software nor IBM Corporation, nor any of my past or future clients (although they are welcome to do so). The opinions, theories, facts, etc. presented here are my own and in no way represent any official pronouncement by me on behalf of any other entity.

© 2005-2019 Kevin Pettitt - all rights reserved as listed below.

Creative Commons License
Unless otherwise labeled by its originating author, the content found on this site is made available under the terms of an Attribution / NonCommercial / ShareAlike