Skip to content

Freebusy and Yadis

So for a while now, we have been trying to figure out a standard means to lookup someone’s freetime from their calendar (called freebusy in the calendaring world).  We knew we wanted a REST service that could be passed url parameters, we even had a demo one up on the net.

The problem, though, had always been how to figure out the url for the service given the user’s e-mail address. Openid, DIX, yadis et al always showed promise, but it always felt clunky to have to first translate an e-mail identifier for the user into an http url based identifier for the user and then ask for an attribute for the calendar service etc. etc. A recent proposal to the yadis mailing list, however, showed the way.  Simply resolve the e-mail address to its domain and use the yadis protocol (section 6) on that to discover a freebusy service for all the members of the domain.

So, for example, let’s say that the e-mail address of someone who I want to schedule a meeting with is rob@robubu.com.  Use the yadis protocol on http://robubu.com, i.e. retrieve the page at http://robubu.com and dereference the "X-XRDS-Location" meta tag in the html head to get back a yadis document (that looks something like this).

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
  <XRD>
   <Service>
    <Type>http://ietf.org/cal/freebusy/1.0</Type>
    <URI>http://robubu.com/calendar/freebusy.php</URI>
   </Service>
  </XRD>
</xrds:XRDS>

Then extract the endpoint for the freebusy service by looking for the URI that corresponds to a service of type "http://ietf.org/cal/freebusy/1.0". Finally, construct the url request that returns the freebusy time in iCalendar format for a given period e.g. http://robubu.com/calendar/freebusy.php?email=rob@robubu.com&start=20070101&end=20071212. Done.

I’ve also hacked a little on webcalendar and got an end point up and running.  The calendar in html is here, but if you want to schedule a meeting with me via yadis and the freebusy api then my e-mail address (for the purposes of the demo) is rob@robubu.com.

Finally, I do want to use the URI Template approach for the URI, but I’ll leave that for another post.

{ 10 } Comments

  1. dayz | January 12, 2013 at 6:54 am | Permalink

    I know this site presents quality based content and other information, is
    there any other site which presents such data in quality?

  2. boyfriend jacket | February 21, 2013 at 1:51 pm | Permalink

    great post, very informative. I wonder why the other experts of this
    sector do not notice this. You should continue your writing.
    I’m sure, you have a great readers’ base already!

  3. Anonymous | April 1, 2013 at 10:44 am | Permalink

    Write more, thats all I have to say. Literally, it seems as though you relied on
    the video to make your point. You clearly know what youre talking about,
    why throw away your intelligence on just posting
    videos to your blog when you could be giving us something informative to read?

  4. electronic cigarette | April 5, 2013 at 7:53 pm | Permalink

    I know this web site gives quality dependent content and other material, is there any other website which
    provides such stuff in quality?

  5. w$p1erajmy | April 9, 2013 at 10:45 pm | Permalink

    Greate article. Keep posting such kind of info on your page.
    Im really impressed by your site.
    Hi there, You have done an excellent job. I will certainly digg it and in my view recommend to my friends.
    I am sure they’ll be benefited from this website.

  6. erotyczne filmy | April 9, 2013 at 11:22 pm | Permalink

    Hello there, You have done a fantastic job. I’ll definitely digg it and personally suggest to my friends. I’m sure they will be benefited from this
    site.

  7. รถยนต์ | April 19, 2013 at 9:14 pm | Permalink

    Great post. I used to be checking constantly this weblog
    and I’m inspired! Extremely useful info particularly the remaining section :) I care for such info a lot. I was seeking this particular info for a very long time. Thanks and best of luck.

  8. Edith | May 1, 2013 at 1:14 am | Permalink

    I think that is certainly on the list of a great deal vital information within my situation.
    And i’m satisfied studying your article. However should remark on some common issues, The website style is perfect, the articles is actually excellent : D. Just right job, cheers

  9. Rosalie | May 2, 2013 at 11:22 am | Permalink

    I manage such info much.

  10. Anonymous | May 7, 2013 at 3:57 am | Permalink

    Fantastic beat ! I would like to apprentice whilst you amend your website, how can i subscribe for a weblog site?

    The account helped me a applicable deal. I were tiny bit familiar of this your broadcast offered bright clear concept

{ 1 } Trackback

  1. [...] a standard that was completed in 1998, but they punted on all the hard stuff.  The hard bit, as I have mentioned before, is working out where someone’s freebusy is stored on the web and then authenticating with [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *