bp208 manipulating time and space final
DESCRIPTION
Kevin Pettitt and Susan Bulloch delivered this presenation as BP208 "Manipulating Time and Space: Adding C&S to Your Applications" at Lotusphere 2010. Find the accompanying demo application at http://www.lotusguru.com/lotusguru/LGBlog.nsf/d6plinks/20100125-8228B7TRANSCRIPT
BP208 Manipulating Time and Space
Kevin Pettitt | LotusGuru ConsultingSusan Bulloch | IBM
Agenda● Native C&S capability
● Tips on extending existing features
● Best practices when programming in this area
● Sample code
● Resources
2
What you’ll get out of this session● Practical code and tips that can bring quick ROI● When to customize● How to customize● Where to find more information
3
C&S-Enabled is more than just a calendar● “C&S-Enabled” applications tie in with personal
calendar and/or room and resource availability● Custom Lotus Notes calendar applications don't
necessarily have anything to do with native C&S
4
Out of the Box – Schedule Meetings● Meeting invitations
▬ Chair/Meeting Creator can review invitee and room availability and easily select best time
▬ Flexible (custom) repeat handling▬ Automatically updates participant’s calendars when a
particular meeting (or repeat instance) is cancelled or rescheduled
▬ Room reservations are tied to meeting▬ No more “booked but empty” rooms
▬ Calendar Delegation
Out of the Box – Not Just Email● Meeting details are automatically placed on all
participants calendars● Updates propagated automatically● Room ownership restrictions
Commonly Requested Features● Change meeting chairs
▬ When the chair leaves or changes jobs● See room availability for repeat meetings beyond
initial instance● Auto remind repeat meeting chairs when last
instance is approaching● Setup/tear down time and notifications● Yours?
Customization Rules of Thumb● Avoid modifications to core design elements
▬ You may break something▬ Upgrades are much harder - “Add-on” elements easy to
add to the next version▬ There are lots of cool things you can do without such
drastic measures● No medals for most complicated solution
▬ Simple approaches are more common than you think● Document EVERY change
▬ Be kind to the next developer (it may be you)
8
Example Applications● Training Request Submittals
▬ User/Manager fills in request form▬ Training Coordinator schedules room and instructor (and
participants)● Group Events
▬ Department admins push events to user calendars● Appointment Booker
▬ Create appointments that are routed to user’s calendar
Example - Training Requests● Allows users to submit “request for training” forms
that don't specify room or exact time● Training coordinators use submitted information to
book appropriate training facilities and personnel● Application interfaces to the Room and Resources
system and training staff calendars to check availability
10
Example – Group Events● Central place to define group-specific events
▬ Personal calendars of group members updated automatically
▬ This can be done by programmatically “pushing” calendar entries
▬ Version 8.5 adds calendar federation allowing users to “subscribe” to many types of public and other Notes calendars
● Event creation restricted to authorized users
11
Example – Appointment Booker● Sends an “appointment” type entry as if it were a
“meeting”● Application can generate basic appointments and
place them on a target user's calendar▬ Only a “meeting” appointment type can do this normally▬ Booker won’t look “busy” when they really are not
● Alternative to calendar delegation▬ Fewer security concerns▬ Easier to manage
12
Example – Court Hearing Scheduler● Problem: Difficult to schedule multiple resource
categories▬ When can I get a judge, prosecutor, public defender, clerk,
and court reporter to walk into an empty courtroom?● Solution: Create a standalone workflow application for
court clerks▬ Automatically find next open time when all resource
categories are available?
Example – Room Profile Database● Separate proxy application that contains additional
room details▬ Photos▬ complete inventory of equipment▬ Special booking instructions
● Can see room schedule and create reservations directly from profile
▬ Form pre-filled with room and selected time/date● Can create “combo” profiles for rooms that are
sometimes booked together
14
Example – Interview Scheduler● Problem: HR struggles to keep track of job
interviews▬ wants a centralized way to schedule job interviews
● Solution: Create a standalone workflow application for HR
▬ Check manager's availability in Notes while coordinating interview time with candidate
▬ Single place to store interview information for interviewers and candidates
15
Example – Interview Scheduler● Solution advantages
▬ HR sends the resumes to the manager in a timely manner▬ HR can easily verify interview times for candidate▬ Automatically add interviews to manager's calendar
(“invitation” they don’t have to accept)▬ Reserve interview room at the same time▬ No more phone tag with interviewers and candidates
16
Demos
Room Management Gotchas● Changes to a room or resource document require an
administrator▬ Why?▬ The documents are mail-in documents in the directory▬ Do you let anybody else work in the Directory?
● Proxy application approach allows room owners to make changes indirectly▬ Admins can then approve and implement changes very
quickly
18
Conclusions● We hope you walk away with an understanding of
how to...▬ Get big ROI with what's in the box▬ Use provided tips and code to move forward with practical
custom applications▬ You know where to find more information
19
Resources● IBM developerWorks articles
▬ Bruce Kahn, “New Rooms and Resources features in Lotus Notes/Domino 7” (IBM, December 2005)
▬ www.ibm.com/developerworks/lotus/library/domino7-rooms-resources/index.html
▬ Bruce Kahn, “Rooms and Resources design in Lotus Notes/Domino 7” (IBM, August 2005)
▬ www.ibm.com/developerworks/lotus/library/rr-nd7/● Domino Admin Help
▬ Calendars and Scheduling topic
20
Resources● Notes and Domino wiki articles
▬ http://www.lotus.com/ldd/dominowiki.nsf
● The C&S Schema▬ http://www.ibm.com/developerworks/lotus/
documentation/dw-l-calendarschema.html
21
BP208 Manipulating Time and Space
Kevin Pettitt | President LotusGuru ConsultingSusan Bulloch | IBM
Q&A
23
Legal Disclaimer© IBM Corporation 2009. All Rights Reserved.
The inf ormation contained in this publication is prov ided f or inf ormational purposes only . While ef f orts were made to v erif y the completeness and accuracy of the inf ormation contained in this publication, it is prov ided AS IS without warranty of any kind, express or implied. In addition, this inf ormation is based on IBM’s current product plans and strategy , which are subject to change by IBM without notice. IBM shall not be responsible f or any damages arising out of the use of , or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall hav e the ef f ect of , creating any warranties or representations f rom IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement gov erning the use of IBM sof tware.
Ref erences in this presentation to IBM products, programs, or serv ices do not imply that they will be av ailable in all countries in which IBM operates. Product release dates and/or capabilities ref erenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other f actors, and are not intended to be a commitment to f uture product or f eature av ailability in any way . Nothing contained in these materials is intended to, nor shall hav e the ef f ect of , stating or imply ing that any activ ities undertaken by y ou will result in any specif ic sales, rev enue growth or other results.
All customer examples described are presented as illustrations of how those customers hav e used IBM products and the results they may hav e achiev ed. Actual env ironmental costs and perf ormance characteristics may v ary by customer.
IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Uny te is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
All ref erences to Blossom or Tree domains refer to a f ictitious company and are used f or illustration purposes only .