[Cosmo-dev] Cosmo and Scooby URLs

Bobby Rullo br at osafoundation.org
Wed Jun 14 18:03:18 PDT 2006


Fair enough, you're not really clobbering DAV. But we are already  
using GET on calendar collections to do something else that is pretty  
useful - webcal access to Cosmo.

Also, having the "sharing" page outside of the DAV namespace makes  
more sense to me - why should the page that points you to all the  
other conduits be located in the namespace of one particular conduit?

Bobby

On Jun 14, 2006, at 5:48 PM, Lisa Dusseault wrote:

> The RSS-style idea is much like stuff I've been thinking of for  
> microformats and discovering CalDAV and WebDAV resources, good stuff.
>
> But you're really not clobbering on WebDAV and CalDAV space by  
> using a GET on a collection to retrieve some kind of browser- 
> displayable page which can lead, somehow, to a number of features/ 
> URLs.  The reason GET isn't defined on WebDAV collections is  
> exactly because people do this to help WebDAV and CalDAV URLs that  
> get sent around in email, to be clickable and viewable in the  
> browser too.  We could "define" this but it would amount to "do  
> something that you're probably doing anyway, that we can't really  
> explain in the first place".
>
> Check out www.sharemation.com.   E.g. www.sharemation.com/~milele/ 
> public/images (and most other URLs without parameters) are in the  
> WebDAV part of the namespace, whereas if you go to  
> www.sharemation.com/xythoswfs/webui you're in the WebUI.   But if  
> you do a GET on either of those URLs, you get browser-displayable  
> stuff.  In the WebDAV part of the namespace, it happens that a user  
> can override the default representation by putting an index.html  
> file in their WebDAV collection -- thus at "www.sharemation.com/ 
> ~milele/public/images/crafts" I overrode the default dynamically  
> generated GET response with a crafted image gallery HTML page.
>
> Lisa
>
> On Jun 14, 2006, at 4:35 PM, Bobby Rullo wrote:
>
>> I think the problem that you are trying to solve, John, is  
>> legitimate - namely that of not having the user be confused by a  
>> deluge of sharing URLs that are used for different purposes - i.e.  
>> "Use this url to access my calendar in Scooby, this URL to use in  
>> iCal and this one in Chandler, and this one in Evolution"
>>
>> But I don't think overriding DAV behavior (even if the spec does  
>> leave it undefined) is the right solution, for the reasons  
>> mentioned by Brian as well as some vague queasiness about it just  
>> not feeling right architecturally. It's sort of like doing a SQL  
>> select statement on your RDBMS and getting back a PDF report or  
>> something. Not quite that wrong, but along those lines.
>>
>> The source of confusion here is that URL's are sort of unique in  
>> that they locate resources that humans consume directly sometimes  
>> (html pages), and sometimes locate resource that are only machine  
>> readable (XML, icalendar resources, etc.) We see a URL and we want  
>> to click it or paste it in our browser.
>>
>> Todd and I were hashing this out over IRC and noticed that the RSS  
>> world solves this problem by having "autodiscoverable" links  
>> within a normal (that is, human readable) web page. Why not do  
>> something similar with cosmo? Have one uri space called  
>> "sharing" (eg. the sharing url might be "http://cosmo- 
>> demo.osaf.org/sharing/bobby/HomeCalendar") for instance that  
>> returns an human-readable html page with verbiage like "To view  
>> your calendar in scooby, click here. Copy this link for RSS  
>> readers. Copy this link for ATOM readers. Copy this link for  
>> CalDAV clients like Evolution and Chandler" for humans and for  
>> savvy clients who do autodiscovery have links embedded in the page  
>> like:
>>
>> <link rel="alternate" type="application/atom+xml" title="Home  
>> Calendar (Atom 0.3)" href="http://cosmo-demo.osaf.org/atom/bobby/ 
>> HomeCalendar" />
>> <link rel="alternate" type="application/rss+xml" title="Home  
>> Calendar (RSS)" href="http://cosmo-demo.osaf.org/rss/bobby/ 
>> HomeCalendar" />
>> <link rel="alternate" type="application/caldav" title="Home  
>> Calendar (CalDAV)" href="http://cosmo-demo.osaf.org/dav/bobby/ 
>> HomeCalendar" />
>> <link rel="alternate" type="application/webcal" title="Home  
>> Calendar (Webcal)" href="http://cosmo-demo.osaf.org/webcal/bobby/ 
>> HomeCalendar" />
>>
>> Note that I don't believe anyone's defined a way to do  
>> autodiscovery for CalDAV yet, so we'd have to take the lead here.
>>
>> The nice things here are that
>> 	a) You can make Chandler (and Scooby) smart enough to  
>> autodiscover the CalDAV link (or whatever protocol we go with for  
>> Chandler in the end) or consume a CalDAV (or atom or XXX) url  
>> directly, and other clients already know how to autodiscover rss,  
>> atom etc.
>> 	b) You have one place to show off all of Cosmo's conduits!
>> 	c) You're not clobbering CalDAV or anything.
>>
>> Thoughts?
>> (props to Todd for working through this with me)
>>
>>
>> On Jun 14, 2006, at 2:31 PM, Brian Moseley wrote:
>>
>>> On 6/14/06, John Townsend <johntownsend at mac.com> wrote:
>>>
>>>> One thought on this was to have a well-known URL in each collection
>>>> that would provide
>>>> the same behavior. Something like this:
>>>>
>>>> GET /cosmo/home/towns/Work/Work.ics
>>>>
>>>> That would return an iCalendar format file for the entire  
>>>> collection
>>>> and Cosmo
>>>> would do that dynamically.
>>>>
>>>> Would that work for iCal's needs?
>>>
>>> yes, but i have two problems with it:
>>>
>>> 1) it introduces a bogus url that doesn't actually represent a
>>> resource. i'd rather use a query parameter (or even better a custom
>>> header, but this wouldn't work with existing clients)
>>>
>>> 2) it defeats the purpose of having a single url that works for all
>>> dav and caldav clients. chandler and scooby would have to make sure
>>> the user knew to tell their chandler, scooby, sunbird/caldav, et al
>>> using friends about url A and their ical and sunbird/webcal using
>>> friends about url B. to me that is *way* more confusing than having
>>> separate "data" and "web calendar" urls.
>> _______________________________________________
>> cosmo-dev mailing list
>> cosmo-dev at lists.osafoundation.org
>> http://lists.osafoundation.org/mailman/listinfo/cosmo-dev
>



More information about the cosmo-dev mailing list