We have an in-house app that uses the http://schemas.microsoft.com/exchange/permanenturl
property to identify calendar appointments in 2003. Now we're getting ready to migrate to 2010, and our understanding is that the permanent urls are formed differently for calendar items, and that permanenturls
from 2003 can't be upgraded directly to 2010. Someone has even suggested that the new API doesn't expose the permanenturl
So, I have a few questions.
First, are we right? Can the permanenturl
property not be upgraded to 2010 from 2003? If it can, is there an algorithm that allows us to predict or produce the new url? We're going to need them both on hand through the transition.
Second, I know that from 2007 and up that we can create custom extended properties that we can make persistent. I'm having trouble figuring out if we can create custom extended properties in 2003 a) at all, and b) that will persist in the migration.
I'm a total noob at Exchange programming, so I'm not even sure where to start on the code. Any pointers in the right direction would be greatly appreciated!
Thanks!
After some research and experimentation, we determined that the permanenturl
doesn't persist, but that the GUID for Calendar items should be fairly reliable. The GUIDs for Items in Exchange appear to include a hash of the entry point, so moving messages between folders can change their GUID. Since calendar items stay in the same folder, the GUID shouldn't change. So we're going to use that as our new index.
There was still the matter of updating the old index. We decided to take the following course:
permanentURL
value to the body of the message (actually, we're hashing a few things together)permanentURLs
in the message bodies, get the new GUID, and update our tableThis was my first time working with Exchange, and I have to say that I'm a fan of EWS. It makes things so much simpler.