Calendar Entry & Freetime database synchronizing issue

I’m using Domino 8.5 and making a reservation entry though my java applicatione using lotus.domino.* API Reservervation are getting made properly and relected in calendar entriesBut Calendar entries for the Room Reservations(in room reservation database) do not Automatically Update in Free Time Database when entries are made through a java API from our application.

Scenario : When i create a reservation via lotus notes administrator for a room in resource reservation database the entry gets updated in the freetime database automatically and that slot is marked as busy. But when i making a reservation entry via a java application(keeping the same field e.g $BusyPriority", “1”) , the calendar-enrty gets created but freetime db wont get updated automatically and i need to manually restart the RnRMgr task to reflect the slot as busy in freetime database.

Could you please advice how can i trigger the RnRMgr task through my java application or what is the other way i can make the reservation enty slot as busy as soon as i create it through my java application.

Thanks In Advance

subash

Subject: It’s probably just a field

This technote should help

http://www.ibm.com/support/docview.wss?rs=899&uid=swg21245379

Subject: It’s probably just a field

Thanks Susan for the response but the suggested approach is not working.

Well making the “RQStatus” to “T” will make the reservation as “Waiting for Owner Approval”

And after that even after restrating the RnRMgr task the entry wont go to freetime databse as busy.

And is there a way to issue “tell rnrmgr validate” from a java application Or can we make the setting to restart the RnRMgr task immediately after the calender reservation entry is made ??

Basically after i make the reservation through java api, if the RnRMgr gets restrated then the entry gets updated in freetime db and slots comes as busy.

Thanks In Advance

Subhash

Subject: You do not create “booked” reservations any more

As of R7, only RnRMgr can ‘book’ a room or resource. All other entities (code or user) MUST simply create a C&S style request for the room or resource.

This can be done by putting it in the mail box and letting Router handle it ( Router will put the RQStatus item on for you) or by putting it into the R&R dB directly (but you must put the RQStatus item on as described in the already referenced TechNote.

Once the request is in the R&R dB, RnRMgr will be notified of it and will then process it. Only then can the room be booked safely. Otherwise anyone could “book” a room w/o any real control over who can or cannot book the room and that is not good.

If you do not know how to construct a C&S workflow type message, I suggest you read the C&S Schema document that was published ~July 2007.

Bruce

IBM

Subject: You do not create “booked” reservations any more

Is there a way to create C & S style entry for “Reserveration” form ?? As i have gone through the “Calendaring & Scheduling Schema” PDF and didn’t find any ?

Also even if we able to make an entry in R&R DB , is there a way to trigger RnRMgr task immediately after making a reservation entry? As for our scenario we want the booking to happen immediately and return back the booking infor if made i.e the created reservation slot should me marked busy and updated in freetime database immediately.

And as you mentioned “Once the request is in the R&R dB, RnRMgr will be notified of it and will then process it” just want to check , Is RnRMgr task process the request at its own time or can we set it to process just after the reservation entry creation ?

Thanks In Advance

Subhash

Subject: Answers

Is there a way to create C & S style entry for “Reserveration” form ?? As i have gone through the “Calendaring & Scheduling Schema” PDF and didn’t find any ?

Simply create a normal Form = “Notice” type of message and post it to mail.box (or put it in the R&R dB yourself but make sure you add the RQStatus = “T” if you do this yourself since Router would normally do it for you). When RnRMgr processes it, it will make all the changes that are needed including changing the Form to be “Reservation”.

Also even if we able to make an entry in R&R DB , is there a way to trigger RnRMgr task immediately after making a reservation entry?

RnRMgr will be notified as soon as the request is delivered (or created) in the dB. It will immediately pick it up and process it along w/any other new docs that were delivered/created. This can take a couple of seconds due to our cycle time where we also scan for console commands, etc. but the processing is already “immediate”.

Is RnRMgr task process the request at its own time or can we set it to process just after the reservation entry creation ?

The RnRMgr continually monitors a notification queue from the server for document related notifications and a message queue for console commands. It just polls each of the queues for work. When a doc is saved into the R&R dB, the server notifies RnRMgr and the request is picked up and processed.

Bruce

IBM

Subject: Calification on Answers

Thanks Bruce ,That was really informative and helped me. However still something is missing when i’m booking a resource through java API . As adviced I have made the form as “Notice” and saving the document in resource reservation database with RQStatus=T , but its not getting reflected under the “Reservation by date” view nor in the calendar of RRDB. Also seems the freetime DB is not updated as the slot still remains open. Find below the domino XML of the notice document object created. Could you please check and let me know if I’m missing any field ? We just need to book/reserve(confirmed) the slot for a resource and mark it as busy in freetime DB.

Details of Document created in RRDB


<?xml version='1.0'?>

<document xmlns=‘http://www.lotus.com/dxl’ version=‘8.5’ replicaid=‘65257567004D1B23’

form=‘Notice’>

CN=admin user/O=ibm

CN=admin user/O=ibm

admin user

CN=admin user/O=ibm

CN=admin user/O=ibm

Biometric Appointement Test - 30Mar

BLR-1

CN=visa-appointment/O=BLR-1

visa-appointment/BLR-1

20090331T153629,41+0530

20090331T160000,00+0530

20090331T160000,00+0530

20090331T160000,00+0530

20090331T163000,00+0530

20090331T163000,00+0530

20090331T163000,00+0530

CN=visa-appointment/O=BLR-1

1

T

I

1

Please advice ?

Also you have mentioned other way is to post the notice request in to mail.box , i didn’t get it properly . Does it mean sending the document as mail to the resource(what would be the ID) ? As via java API there is a way to send/mail a document object however never tried it ?

And thanks once again Bruce for the valuable inputs , its really helpful .

Subhash K K

IBM

Subject: Followup

First off I want to stress that you are NOT creating ‘booked’ reservations; you are only allowed to create reservation requests or reservation updates.

So your Form=Notice, RQStatus=T, NoticeType=I request should be dropped into the R&R dB. RnRMgr will be notified so it can pick it up and process it. If it is accepted it will be modified to be an accepted reservation with lots of different items (including Form=Reservation now) and the busytime would be updated to show it. If it was rejected the Decline notice will be generated and mailed back to the requesting user (the Chair).

If the RnRMgr is unable to process it for some reason (eg: you did not properly craft the invitation) then the doc will sit there unmodified (or perhaps the $CSTrack item gets updated). If this is the case, you need to check the doc you are generating against what the C&S Schema doc says to make sure you are not omitting something.

Your data dump shows a $BusyName item. This is NOT something you put on a request / update for a room reservation. That is put on by RnRMgr when it accepts the request. So I suspect you are trying to create a booked request outright rather than a request for a room and then checking to see if it was accepted.

Minor note 1: You have a BookFreeTime item which is what the C&S template uses in the GUI. To mark an request as booking busytime you use the $BusyPriority item (“1” OR just do not include it). BookFreeTime is not looked at by RnRMgr.

Minor note 2: You do not need to create any tmp… items on your doc. They should NOT be on any docs that a client sends around from C&S so if you see them, they were overlooked when stripping those GUI related items off. All tmp… items are merely for the templates use when displaying a doc and have no bearing on a documents status or use.

You should go grab the C&S Schema doc as that will give you a much better idea of what an Invitation or Reschedule doc should look like.

Bruce

IBM

Subject: Re : Followup

Bruce ,

I have tried setting the values as mentioned before to create a reservation document through java however it neither comes in the calendar entry of RRDB nor it comes as busy in free time database . Below is the Doc request created.

<?xml version='1.0'?>

<document xmlns=‘http://www.lotus.com/dxl’ version=‘8.5’ replicaid=‘65257567004D1B23’

form=‘Notice’>

20090526T141049,29+0530

20090526T141049,61+0530

20090526T141049,60+0530

20090526T141049,60+0530

20090526T141049,60+0530

CN=admin user/O=abc

1

CN=admin user/O=abc

xyz

Biometric Appointement Test - 30Mar

BLR-1

CN=visa-appointment/O=BLR-1

visa-appointment/BLR-1

20090526T151049,37+0530

20090526T100000,00+0530

20090526T100000,00+0530

20090526T100000,00+0530

20090526T103000,00+0530

20090526T103000,00+0530

20090526T103000,00+0530

1

I

T

Removed all the temporary fields as suggested. Also checked in calendar schema but not able to find a solution to this. The form of type “notice” doesnot seems to be converting into “Reservation” As said before may be i will be missing something and being new to domino i dont able to figure out whats that. Our requirement is just to make an entry in resource reservation db’s calendar and mark the time as busy in freetime database so that when other try to book that slot it will come as busy (kind of appointment kind of entry for booking a particular slot through java).

Note : Well i got into something else so couldnt able to check this before …now this work has resumed and just this issue( RRDB calendar entry & freetime DB syncronization) is left kind. As always expecting a valuable input on this.

Thanks

Subhash

Subject: Quick thoughts

A few quick thoughts on this.

First off, your

xyz

should contain the full name of the requesting user much like your

CN=admin user/O=abc

ReservedFor is the meeting Chair and if it were sent by someone else (eg: the assistant) then you should also have a:

CN=admin assistant/O=abc

You do not have a Chair or Principal item as defined in the C&S Schema. Without that data, the autoprocessing code will refuse to process the request because it does not know who the requestor is. Adding it should get you much further along.

The Form value will only change when RnRMgr processes the request. Because you lack the Chair and Principal items (if not others that I am simply forgetting now) it does not process the request and change it (and NoticeType, etc).

This should get you going again. Good luck.

Bruce

IBM