WebDav 插件¶
简介¶
此 WebDAV 插件主要用于通过 WebDAV 协议访问文件和文档的 POC(概念验证)。
此插件是基于现有的 railsdav 插件(railsdav)的分支,并进行了修改以使其与 REDMINE 兼容。
这使用 REDMINE trunk r3826(=> 0.9.5 +)完成,但任何 0.9 版本之后的版本都应工作。最后一次测试的版本是 r4029(1.0.1)
主要功能- 使用类似 http://myserver/redmine/webdav 的 URL 访问项目的 webdav
- 插件允许您查看以下结构的文件夹
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
- 插件使用 REDMINE 权限(:view_files、:manage_files、:view_documents 和 :manage_documents)来授予对文件、文件夹/文档的访问权限
- 插件允许您进行所有文件操作(创建、删除、重命名、移动和复制)
- 插件允许您创建文档(只需在文档文件夹内创建一个文件夹即可),但不允许版本创建
- 插件允许通过 WEBDAV 访问仓库(如果仓库位于 REDMINE 服务器上,则为 subversion 和文件系统 SCM 的读写,对于 REDMINE 支持的所有其他 SCM,则为只读)
- 使用的文件夹名称(例如:示例中的 files/documents/subversion)可以通过项目设置进行更改
配置¶
WEBDAV 使用基本的 HTTP 身份验证,REDMINE 核心(至少在 0.9.5 中)不支持。一种解决方案是使用此非常棒的插件 redmine_http_auth 与 Apache 和 RedmineAdvanced.pm(位于 redmine_webdav/extra/svn)结合使用
关于 subversion 支持要提交 Subversion 中的更改,插件会以文件协议打开仓库。因此,您需要以下内容
- 仓库必须安装在 REDMINE 服务器上。
- 插件会将您的仓库位置的开头([协议]://[服务器]/)替换为 "file:///svnroot/"。您可能需要创建一个符号链接 /svnroot 以使此功能正常工作...
1. 将插件安装到 vendor/plugins 目录¶
如果您想安装 redmine_http_auth,请从您的 redmine 目录运行以下命令- ruby script/plugin install http://github.com/AdamLantos/redmine_http_auth.git
- ruby script/plugin install http://github.com/amartel/redmine_webdav.git
- rake db:migrate_plugins RAILS_ENV="production"
2. 获取所需的gem¶
<a href="http://github.com/stueccles/railsdav">Railsdav</a>需要以下2个插件- unicode
- shared-mime-info
- sudo gem install unicode
- sudo gem install shared-mime-info
3. 配置您的Web服务器¶
假设您正在使用RHEL5/CentOS5- 将redmine_webdav/extra/svn/RedmineAdavanced.pm复制到/etc/httpd/Apache/Authn
- 创建文件/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. 重新启动您的Web服务器¶
/etc/init.d/httpd restart
5. 使用Web浏览器配置REDMINE¶
如果一切正常,您应该在插件列表(管理 -> 插件)中看到这两个插件(WebDav和HTTP身份验证)
现在有新的权限可用,您必须将它们分配给您需要的角色
6. 设置您的项目¶
不要忘记在您想要通过WebDav访问文件的项目中激活webdav模块
7. 使用webdav管理文件和文档¶
您必须使用WebDav客户端才能使用此插件。
对于MacOSX(WebDav访问是原生支持的)- 打开查找器并选择“前往 -> 连接到服务器...”
- 将服务器URL输入为http://myserver/redmine/webdav
- 输入您的凭据(登录名/密码)
- 您已连接
- 菜单 位置 -> 连接到服务器...
- 服务类型: WebDAV (HTTP)
- 服务器: myserver
- 文件夹: /redmine/webdav
- 点击 连接
- 打开 我的网络位置。
- 双击 添加网络位置。
- 点击两次下一步,然后输入http://myserver/redmine/webdav
- 点击下一步
- 输入您的凭据(登录名/密码)
- 点击完成
原作者的README:¶
Railsdav (Ruby On Rails的WebDAV) ===================================
这是由Marcello Nuccio创建的原始Railsdav的修改版。我之所以这么做,是因为我无法使用原始版本。
要开始,请阅读lib/acts_as_webdav.rb中的注释!
Railsdav是一个插件,它允许将自定义WebDAV控制器添加到Ruby On Rails应用程序中,以便向WebDAV客户端(如Mac OS X查找器、Windows网络位置、Dreamweaver等)公开功能作为文件系统。
Railsdav除了rails之外,还需要以下gem
- unicode (gem install unicode)
- shared-mime-info (gem install shared-mime-info)
Railsdav是由Stuart Eccles (http://www.liverail.net/)创建的。我想感谢以下人员为Railsdav提供帮助
- Albert Ramstedt,他为各种代码问题提供了错误修复,并帮助重构了插件
- Alex MacCaw
- Fabien Franzen
历史¶
0.2 : 2010-10-05
新增:添加锁定(来自Xabier Elkano的贡献)
0.1.3 : 2010-08-26
修复:为Windows XP + MSOffice XP添加更好的支持(感谢Xabier Elkano)
修复:PROPFIND响应中的URL现在已编码(支持多字节字符集)
修复:复制目录现在是递归的(文件系统SCM)
- 修复:从MSOffice的读写访问
- 新功能:支持文件系统SCM的WRITE操作
0.1.0 : 2010-07-23
进行了小的改进,并对代码进行了重构...
- 新功能:通过WEBDAV添加仓库访问(如果仓库位于redmine服务器上,则支持subversion的读/写,其他所有支持的SCM仅支持只读)
- 新功能:按项目设置新权限(管理WEBDAV)
0.0.1 : 2010-07-06
初始发布