Plugins Directory » Webdav

Author: Arnaud Martel
Website: http://github.com/amartel/redmine_webdav
Code repository: git://github.com/amartel/redmine_webdav.git
Registered on: 2010-11-02 (almost 10 years ago)
Current version: 0.3.0
Compatible with: Redmine 1.3.x
User ratings:   (0)

This WebDav plugin allows to access files and documents using WebDav protocol.
This plugin is a fork of this existing railsdav plugin (<a href="http://github.com/funkensturm/railsdav">railsdav</a>) with some modifications to make it run with REDMINE.

This was done using REDMINE trunk r8670 (=> 1.3.0 +) and will not work with redmine 1.2.X and older

Main features:
  • webdav access to a project is done using an url like http://myserver/redmine/webdav
  • the plugin allows you to see folders with the following structure:
    project1
       + documents
       |    + title_document1
       |    |     + file1
       |    |     + file2
       |    |     
       |    + title_document2
       |          + file1
       |          + file2
       |
       + files
       |    + file1 (with no version)
       |    + file2 (with no version)
       |    + Version1
       |    |     + file1
       |    |     + file2
       |    |
       |    + Version2
       |          + file1
       |          + file2
       |
       + subversion
            + branches
            + tags
            + trunk
    project2
       + documents
       + files
    project3
       + documents
       + subversion
    
    
  • plugin is using REDMINE permissions (:view_files, :manage_files, :view_documents and :manage_documents) to grant access to files and folders/documents
  • plugin allows you all files operations (create, delete, rename, move and copy)
  • plugin allows you to create documents (just create a folder inside documents folder) but version creation is not allowed
  • plugin allows repository access through WEBDAV (Read/Write for subversion and filesystem SCM if repositories are on the redmine server, Read only for all others SCM supported in REDMINE)
  • folder names used (ie: files/documents/subversion in the example) can be changed through per project settings

Installation notes

WEBDAV is using basic HTTP authentication which is not supported in REDMINE core (at least in 0.9.5). A workaround is to use this very nice plugin <a href="http://github.com/AdamLantos/redmine_http_auth">redmine_http_auth</a> in conjunction with Apache and RedmineAdvanced.pm (located in redmine_webdav/extra/svn). As you may have trouble with it, a "light" version is provided (redmine_http_auth.tgz in redmine_webdav/extra).

All this documentation is based on my own server configuration. Especially, my REDMINE instance is installed in a /redmine sub-uri (see http://www.redmine.org/wiki/redmine/HowTo_Install_Redmine_in_a_sub-URI for more details). If this doesn't apply to your server, you will have to change the following instructions to reflect your own configuration (for example, replace /redmine/webdav with /webdav only, if you don't use a sub-uri...)

1. Install plugin into vendor/plugins

Follow instructions from http://www.redmine.org/projects/redmine/wiki/Plugins :
  • git clone git://github.com/amartel/redmine_webdav.git
  • rake db:migrate_plugins RAILS_ENV="production"
Then install the "light" version of redmine_http_auth with the following command from your $REDMINE_HOME/vendor/plugins directory:
  • tar xvzf redmine_webdav/extra/redmine_http_auth.tgz

2. Get the required gems

<a href="http://github.com/stueccles/railsdav">Railsdav</a> needs these 2 plugins:
  • unicode
  • shared-mime-info
Under linux, install is done with:
  • sudo gem install unicode
  • sudo gem install shared-mime-info

3. Configure your web server

Assuming you are using RHEL5/CentOS5:
  • Copy redmine_webdav/extra/svn/RedmineAdavanced.pm in /etc/httpd/Apache/Authn
  • Create the file /etc/httpd/conf.d/redmine_webdav.conf

<Location /redmine/webdav>
AuthType Basic
AuthName REDMINE
Require valid-user
PerlAccessHandler Apache::Authn::RedmineAdvanced::access_handler
PerlAuthenHandler Apache::Authn::RedmineAdvanced::authen_handler
RedmineDSN "DBI:mysql:database=redmine;host=192.168.10.1;port=3306"
RedmineDbUser "redmine"
RedmineDbPass "password"
RedmineAuthenticationOnly "On"
Order allow,deny
Allow from 127.0.0.1
Satisfy Any
</Location>

4. Restart your web server

/etc/init.d/httpd restart

5. Configure REDMINE with your web browser

If everything is OK, you should see both plugins (WebDav and HTTP authentication) in the plugin list (Administration -> Plugins)

New permissions are now available and you have to assign them to the roles you need

6. Set up your project

Don't forget to activate the webdav module in the projects where you want to access files over WevDav. You will also have to go in the WebDAV tab of your project's settings to define what you want to publish over WebDAV (files, documents and/or main repository) and how.

7. Use webdav to manage files and documents

You have to use a WebDav client in order to use the plugin.

For MacOSX (webdav access is natively supported):
  • Open the finder and choose "Go to -> Connect to server..."
  • enter http://myserver/redmine/webdav as the url of the server
  • enter your credentials (login/password)
  • You're in
For linux/Ubuntu:
  • menu Places -> Connect to Server...
    • Service type: WebDAV (HTTP)
    • Server: myserver
    • Folder: /redmine/webdav
  • Click Connect
For WindowsXP:
  • Open My Network Places.
  • Double-click Add Network Place.
  • Click Next twice, then type http://myserver/redmine/webdav
  • Click Next
  • enter your credentials (login/password)
  • Click Finish
For Windows 7:
  • Open Computer.
  • Click Map network drive....
  • Use http://myserver/redmine/webdav as folder
  • Don't forget to check "Connect using different credentials"
  • Click Finish
  • enter your credentials (login/password)
  • You're in !!!

Changelog

0.3.0 (2012-01-27)

Compatible with Redmine 1.3.x.

0.2.1 (2010-12-18)

Compatible with Redmine 0.9.x, 1.0.x.

fixed: plugin doesn't work with subversion when the repository url is not the root repository url
fixed: can't add a file to subversion repository when filename contains space(s)

0.2.0 (2010-10-06)

Compatible with Redmine 0.9.x, 1.0.x.