none
ドキュメントライブラリの特定ファイルへのリンクで、そのファイルのプロパティ情報を表示させる事は出来るのでしょうか? RRS feed

  • 質問

  • 以前に同様の質問で解決済みでしたら申し訳御座いません。

    ドキュメントライブラリの特定ファイルのリンクを他の人に知らせたい場合、

    そのリンクは、
        http://sharepoint/..../file.pdf
        http://sharepoint/_layouts/DocIdRedir.aspx?ID=(ドキュメントID)
    のように、直接そのファイルへのリンクになるかと思います。

    ですがこのままだと、そのリンクを知らされた人はクリックしただけで、そのファイルのダウンロードが始まってしまいます。

    これを、直ぐにダウンロードするのではなく、
    一端そのファイルのプロパティページなりを表示して、まずはユーザーにそのファイルの情報だけを見せる。

    その後で、ユーザーがダウンロードしたい(実際のファイルを見てみたい)場合のみ
    ファイルへのリンクをクリックする。その時に初めて実際のダウンロードが始まる。

    という事は出来ないのでしょうか?

    つまり、ファイルのプロパティページへの URLリンクパス が使えれば、それを他の人に知らせたいと考えているのですが。


    プロパティページ というのは、ファイルの「プロパティの表示」で確認できる下記のようなダイアログページの事です。
    他に同様の物があれば、それでももちろん構いません。




    <環境>
    Windows2008R2 Std
    SharePoint 2010(E) + LangPack(J)
    MSSQL Server 2008R2 SP1

    宜しくお願い致します。

    • 移動 星 睦美 2012年2月7日 10:15 適切なカテゴリ (移動元:SharePoint - インストールと設定、管理)
    2012年2月7日 7:34

回答

  • 長いですか? ?ID=n 以降の&source....は無視して大丈夫ですよ。
    ご参考 http://sharepointmaniacs.com/archives/3537

    なお「SharePointの機能」についてはどのようなものをご想像されている

    のかがちょっと判りかねますが、少なくとも「このボタンをクリックしたら
    URLを取得できる」という具合のものは無いですね。

    ただ、上記の通り、一定のルールでURLが定義されていますので、
    そうしたボタンをJAVASCRIPT等で実装することは容易だと思います。



    SharePoint/Office365導入検討・運用・活用支援: http://simplesso.jp BLOG: http://sharepointmaniacs.com/

    • 回答としてマーク f7ihcamat 2012年2月14日 13:13
    2012年2月8日 12:35
  • カスタム アクションで、リボンを拡張し、こんなスクリプトをCommandActionに設定すればご希望の機能を実現できます。

    javascript:(function(siteUrl, listUrl)
    {
        alert(siteUrl + '/' + listUrl + '/Forms/DispForm.aspx?ID=' + SP.ListOperation.Selection.getSelectedItems()[0].id);
    })('{SiteUrl}', '{ListUrlDir}');
    

    # alertのところは適宜目的の実装に変更します。

    こんな感じでボタンを追加(赤い矢印の先)できるので、ドキュメント等を選択してこのボタンをクリックするとフォームのURLが表示されます。

    リボンの拡張に関しては、こちらが参考になると思います。
    MSDN: SharePoint 2010 リボン ユーザー インターフェイスを操作する
    http://msdn.microsoft.com/ja-jp/library/ff630938.aspx

    • 回答としてマーク f7ihcamat 2012年2月14日 13:13
    2012年2月14日 3:06

すべての返信

  • Ajax的に表示されてしまうので分かり難いのですが、

    プロパティ表示画面も固有のURLを持っています。

    /Forms/dispform.aspx?id=29

    ID値は適宜変更して下さい。

    なお、このURLを簡単に確認するには、プロパティ画面を開いたら、

    右クリック→プロパティで表示されるダイアログの「アドレス」を見てください。



    SharePoint/Office365導入検討・運用・活用支援: http://simplesso.jp BLOG: http://sharepointmaniacs.com/

    2012年2月7日 10:26
  • 早速返答頂きましてありがとう御座います。

    ブラウザによって方法が若干違うようですが、プロパティ画面の URL を取得する事は出来ました。

    ただ、結構長い URL になってしまうんですね。。。

    このブラウザの機能でしか、「プロパティ画面の URL を取得する事」は出来ないのでしょうか?

    SharePoint の機能としては、やはり無いのでしょうか?

    ------------------------------------------------

    ■ IE 7,8,9

    右クリック -> [プロパティ]で表示されるダイアログ画面の"アドレス"

    ■ Firefox 9

    右クリック -> [このフレーム] -> 下記どれでも OK
        [このフレームだけを表示]
        [フレームを新しいタブで開く]
        [フレームを新しいウィンドウで開く]

    ------------------------------------------------

    宜しくお願い致します。

    2012年2月8日 1:35
  • 長いですか? ?ID=n 以降の&source....は無視して大丈夫ですよ。
    ご参考 http://sharepointmaniacs.com/archives/3537

    なお「SharePointの機能」についてはどのようなものをご想像されている

    のかがちょっと判りかねますが、少なくとも「このボタンをクリックしたら
    URLを取得できる」という具合のものは無いですね。

    ただ、上記の通り、一定のルールでURLが定義されていますので、
    そうしたボタンをJAVASCRIPT等で実装することは容易だと思います。



    SharePoint/Office365導入検討・運用・活用支援: http://simplesso.jp BLOG: http://sharepointmaniacs.com/

    • 回答としてマーク f7ihcamat 2012年2月14日 13:13
    2012年2月8日 12:35
  • /Forms/DispForm.aspx?id=n    までで、&source....   は要らないんですね。
    この一定ルールの短さであれば使えそうです。

    「SharePointの機能」 とは、例えば、

    リボンメニューのボタンとしてや、
         

    プルダウンメニューの一項目として
         

    「ここをクリックしたらプロパティ画面のURLを取得できる」
    しくは、

    「ここをクリックしたらプロパティ画面を別 Windows で開く
    などといった ボタン もしくは メニュー を JavaScript で追加出来るのであれば、

    是非やってみたいので、方法を教えて頂けたら大変嬉しいのですが。



    他の人にドキュメントのURLを知らせた場合、直ぐに直接ダウンロードが始まってしまう事が、

    かなりのマイナスポイントになっておりまして、このプロパティ画面のURLを簡単に取得する手段を

    SharePoint 内に実装出来れば大変助かります。

    宜しくお願い致します。

    追記)

    /Forms/DispForm.aspx?id=n  の ID 番号は ユニークな番号だという認識で宜しいでしょうか?
    ドキュメントID とも違いますし、このプロパティ画面で使用する固有の ID なのでしょうか?


    • 編集済み f7ihcamat 2012年2月10日 5:53
    2012年2月9日 13:05
  • ビューの設定を変更して、列「ID」を表示してみてください。

    実装については、すいません、「できる」ことに確信はありますが、私自身は

    ちょっとその時間が取れません。他のフォーラム利用者さんに期待したいところですが、

    もしお急ぎでしたら、SIer様にご相談された方がよろしいかと思います。


    SharePoint/Office365導入検討・運用・活用支援: http://simplesso.jp BLOG: http://sharepointmaniacs.com/

    2012年2月11日 3:42
  • カスタム アクションで、リボンを拡張し、こんなスクリプトをCommandActionに設定すればご希望の機能を実現できます。

    javascript:(function(siteUrl, listUrl)
    {
        alert(siteUrl + '/' + listUrl + '/Forms/DispForm.aspx?ID=' + SP.ListOperation.Selection.getSelectedItems()[0].id);
    })('{SiteUrl}', '{ListUrlDir}');
    

    # alertのところは適宜目的の実装に変更します。

    こんな感じでボタンを追加(赤い矢印の先)できるので、ドキュメント等を選択してこのボタンをクリックするとフォームのURLが表示されます。

    リボンの拡張に関しては、こちらが参考になると思います。
    MSDN: SharePoint 2010 リボン ユーザー インターフェイスを操作する
    http://msdn.microsoft.com/ja-jp/library/ff630938.aspx

    • 回答としてマーク f7ihcamat 2012年2月14日 13:13
    2012年2月14日 3:06
  • なるほど、アドバイスに従い試してみました。

    SharePoint Designer のカスタムアクションを使用したら、意外にも簡単でした。

    プルダウンメニューにも追加してみました。

    これは、同じ Window に "/Forms/DispForm.aspx?ID=N" を表示する Menu [View Properties in this window]を追加した状態ですが。

         

    それと、そもそもドキュメントライブラリの設定で、「ダイアログボックスでフォームを開始する」を 'いいえ' に変更すれば、

    長いURLのままではありますが、プロパティページを同じ Windows に表示する事も可能でした。

    ただこの場合は、ほぼ全操作がダイアログボックスで表示されなくなってしまいますが。

    ですので、カスタマイズしたプルダウンメニューの方を使用する予定です。

    助かりました、アドバイス御座いました。

    2012年2月14日 13:13