SharePoint 2013 のリッチテキストにファイルサーバーへのリンク(UNC)が入らない

SharePoint 2013 でひそかに(?)行われた仕様変更のひとつです。セキュリティ的には正しいのですが、社内利用する上ではいろいろ不便だったりします。

SharePoint 2010 までは、リッチテキストに「¥¥」からはじまる UNC パス、あるいは「file://」形式でリンクを挿入すれば、ローカルのファイルやフォルダをリンクして開くことが出来ました。これはファイルサーバーと SharePoint を併用している場合に重宝するので、実際に利用されている方は多いです。

しかし、やはりセキュリティ的に問題がある、という判断でしょうか。SharePoint 2013 ではこれが利用できなくなりました。SharePoint Online でも同様です。

SharePoint 2013 のリッチテキストに file:// リンクを挿入しようとします。

20140717image01

とりあえず[OK]します。

一見、ちゃんと挿入されたように見えます。
ソースを確認しても、きちんと file:// がリンクとして記述されています。
しかし、これを保存すると…

20140717image02

残念ながらクリックしても反応しません。

20140717image03

改めてアイテムを編集し、再度、ソースを確認すると、A タグの中が綺麗さっぱり消されています(余計なことを…笑)

20140717image04

これは SharePoint 2013 の仕様なので、どうしようありません。
一応の迂回策としては、「ハイパーリンク」列を使うのですが…あれ???
リンクをクリックしても開きません。

20140717image05

ハイパーリンク列の値にすると、file:// が消されることは避けられます。ただ、このあたりはまだ確証が取れていないのですが、どうやら SharePoint Online については、このリンクすらブロックされてしまうケースがあるようです(ウチのテナントで発生)。

こうなると、更なる迂回策としては、HTMLベースのリダイレクトしかないですね。しかし、個々にリダイレクトページをつくるのは少々現実的ではありません。汎用的につくるなら、リダイレクト用のページを用意して、そこに URL のパラメーターとしてローカルパスを渡し、JavaScript でローカルにリダイレクトする、とまあ、ギリギリ、エンドユーザーさんでも運用が回るんじゃないでしょうか。

なお、この問題については良い話(?)もあり。
どうやら最新の Hotfix(kb2882987)で修正されるようです。

Assume that you add a multiple lines of text column to a SharePoint list. You create a new list item and add a hyperlink to a URL by using a file:// protocol or a Universal Naming Convention (UNC) path. When you save the list item, the URL value is removed silently.
http://support.microsoft.com/kb/2882987

この Hotfix は、やはり最新の 2014年7月の SharePoint Server CU に含まれています。

July 2014 CU for SharePoint 2013 has been released
July 8, 2014 Cumulative Update for SharePoint Server 2013 package

もちろん、出たばかりの CU なので適用するかどうかは慎重にご判断ください。

なお、この CU での改善について、idea.toString(); さんが詳しく検証してくれました(→SharePoint 2013 で複数行テキスト列へ共有フォルダーへのリンクが挿入できるようになった )。やはり UNC も file:// も、この CU で利用できるようになるようです。もっとも、file:// についてはブラウザ側の制約もあるのですが。

ただ、気になるのは SharePoint Online の扱い。基本的に CU は Online に先行して適用され(ついでにその結果からバグも解消され)、そのあとオンプレミスだと認識していたのですが…クラウドではやはりセキュリティ上の観点から、この fix は適用しない、という判断はあり得る、のかもしれません。

参考:sharepointのリストでリンク先が消える
http://community.office365.com/ja-jp/f/329/t/244124.aspx


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9