locked
ドキュメントセットのコピーについて RRS feed

  • 質問

  • いつもお世話になっております。

    SharePoint2010から利用可能となりましたドキュメントセットを利用してワークフローを実行し、承認されたドキュメントセットを公開用のドキュメントセットにコピーしてユーザに公開する事を考えています。

    流れとしましては以下のような流れを考えています。
     ①作業用のドキュメントセットにファイルを格納
       ↓
     ②作業用のドキュメントセットをワークフロー申請
       ↓
     ③作業用のドキュメントセットのワークフローを承認
       ↓
     ④公開用のドキュメントセットに承認されたドキュメントセットをコピー

    SharePointデザイナーを利用して、ワークフローが承認された時のイベントにドキュメントセットをコピーするアクションを追加すれば良さそうという所までは理解できるのですが、どのようにすればコピーができるのかが、色々と調べてみてはみましたが解決できませんでした。

    リストに格納されたファイルであればリストアイテムのアクションでコピーを選択すればコピーできるのはわかるのですが、対象がドキュメントセットの場合、どのようにすればコピーできるのかが分かりませんでした。

    色々と調べてみて、以下のサイトにある「ドキュメント セットをリポジトリに送信する」にある様な設定をすればコピーできそうとは思うのですが、方向性としてはあっているのでしょうか。
    http://office.microsoft.com/ja-jp/sharepoint-designer-help/HA010376961.aspx#_Toc260924447
    http://office.microsoft.com/en-us/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx

    また方向性があっているとして、どのように設定すると実現できるのかが、記載のある参考例を見てみても良くわかりませんでした。

    ドキュメントセットをコピーする方法について、上記のドキュメントセットをリポジトリに送信する、もしくはドキュメントセット内のファイルを一つずつコピーするしかないのかなと思っているのですが、ワークフローを利用したドキュメントセットのコピーについて、ご存知の方がいらっしゃりましたら、お手数ではありますが、知恵をお貸いただければ幸いです。

    以上、よろしくお願い致します。
    2012年4月18日 5:10

回答

  • いつもお世話になっております。
    以前投稿した件の自己レスです。

    まず、結論についてですが、やりたかった事はひとまずは実現できました。
    ただ、予想していた対応方法とは少々異なり、一度ドキュメントセットの内容を自動仕訳ライブラリ(コンテンツオーガナイザー)に配置した後に、コンテンツオーガナイザーのジョブで任意のライブラリにルーティングをする必要がありました。
    結論に行きつくのに少々時間が掛かってしましましたが、道筋を立てることができましたので、ご報告と今後似たようなことをされる方の参考になればと簡単ではありますが、自分が実現する為に行った手順について記述します。

    1.事前設定が必要なサイト(コレクション)機能について
     要件を実現する為にサイトコレクション機能の「ドキュメントセット」を有効するだけでは足らず、他にも「Document ID Service」「コンテンツ オーガナイザー」の設定が必要でした。

     [サイト コレクションの機能]
      ・ドキュメント セット
        ⇒ドキュメントセットを利用する為に必要

      ・Document ID Service
        ⇒自動仕訳ライブラリに作成されたファイルがコンテンツオーガナイザーのルールに従って、
         ルーティングする為に設定済みドキュメントID項目が必要

     [サイト機能の管理]
      ・コンテンツ オーガナイザー
        ⇒ワークフロー承認時に対象のドキュメントセットの内容をコピー(または移動)する先として、
         自動仕訳ライブラリが必要となる為、コンテンツオーガナイザーのアクティブ化が必要

    2.ワークフローのアクションについて
     ワークフロー承認時のアクションとして、「ドキュメント セットをリポジトリに送信する」をSharePointデザイナーで追加することにより、自動仕訳ライブラリにコピー(移動)を行うことができました。

     アクションの設定内容について、以下の様な設定で対象のドキュメントセットを自動仕訳ライブラリに処理することができました。
      ・この処理 ⇒ 複写、移動など
      ・この移動先のコンテンツオーガナイザー
        ⇒ ご利用サイトの「サイトの操作」より「サイトの設定」-「コンテンツ オーガナイザーの設定」と選択し、
         「送信ポイント」にある「Web サービスの URL」に表示されている値をを設定
         例)http://{サイト名}/_vti_bin/OfficialFile.asmx
      ・この説明 ⇒ 既定値
      ・変数 ⇒ 既定値

     補足ですが、コンテンツオーガナイザーで必ず合致する条件を設定しておかないと、自動仕訳ライブラリへ出力されないみたいで、設定が無い状態でワークフローのアクションが実行されても自動仕訳ライブラリに移動されない様でした。
     また、出力された際には、自動仕訳ライブラリへはコンテンツ情報を持った定義ファイルを包括したZIPファイルが出力されます。

    3.自動仕訳ライブラリの設定とルール
     自動仕訳ライブラリに格納されたファイルはコンテンツオーガナイザーの設定、およびルールに従って1日に1回(23:30以降)仕訳が行われます。
     もし、即時実行、スケジュール変更をしたい場合は、全体管理の監視(ジョブ定義の確認)の「コンテンツ オーガナイザーの処理」を設定してください。
     ルール設定については割愛しますが、ドキュメントセットが特定の条件で合致した場合に任意のドキュメントライブラリに移動されるように適切に設定できていれば、任意のフォルダにZIPファイルからドキュメントセットに戻された形でルーティングされます。

    余談ですが、任意のライブラリににルーティングされたドキュメントセットのファイルについて、どういう訳か更新日付がジョブを実施した日時+9時間になるという現象がありました。
    多分バグだとは思うのですが…。

    以上、長文失礼しました。
    • 回答としてマーク MA704 2012年4月27日 6:54
    2012年4月27日 6:50