WebDav 外掛¶
簡介¶
這個 WebDav 外掛主要是用於透過 WebDav 協定存取檔案和文件的 POC(概念驗證)。
這個外掛是從現有的 railsdav 外掛(railsdav)分支出來的,並進行了一些修改以使其能在 REDMINE 中運行。
這是使用 REDMINE 主幹 r3826(=> 0.9.5 +)完成的,但 0.9 之後的任何版本應該都能運作。最後測試的版本是 r4029(1.0.1)
主要功能- 可以使用類似 http://myserver/redmine/webdav 的網址透過 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)來授予對檔案和資料夾/文件的存取權限
- 外掛允許您執行所有檔案操作(建立、刪除、重新命名、移動和複製)
- 外掛允許您建立文件(只需在 documents 資料夾內建立一個資料夾),但不允許建立版本
- 外掛允許透過 WEBDAV 存取倉庫(如果倉庫位於 redmine 伺服器上,則 subversion 和檔案系統 SCM 為讀/寫,REDMINE 支援的所有其他 SCM 為唯讀)
- 使用的資料夾名稱(例如:範例中的 files/documents/subversion)可以透過每個專案的設定來更改
設定¶
WEBDAV 使用 REDMINE 核心(至少在 0.9.5 中)不支援的基本 HTTP 驗證。一種解決方法是將這個非常好用的外掛 redmine_http_auth 與 Apache 和 RedmineAdvanced.pm(位於 redmine_webdav/extra/svn 中)一起使用
關於 subversion 支援若要將變更提交至 Subversion,外掛會使用檔案協定開啟倉庫。因此,您需要以下項目
- 倉庫必須安裝在 REDMINE 伺服器上。
- 外掛會將您的倉庫位置開頭([protocol]://[server]/)替換為「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. 設定您的網路伺服器¶
假設您使用的是 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. 重新啟動您的網路伺服器¶
/etc/init.d/httpd restart
5. 使用您的網路瀏覽器設定 REDMINE¶
如果一切正常,您應該會在插件清單(管理 -> 插件)中看到兩個插件(WebDav 和 HTTP 驗證)
現在可以使用新的權限,您必須將它們分配給需要的角色
6. 設定您的專案¶
別忘了在您要透過 WevDav 存取檔案的專案中啟用 webdav 模組
7. 使用 webdav 管理檔案和文件¶
您必須使用 WebDav 用戶端才能使用該插件。
對於 MacOSX(原生支援 webdav 存取)- 開啟 Finder 並選擇「前往 -> 連線到伺服器...」
- 輸入 http://myserver/redmine/webdav 作為伺服器的網址
- 輸入您的憑證(登入名稱/密碼)
- 您已進入
- 選單 位置 -> 連線到伺服器...
- 服務類型:WebDAV (HTTP)
- 伺服器:myserver
- 資料夾:/redmine/webdav
- 點擊 連線
- 開啟 我的網路芳鄰。
- 雙擊 新增網路位置。
- 點擊「下一步」兩次,然後輸入 http://myserver/redmine/webdav
- 點擊「下一步」
- 輸入您的憑證(登入名稱/密碼)
- 點擊「完成」
原始作者的 README:¶
Railsdav(適用於 Ruby On Rails 的 WebDAV) ===================================
這是原始 Railsdav 的修改版本,由 Marcello Nuccio 建立。我修改它是因為我無法使用原始版本。
請先閱讀 lib/acts_as_webdav.rb 中的註解!
Railsdav 是一個插件,允許將自訂 WebDAV 控制器新增到 Ruby On Rails 應用程式,以便將功能作為檔案系統公開給 WebDAV 用戶端,例如 Mac OS X Finder、Windows 網路芳鄰、Dreamweaver 等。
除了 rails 之外,Railsdav 還需要以下 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)
修正:PROPFIN 回應中的網址現在已編碼(支援多位元組字元集)
修正:複製目錄現在是遞迴的(檔案系統 SCM)
- 已修復:MSOffice 的讀/寫存取
- 新增:支援檔案系統 SCM 的寫入操作
0.1.0 : 2010-07-23
透過重構進行小幅進化...
- 新增:透過 WEBDAV 存取儲存庫(如果儲存庫位於 Redmine 伺服器上,則 Subversion 支援讀/寫,所有其他支援的 SCM 僅支援唯讀)
- 新增:每個專案的設定都具有新的權限(管理 WEBDAV)
0.0.1 : 2010-07-06
初始版本
由 Mischa The Evil 於 將近 14 年前更新 · 10 個版本