Discussion:
Resource calendar item ID changes when updated
(too old to reply)
Jesper Hauge
2008-11-14 10:38:01 UTC
Permalink
I'm trying to develop a solution that shows and handles the calendars of some
resource mailboxes in Exchange 2007. Part of the solution is being able to
show the calendar items on a web page and track some additional info that is
not persisted in the Exchange store.

That means I have to be able to track updates to the items in the exchange
store, and update a local copy in a corresponding database.

Since resource mailboxes is defaulted to inactive accounts in exchange, I
can only use delegate access to the resources calendars. And since i use
delegate access it is not possible to use the EWS synchronization API since
it only works on mailboxes that is accessed with the mailbox's own user
credentials.

Problem is that when a organizer updates a meeting - the meeting in the
resource calendar will have a new ItemIdType.Id - which means I cannot use
this id for tracking updates to the items.

Is it possible to track the updates to items i a resource calendar via a
single property of the item? And if so - what property should i use for this?

Regards
Jesper Hauge
Henning Krause [MVP - Exchange]
2008-11-14 11:11:47 UTC
Permalink
Hi,

meeting items have a UID property which should be stable over time.

Kind regards,
Henning Krause
Post by Jesper Hauge
I'm trying to develop a solution that shows and handles the calendars of some
resource mailboxes in Exchange 2007. Part of the solution is being able to
show the calendar items on a web page and track some additional info that is
not persisted in the Exchange store.
That means I have to be able to track updates to the items in the exchange
store, and update a local copy in a corresponding database.
Since resource mailboxes is defaulted to inactive accounts in exchange, I
can only use delegate access to the resources calendars. And since i use
delegate access it is not possible to use the EWS synchronization API since
it only works on mailboxes that is accessed with the mailbox's own user
credentials.
Problem is that when a organizer updates a meeting - the meeting in the
resource calendar will have a new ItemIdType.Id - which means I cannot use
this id for tracking updates to the items.
Is it possible to track the updates to items i a resource calendar via a
single property of the item? And if so - what property should i use for this?
Regards
Jesper Hauge
Jesper Hauge
2008-11-14 11:38:01 UTC
Permalink
I've understood, that the ItemId.Id property was that UID for the Item - I
cannot find any other UID's on the ItemType or the CalendarItemType, please
correct me if I'm wrong.

Looks like what happens when an organizer moves a meeting from on time to
another and sends out update, Exchange deletes the original CalendarItem in
the resource calendar, and creates a new Item with the updated Start and End
time.

This means that next time my application queries the Exchange store for the
calendar of the resource in question it get's back a calendar item with the
same subject, organizer and soforth, but new Start and End times, and also a
new ItemId.Id - I have verified this on my test installation.

This makes it really difficult to keep a synchronized version of the
resource calendar :(

Regards
Jesper Hauge
Post by Henning Krause [MVP - Exchange]
Hi,
meeting items have a UID property which should be stable over time.
Kind regards,
Henning Krause
Post by Jesper Hauge
I'm trying to develop a solution that shows and handles the calendars of some
resource mailboxes in Exchange 2007. Part of the solution is being able to
show the calendar items on a web page and track some additional info that is
not persisted in the Exchange store.
That means I have to be able to track updates to the items in the exchange
store, and update a local copy in a corresponding database.
Since resource mailboxes is defaulted to inactive accounts in exchange, I
can only use delegate access to the resources calendars. And since i use
delegate access it is not possible to use the EWS synchronization API since
it only works on mailboxes that is accessed with the mailbox's own user
credentials.
Problem is that when a organizer updates a meeting - the meeting in the
resource calendar will have a new ItemIdType.Id - which means I cannot use
this id for tracking updates to the items.
Is it possible to track the updates to items i a resource calendar via a
single property of the item? And if so - what property should i use for this?
Regards
Jesper Hauge
Henning Krause [MVP - Exchange]
2008-11-14 13:20:20 UTC
Permalink
Hi,

no, they are different. And the behavior you are seeing was introduced in
Exchange 2003 SP2.

If you use a WebServices Proxy generated from SP1 you will see the UID
property on the CalendarItemType.

Kind regards,
Henning Krause
Post by Jesper Hauge
I've understood, that the ItemId.Id property was that UID for the Item - I
cannot find any other UID's on the ItemType or the CalendarItemType, please
correct me if I'm wrong.
Looks like what happens when an organizer moves a meeting from on time to
another and sends out update, Exchange deletes the original CalendarItem in
the resource calendar, and creates a new Item with the updated Start and End
time.
This means that next time my application queries the Exchange store for the
calendar of the resource in question it get's back a calendar item with the
same subject, organizer and soforth, but new Start and End times, and also a
new ItemId.Id - I have verified this on my test installation.
This makes it really difficult to keep a synchronized version of the
resource calendar :(
Regards
Jesper Hauge
Post by Henning Krause [MVP - Exchange]
Hi,
meeting items have a UID property which should be stable over time.
Kind regards,
Henning Krause
Post by Jesper Hauge
I'm trying to develop a solution that shows and handles the calendars
of
some
resource mailboxes in Exchange 2007. Part of the solution is being able to
show the calendar items on a web page and track some additional info
that
is
not persisted in the Exchange store.
That means I have to be able to track updates to the items in the exchange
store, and update a local copy in a corresponding database.
Since resource mailboxes is defaulted to inactive accounts in exchange, I
can only use delegate access to the resources calendars. And since i use
delegate access it is not possible to use the EWS synchronization API since
it only works on mailboxes that is accessed with the mailbox's own user
credentials.
Problem is that when a organizer updates a meeting - the meeting in the
resource calendar will have a new ItemIdType.Id - which means I cannot use
this id for tracking updates to the items.
Is it possible to track the updates to items i a resource calendar via a
single property of the item? And if so - what property should i use for this?
Regards
Jesper Hauge
Jesper Hauge
2008-11-17 10:55:01 UTC
Permalink
Thank you Henning.

My proxy was generated from a pre-sp1 Exchange wsdl.
Post by Henning Krause [MVP - Exchange]
Hi,
no, they are different. And the behavior you are seeing was introduced in
Exchange 2003 SP2.
If you use a WebServices Proxy generated from SP1 you will see the UID
property on the CalendarItemType.
Kind regards,
Henning Krause
Post by Jesper Hauge
I've understood, that the ItemId.Id property was that UID for the Item - I
cannot find any other UID's on the ItemType or the CalendarItemType, please
correct me if I'm wrong.
Looks like what happens when an organizer moves a meeting from on time to
another and sends out update, Exchange deletes the original CalendarItem in
the resource calendar, and creates a new Item with the updated Start and End
time.
This means that next time my application queries the Exchange store for the
calendar of the resource in question it get's back a calendar item with the
same subject, organizer and soforth, but new Start and End times, and also a
new ItemId.Id - I have verified this on my test installation.
This makes it really difficult to keep a synchronized version of the
resource calendar :(
Regards
Jesper Hauge
Post by Henning Krause [MVP - Exchange]
Hi,
meeting items have a UID property which should be stable over time.
Kind regards,
Henning Krause
Post by Jesper Hauge
I'm trying to develop a solution that shows and handles the calendars
of
some
resource mailboxes in Exchange 2007. Part of the solution is being able to
show the calendar items on a web page and track some additional info
that
is
not persisted in the Exchange store.
That means I have to be able to track updates to the items in the exchange
store, and update a local copy in a corresponding database.
Since resource mailboxes is defaulted to inactive accounts in exchange, I
can only use delegate access to the resources calendars. And since i use
delegate access it is not possible to use the EWS synchronization API since
it only works on mailboxes that is accessed with the mailbox's own user
credentials.
Problem is that when a organizer updates a meeting - the meeting in the
resource calendar will have a new ItemIdType.Id - which means I cannot use
this id for tracking updates to the items.
Is it possible to track the updates to items i a resource calendar via a
single property of the item? And if so - what property should i use for this?
Regards
Jesper Hauge
Loading...