How to efficiently retrieve recurring appointments?

T

Tadwick

I am using Redemption to retrieve appointments from a shared mailbox. On
slow connections such as hosted Exchange it can take 5 seconds to retrieve
each appointment which is problematic when there are hundreds of appointments
involved.

I have used Redemption's FolderSynchronizer (ICS) and MAPITables to optimize
the process but for recurring appointments these techniques are not always
suitable or efficient.

I'm therefore looking for suggestions on how to retrieve recurring
appointments and expand occurrences more efficiently.

Thanks, Tad
 
K

Ken Slovak - [MVP - Outlook]

I don't know of any ways to optimize things beyond what you say you're doing
now, but see if Dmitry comes along and has any suggestions to offer.
 
T

Tadwick

Thanks, Ken. I've been working with Dmitry offline on this and he has been
extremely helpful but we've run out of ideas so I thought I'd throw this out
to everyone here.
 
D

Dan Mitchell

=?Utf-8?B?VGFkd2ljaw==?= said:
I'm therefore looking for suggestions on how to retrieve recurring
appointments and expand occurrences more efficiently.

Well, you could always do it by hand -- grab _all_ the recurring
appointments, then write the date math to expand the recurrence at your
end. See http://msdn.microsoft.com/en-us/library/cc425490.aspx, section
2.2.1.44.1.

It's about an afternoon's work to handle standard "second working tuesday
of the month" recurrences once you can decode them, and exceptions should
just be a bit more byte-twiddling.

I don't know if this is any quicker, mind you -- _someone_ still has to
say "for each recurring appointment, does it hit <period X>", after all,
this just trades off time to haul the data to your end against time for
the server to do the math on its end.

-- dan
 
D

Dan Mitchell

=?Utf-8?B?VGFkd2ljaw==?= said:

Is that implemented yet?

http://www.dimastr.com/redemption/rdo/RDORecurrencePattern.htm says that
the Instance and Exceptions methods aren't implemneted in the current
version.
The problem is you still need to retrieve the master appointment
object (ie you cannot return a record set of selected properties in a
MAPITable) and if you have a lot of appointments that are recurring
then it is slow going.

Yup, that's the problem no matter what -- any extended mapi-based
technology (cdo, exmapi, redemption) has to pull the parent of the
recurrence to the client end and then do something with that to work out
what's what.

Possibly webdav/the new .net services stuff would let you push all the
math to the server end, I'm not sure.

-- dan
 
K

Ken Slovak - [MVP - Outlook]

Exceptions was added in 4.4.0.674 according to the Redemption history. I
didn't see anything about Instance but it doesn't return non-implemented in
the object browser.
 
T

Tadwick

Dan,

I don't know the status of those two properties but I was referring two a
method that is implemented.

Tad
 
D

Dmitry Streblechenko

Creating new exceptions is not currently supported. That is planned for the
next (4.7) version.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top