チケットやwikiからファイルサーバ上のファイルにリンクがはれるようにしたい

31,712 views
Skip to first unread message

ひろきち

unread,
Sep 17, 2009, 8:07:43 AM9/17/09
to Redmine Users (japanese)
はじめまして。

最近Redmineを用いてあるプロジェクトをうまく管理していこうとしているのですが、
Redmineの機能としてある「ファイルのアップロード」を用いずに、チケットの説明欄やwikiの中に
ファイルサーバへのアクセスリンクをはりたいと考えています。

<\\(サーバ名)\(フォルダ名)\(ファイル名)> のようなリンクです。
もちろん、そのままファイルへのリンクを記述しても、当然リンクとして認識されないため困っております。

SVNなどに登録されているファイルにはアクセスできることがわかっているのですが、
すべてのファイルをSVNに登録することはしたくないのです。

どなたか上記のようなことを解決できる方法をご教授いただけないでしょうか?

どうぞよろしくお願いいたします。

くるくる

unread,
Sep 18, 2009, 12:00:56 AM9/18/09
to Redmine Users (japanese)
こんにちは。
ファイルサーバへのリンクについてですが、サーバ/クライアントのOSやブラウザに依存してしまうところが大きく、URLのように共通にはできないかと
思います。
お使いの環境のほとんどがWindowsで、IEが主流の場合は、file:// .... で指定できます。

Exp. ファイルサーバがWindowsでブラウザがIEの場合:

   "リンク先のタイトル":file://サーバ名/フォルダ名/ファイル名

Windowsサーバ&Windows上のIEの組み合わせです。この場合は、file://プロトコルで記述できます。
でも、同じWindows上のFirefoxを使うと、勝手にはリンクを開いてくれません。
(設定とかでエクスプローラーで関連付けることは出来そうですけれど、一般のユーザさんにそこまでお願いできるのかは?です)


UNIX系のブラウザからの場合、file://プロトコルは認識してくれないんじゃないかと思います。
UXIX系のブラウザに対しては、Windowsのファイルサーバにアクセスする場合、smb:// というSMBプロトコルを指定しないといけないか
もしれません。

MacOSの場合はチェックしていないので判りません..。

くるくる

unread,
Sep 18, 2009, 12:11:20 AM9/18/09
to Redmine Users (japanese)
ファイルサーバへのリンクではないのですが、こういう方法もあります。
お使いのRedmineのバージョンに依存するかもしれませんが...

参照したいファイルシステムは、各地に散らばっているのでしょうか?
もし、あるプロジェクトのドキュメントが、1つのファイルサーバにまとまって格納されているのなら、以下の方法はどうでしょう?


1. リポジトリに『ファイルシステム』のパスを指定する

プロジェクトのリポジトリ設定で、SCMに『ファイルシステム』が指定できるかと思います。

Subversionのようにリポジトリブラウザのような動作は出来ませんが、Webサーバ経由でファイルにアクセスするような感じで使えます。
ただし、この場合、Redmineの稼動しいているサーバから、ファイルサーバが見えないといけません。
Redmineの稼動サーバとファイルサーバが同じなら話は早いですが、別々の場合は、Redmineの稼動サーバのファイルシステム以下に、利用した
いファイルサーバの一部を『マウント』すればOKかと思います。

2. Embededプラグインを利用する

やはり、基本は1と同じですが、1の場合はプロジェクトに1つしかリポジトリが設定できません。
リポジトリはSubversionで見せたいけれど、ファイルサーバのコンテンツにもアクセスさせたい場合、サブプロジェクトを作成するか、
Embededプラグインを利用すれば良いかと思います。

ただし、Embededプラグインは、利用するにはちょっとコツが要りますね。
> > どうぞよろしくお願いいたします。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

Ganta T

unread,
Sep 25, 2009, 6:55:10 AM9/25/09
to Redmine Users (japanese)
ひろきちさんはじめまして。

自分のところでもユーザから同じような要望を受け、カスタマイズしています。

\\192.168.0.1\foo\bar.txt

file://///192.168.0.1/foo/bar.txt

IEではそのままで動作しますが、Firefoxの場合、fileでのリンクを有効にするにはセキュリティポリシー設定をしていただく必要があるかと思
います。
対象ユーザが全員Windows系OSのため、その他OSの事は考慮していません。
#また、Chromeでは動作しません…

firefox向けuser.js
> user_pref("capability.policy.policynames", "localfilelinks");
> user_pref("capability.policy.localfilelinks.sites", "http://192.168.0.1");
> user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");

と、制限はいろいろありますがご参考まで。


Index: formatter.rb
===================================================================
--- formatter.rb (.../tags/0.8.3/lib/redmine/wiki_formatting/textile/
formatter.rb) (リビジョン 62)
+++ formatter.rb (.../branches/0.8.3.custom/lib/redmine/
wiki_formatting/textile/formatter.rb) (リビジョン 63)
@@ -137,6 +137,8 @@
(
(?:https?://)| # protocol spec,
or
(?:s?ftps?://)|
+ (?:files?:///)|
+ (?:\\\\)|
(?:www\.) # www.*
)
(
@@ -162,7 +164,10 @@
url=url[0..-2] # discard closing parenth from url
post = ")"+post # add closing parenth to post
end
- %(#{leading}<a class="external" href="#
{proto=="www."?"http://www.":proto}#{url}">#{proto + url}</a>#{post})
+ proto_modify = proto
+ proto_modify = "http://www." if proto == "www."
+ proto_modify = "file://///" if proto == "\\\\"
+ %(#{leading}<a class="external" href="#{proto_modify}#
{url}">#{proto + url}</a>#{post})
end
end
end


On 9月17日, 午後9:07, ひろきち <fox...@hyper.cx> wrote:
Reply all
Reply to author
Forward
0 new messages