"Last updated" information
Is there any plans for an "extended" per contact "last updated" field when asking for all contacts in Live? There is a "last updated" header in the HTTP answer but it seems that time is global for all contact information. It would be very handy to have this on a per contact level instead of global for the entire contact list.
There is quite a large overhead when using separate requests to get each individual contact compared to issuing one request for all contacts in an address book and as such i can see the use of putting the "last updated" in the contact information instead of in the response headers.
Is this something that is or will be supported?
Andreas:
The Last-Modified header is a standard http header that applies by defiinition to all the entity on the response body. You can add the If-Modified-Since header with a date you define to your GET http request, but that will return:
-
If there has been ANY change to the address book, even if the change affects only a single contact, ALL the contacts on the address book are returned exactly as if the If-Modified-Since header weren't present,
-
If the address book has not changed since the date you assigned to the If-Modified-Since , the server will respond with a Response Code = 304 (Not Modified) and an empty body.
So, unfortunately, at least as far as I know, there is no way to get a list of only the contacts that have changed since a certain Date and Time. However, you can use the If-Modified-Since header to retrieve the list of contacts only if there is any change.
Thank you for your answer, however, this was not exactly what i was asking. I am aware that there is no way to currently find out if a single contact has been modified in the list of all contacts, but, i would like to know if a "last updated" field per contact is planned or even possible to support in the beta.
I can see the use for this feature if Windows Live indeed wants to become the central address book for many different systems as updating a contact directly against Windows Live is much slower than updating a local database. For the later synchronisation of these two databases you would then really need two timestamps to compare the last updated fields or possibly a complete index over the last known state of a certain contact, and i would definitely prefer the timestamp variant.
If there is no current plans for this "last updated" timestamp on a per contact basis, may i please suggest an addition to a "future features" list if there is such a thing (and the beta isnt too far gone to make any further changes).
Thank you for any insights into this matter.
Andreas
Andreas,
Yes, we are seeking solution for providing server data state per contact level (as contact field). "last update" is one of the solutions. It is meaningful to client, however it is lack of granularity. As you pointed out "last update" at contact level is more desirable than at address book level. we are also considering complex index over server state (per contact level as well), which is blob to client. Ultimately, the goal will be providing full functional synchronization support in the near future.
They are tradeoffs. You feedback is definitely important to us.
Thanks,
- Dawei