public
Fork of marcenuc/railsdav
Description: Out-of-the-box Webdav using Rails (modification of railsdav plugin)
Homepage: http://blog.funkensturm.de/downloads
Clone URL: git://github.com/funkensturm/railsdav.git
name age message
file .gitignore Mon Jun 08 13:26:05 -0700 2009 ignoring user config [funkensturm]
file LICENSE Sun Apr 13 06:11:24 -0700 2008 migrated from svn [stueccles]
file README.textile Mon Jun 08 12:54:53 -0700 2009 some reengineering ;) [funkensturm]
file Rakefile Mon Jun 08 12:54:53 -0700 2009 some reengineering ;) [funkensturm]
directory app/ Mon Jun 08 12:54:53 -0700 2009 some reengineering ;) [funkensturm]
directory config/ Mon Jun 08 12:54:53 -0700 2009 some reengineering ;) [funkensturm]
file init.rb Mon Jun 08 12:54:53 -0700 2009 some reengineering ;) [funkensturm]
directory lib/ Mon Jun 08 13:23:26 -0700 2009 minor fix of what I broke before ;) [funkensturm]
directory templates/ Sun Apr 06 19:20:20 -0700 2008 First attempt to make it working with rails 2.0... [Marcello Nuccio]
README.textile

Introduction

So you want a rails application to give you a webdav? Good, railsdav can do this for you. However, it might take you an hour or two as well to figure out how it works :)

This plugin is a copy of the original railsdav plugin with some modifications to make it run out-of-the-box. Just drop this plugin into your newly created rails application and it becomes a webdav-server. It comes with Authentication, so you can publish and synchronize your ical-files without fear :)

This was done using Rails 2.3.2.

Setup

1. Create an empty rails application

You should know how this works. Just hit “rails my_application” in terminal.

2. Put this plugin into vendor/plugins

Hit the Download link up on this page.

Alternatively check it out using git and this command:

  • git clone git://github.com/funkensturm/funkenrailsdav.git

3. Get the required gems

Railsdav needs these plugins:

  • sudo gem install unicode
  • sudo gem install shared-mime-info

4. Set up users

Modify the funkenrailsdav/config/users.yml file to provide access for several (or one) user.

5. Run your Rails application

script/server

6. Use webdav to publish your icalendars (or anything else)

Right-click a calendar in iCal and choose to publish it to the URL of your application. Say the URL is

  • http://webdav.myserver.com

then you can already use that for all your needs. However if you have several users publishing their calendars, you might end up with file conflicts (two people wanting to publish their calendar called “private.ics”)!

In order to prevent this, everybody has a subdirectory according to the username, like so:

  • http://webdav.myserver.com/joe
  • http://webdav.myserver.com/john

Note that everybody has full access on every directory, only that now file conflicts are unlikely to happen, as long as everybody sticks to his own directory. This is fully determined by the URL.

For questions please contact somebody at funkensturm.com or my github profile.

Original author’s README:

Railsdav (WebDAV for Ruby On Rails)
=======

THIS IS A MODIFIED VERSION OF THE ORIGINAL Railsdav, created by Marcello Nuccio. I have done it because I was not able to make to use the original one.

READ COMMENTS IN lib/acts_as_webdav.rb TO START!

Railsdav is a plugin which allows for custom WebDAV controllers to be added to a Ruby On Rails application to expose functionality as filesystems to WebDAV clients such as Mac OS X Finder, Windows Network Places, Dreamweaver etc.

Railsdav requires the following gems in addition to rails

  • unicode (gem install unicode)
  • shared-mime-info (gem install shared-mime-info)

Railsdav was created by Stuart Eccles (http://www.liverail.net/). I’d like to thank the following people for assisting with Railsdav

  • Albert Ramstedt who contributed bug fixes for a variety of code issues and helped with re-structuring the plugin
  • Alex MacCaw
  • Fabien Franzen