[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: a cute hack: repos history as iCalendar

From: Russell E Glaue <rglaue_at_cait.org>
Date: 2004-11-11 21:49:16 CET

> And we would probably have to set up an iCal or xCal collection in the
> configuration that would say, This WebDAV URL equals= this collection
> of events. ... but don't let me confuse this anymore.

Since I have these ideas flowing, let me elaborate on the idea of
"Collections" concerning something like dav_svn_cal

There could be some default predefined collections like the following:

     o History of a committed file:
         http://domain.com/svn_cal/repos/trunk/file.java
     + By calling this file, via WebDAV, you would get an iCal/xCal
collection of events that are the history of the file's commits in the
repository.

     o History of a committed directory structure:
         http://domain.com/svn_cal/repos/trunk/
     + By calling this directory, via WebDAV, you would get an iCal/xCal
collection of events that are the history of all the files' (and
directories') commits in the repository which exist in the HEAD under
this directory.

     o History of a user:
         http://domain.com/svn_cal/_user
     + By calling this path, via WebDAV, you would get an iCal/xCal
collection of events that are the history/activity of all commits by a user.

Then you might want to have the ability to define your own Collections:

     o Say you want to show events of a file which would include the
file's history, and the history of every file created from this one file
through a 'svn copy'.
     - Define WebDAV URL: /_?svncopy/
                ( http://domain.com/svn_cal/_?svncopy/ )
     -| Collection='_?svncopy'
     -| ExternalCollectionProgram='/usr/local/svncal__svncopy_parser.pl'

     + Access: http://domain.com/svn_cal/_?svncopy//repos/trunk/file.java
     + The iCal/xCal collection name/trigger is '_?svncopy', and
anything appended to the end of it would be a passed in argument. The
argument is passed in to the external parser when it is called. The
External parser is then charged with creating the collection, and
returning it.

     o Or perhaps something much more simple:
     - Define WebDAV URL: /_?projectTeam/
                ( http://domain.com/svn_cal/_?projectTeam/ )
     -| Collection='_?projectTeam'
     -|
ExternalCollectionProgram='/usr/local/svncal__projectTeam_lookupLdap_parser.pl'

     + Access: http://domain.com/svn_cal/_?projectTeam/Team1-ProjectA
     + The iCal/xCal collection name/trigger is '_?projectTeam', and
anything appended to the end of it would be a passed in argument. And in
this case the external parser will look up in LDAP to find the Project
(ProjectA) and the team members (Team1) and return the iCal/xCal event
data for all those cooresponding users (or Team Memebers). And this
might even be composed from event data from multiple SVN repositories.

Of course, ideally, Subversion will have some libraries that can be used
  by the external parsers to search for events to create iCal/xCal event
collections. We don't want to duplicate the parsing engine, right?

So, anyone thinking about this?

-RG

Russell E Glaue wrote:
> Ben Collins-Sussman wrote:
>
>>
>> On Nov 7, 2004, at 4:11 PM, Russell E Glaue wrote:
>>
>>>
>>> We have dav_svn module, what about dav_svn_ical module which allows
>>> us to browse the events with an iCal compatible client like Apple iCal.
>>>
>>
>> I'm not sure what it means to "browse" calendar data over the
>> internet. Certainly, a CGI program could respond to an http GET
>> request by reading a repository and returning iCalendar data in the
>> GET response body. Is that what you mean? Or are you talking about
>> something more complex?
>
>
> No, a CGI program is too primitive. What should really happen as an
> extension to WebDAV_SVN is an open standards method of communicating
> events.
>
> This could be iCal, or it could be XML.
>
> xCal is based on ical, rfc2445
> http://xml.coverpages.org/iCal.html
> http://www.ietf.org/rfc/rfc2445.txt
>
> And also see this link in the References are on
> xml.coverpages.org/iCal.html :
> Proposed Calendar Server Extensions for WebDAV (CalDAV)
> http://xml.coverpages.org/ni2003-12-31-a.html
>
> Subversion already implements WebDAV as a method of delivering content,
> and I think that should be continued to used to send other content like
> events.
>
> Plus, most open standards compatible browsers of iCal content are going
> to use WebDAV, and secondly perhaps subscription service.
> Mozilla Sunbird and Apple iCal are going to use WebDAV.
> I do not know of any clients that would be able to implement a HTTP POST
> to receive the calendar content.
>
> Also, if this is implemented via WebDAV, of course it would be read-only
> WebDAV.
>
> And we would probably have to set up an iCal or xCal collection in the
> configuration that would say, This WebDAV URL equals= this collection of
> events. ... but don't let me confuse this anymore.
>
> Does this make any sense?
>
> I think this would be great. bundling svn-commit events to xCal events.
> I have other ideas if anyone is wanting to hear it.
> This idea could be really benificial for anyone wanting a way to browse
> through events in subversion.
> -RG
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Nov 11 21:50:57 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.