SharePoint 2013 でメジャーバージョンが発行されたらマイナーバージョンを自動削除する処理( ワークフロー)
バージョン管理機能を有効化したドキュメントライブラリで、メジャーバージョンを発行したら、過去の下書き(マイナー)を自動的に削除してくれる処理を、SharePoint 標準のワークフロー機能を利用してつくってみます。簡単です。
SharePoint のライブラリでバージョン管理を有効化すると、Office ファイルを編集する都度、自動的に過去バージョンを保存してくれます。いつでも過去バージョンの内容を参照でき、戻すこともできるので、きちんとしたドキュメント管理を行うのにとても便利です。メジャー/マイナー(下書き)の区別ができるのもポイント。
バージョン管理をワークフローで補完する
ただ、バージョン管理をはじめると、延々とメジャー/マイナーバージョンが溜まっていくのが悩みのタネです。まあ、特に問題はないのですが、不要な過去バージョンの下書き(マイナー)は削除しておいたほうが色々と捗ります。
SharePoint 2013(現行の SharePoint Online)では、[バージョン履歴]から[マイナーバージョンを削除]をクリックするだけで、この作業を一括で行うことが出来ます。
ただ、当然ですがファイル単位に行う必要があります。沢山のファイルを管理している場合、徹底するのは難しそうです。そこで、いっそのこと自動的に実行させましょう。SharePoint の標準機能である「ワークフロー」を活用して、これを実現してみます。
SharePoint Designer 2013 でワークフローを設計する
まず、SharePoint Desinger 2013 で当該サイトに接続し(SharePoint Designer は SharePoint のバージョンにあったものを用いる必要があります)。[リストワークフロー]から、ワークフローを配置したいライブラリを選択。
判りやすい名前を入力[OK]。なお[プラットフォームの種類]は「SharePoint 2010 ワークフロー」を選択します(理由は割愛)。
条件とアクションをこんな風に設定します。「履歴リストに~を記録する」は、その方が動作確認がしやすいので配置していますが、無くても問題ありません。「ワークフローを停止して~」も同じ理由です。必須ではありません。
最低限にすると、実はこれだけ。ね、シンプルでしょう?(笑)この設計のミソは、メジャーバージョンは必ずバージョン番号が「xxx.0」になることを利用して、メジャーバージョンが発行されたら、という条件をつくっている点です。
ちなみに、こうした自動処理の為のワークフローは頻繁に動くため、設計は小さければ小さいほど望ましいです。テスト段階ではコメントを入れておいて、完成したら、それらを削除して、設計を簡素化にするのがお勧めです。
さて、[ワークフローの設定]から、開始オプションを設定し、ファイルが編集された時に自動的に動作するようにします。
最後に[発行]を忘れずに。
これで完成です。このワークフローが動いている(バージョン管理を有効にした)ライブラリで、ファイルに変更があると、自動的にワークフローが動きます。その変更が、メジャーバージョンの発行だった場合、ワークフローの処理で…
これが…
はい、スッキリ綺麗になりました。
ご利用(活用)は計画的に
SharePoint の「ワークフロー」は、その名前から誤解を招きがちなのですが、こうしたちょっとした自動処理の仕掛けをつくるのに適しています。半面、あまり難しい、厳密な、重い、ミッションクリティカルな仕組みにはあまり向きません。便利なのですが、あまりに何にでも使ってしまうと、運用や管理面で難がでてきます。このあたり、やはりシステム管理者が、事前にある程度方針を定めておいたほうがいいでしょうね。