Data Platform Developer Center >
Data Platform Development Forums
>
WCF Data Services (formerly known as ADO.NET Data Services)
>
Feature request, expose known data-types
Feature request, expose known data-types
- Hi,
I have a requirement at the moment to publish webcal calendars from event data that is stored in a database. A webcal calendar is, as I understand it, little more than a datafeed in a well-known format (although admittedly that format isn't XML). I should say I'm by no means an authority on webcal at the time of writing.
It occurred to me that there is nothing in the MSFT stack that makes this is easy to do and it further occurred to me that perhaps ADO.Net Data Services might be a good fit seeing as publishing data on the web is its raison d'etre.
Hence, a feature request:
Please give ADO.Net Data Services the ability to publish data in well-known data formats. My motivator for this is webcal data but I suspect that are multitudes of data formats that would fit very well for this feature (e.g. microformats).
THoughts?
thanks
Jamie
http://sqlblog.com/blogs/jamie_thomson/ | http://jamiethomson.spaces.live.com/ | @jamiet
All Replies
- Hi Jamie,
One of the features that we worked on for this release targets exactly this scenario .
We allow you to embed custom microformats inside the ATOM Feeds that we produce.
For more details , please see this blog post : http://blogs.msdn.com/phaniraj/archive/2009/08/31/introducing-web-friendly-feeds-aka-friendly-feeds-updated-for-ctp2.aspx
In this post , we have an example of producing a GeoRss feed within an ATOM feed that can be consumed by the Virtual Earth map control.
Can you point me to the documentation for WebCal format ? It would help us identify if Feed Customization can help you get the ATOM feed in that format.
Phani Raj Astoria http://blogs.msdn.com/PhaniRaj Hi Jamie,
One of the features that we worked on for this release targets exactly this scenario .
We allow you to embed custom microformats inside the ATOM Feeds that we produce.
For more details , please see this blog post : http://blogs.msdn.com/phaniraj/archive/2009/08/31/introducing-web-friendly-feeds-aka-friendly-feeds-updated-for-ctp2.aspx
In this post , we have an example of producing a GeoRss feed within an ATOM feed that can be consumed by the Virtual Earth map control.
Can you point me to the documentation for WebCal format ? It would help us identify if Feed Customization can help you get the ATOM feed in that format.
Phani Raj Astoria http://blogs.msdn.com/PhaniRaj
Ah very cool. So I can basically stick anything I like inside the <entry> element as long as it is serialized as XML? Very nice!
That will certainly work for microformats.
Regarding webcal, that is probably the wrong nomenclature actually. I think the proper name of the format is iCalendar. The format is defined in RFC2445. Webcal is a URI scheme that can be used to publish iCalendar formatted files over the web so that they can be subscribed to (in much the same way as feed: works for RSS readers).
The problem with iCalendar is that it is not XML. Here's an example from the wikipedia entry linked to previously:
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
CATEGORIES:MEETING
STATUS:TENTATIVE
DTSTART:19960401T033000Z
DTEND:19960401T043000Z
SUMMARY:Your Proposal Review
DESCRIPTION:Steve and John to review newest proposal material
CLASS:PRIVATE
END:VEVENT
END:VCALENDAR
So, even if you COULD embed that in an <entry> element it still couldn't be used in the scenario that I want because of the stuff that Astoria would put around it. The scenario that I want supported is to have an easy way to publish webcal calendars - and as you can see above - that doesn't fit well to Astoria.
As an aside, there is currently an effort to define an XML version of the iCalendar spec and Steven Lees from Jack Ozzie's incubation team in Microsoft is heavily involved. Steven and his co-author were interviewd by Jon Udell for his podcast recently: http://itc.conversationsnetwork.org/shows/detail4176.html
Hope that is of interest to you. I realise that iCalendar doesn't fit well into Astoria but if Astoria is in the business of publishing data over the web then I hope this is a scenario you may consider for the future.
Regards
Jamie
http://sqlblog.com/blogs/jamie_thomson/ | http://jamiethomson.spaces.live.com/ | @jamiet- Phani,
Did this make any sense? Any thoughts in light of this new information?
Thanks
Jamie
http://sqlblog.com/blogs/jamie_thomson/ | http://jamiethomson.spaces.live.com/ | @jamiet - Hi Jamie,
I apologize for not replying on this thread.
Let me think about this and get back to you by Monday the 12th PST.
Phani Raj Astoria http://blogs.msdn.com/PhaniRaj - Hi Phani,
Monday 12th has been and gone :)
Any feedback on this?
Thanks
Jamie
http://sqlblog.com/blogs/jamie_thomson/ | http://jamiethomson.spaces.live.com/ | @jamiet - Hi Jamie ,
I apologize for the delay , we have been in the middle of some cycles where I couldnt have responded to this thread.
I looked at the Spec for ICalendar XML representation and a sample payload looks like this :
<?xml version="1.0" encoding="utf-8"?> <icalendar xmlns="urn:ietf:params:xml:ns:icalendar"> <vcalendar> <properties> <calscale><text>GREGORIAN</text></calscale> <prodid> <text>-//Example Inc.//Example Calendar//EN</text> </prodid> <version><text>2.0</text></version> </properties> <components> <vevent> <properties> <dtstamp> <date-time utc='yes'> <year>2008</year><month>2</month><day>5</day> <hour>19</hour><minute>12</minute><second>24</second> </date-time> </dtstamp> <dtstart> <date> <year>2008</year><month>10</month><day>6</day> </date> </dtstart> <summary> <text>Planning meeting</text> </summary> <uid> <text>4088E990AD89CB3DBB484909</text> </uid> </properties> </vevent> </components> </vcalendar> </icalendar>
In the representation above , we will be able to generate "<vevent>" tags from an entity that contains properties which represent the properties in the inner elements.
Unforrtunately , if any ICalendar parser depends on the multiple payload <vevent> elements being wrapped inside an outer <icalendar> element , we wont be able to generate ICalendar conformant payloads.
The Feed customizaiton feature was developed for more microformat cases where-in one xml format contains elements or attributes conforming to another xml schema/format at the atom:entry level . If we were to be able to support generating ICalendar conformant payloads , we would need to support annotations on the <feed> ( atom:feed) elements that we produce on the server . We dont really have a way to annotate feeds in the current release of Astoria.
I can check if just generating the <vevent> elements without an outer <icalendar> element can help an ICalendar parser pick up the events.
Are there any parsers for ICalendar that I could investigate to see if my above analysis is correct .
Hope this helps.
Phani Raj Astoria http://blogs.msdn.com/PhaniRaj


