SharePoint 2013 でメジャーバージョンが発行されたらマイナーバージョンを自動削除する処理( ワークフロー)

バージョン管理機能を有効化したドキュメントライブラリで、メジャーバージョンを発行したら、過去の下書き(マイナー)を自動的に削除してくれる処理を、SharePoint 標準のワークフロー機能を利用してつくってみます。簡単です。

SharePoint のライブラリでバージョン管理を有効化すると、Office ファイルを編集する都度、自動的に過去バージョンを保存してくれます。いつでも過去バージョンの内容を参照でき、戻すこともできるので、きちんとしたドキュメント管理を行うのにとても便利です。メジャー/マイナー(下書き)の区別ができるのもポイント。

20150317image01

バージョン管理をワークフローで補完する

ただ、バージョン管理をはじめると、延々とメジャー/マイナーバージョンが溜まっていくのが悩みのタネです。まあ、特に問題はないのですが、不要な過去バージョンの下書き(マイナー)は削除しておいたほうが色々と捗ります。

SharePoint 2013(現行の SharePoint Online)では、[バージョン履歴]から[マイナーバージョンを削除]をクリックするだけで、この作業を一括で行うことが出来ます。

20150317image02

ただ、当然ですがファイル単位に行う必要があります。沢山のファイルを管理している場合、徹底するのは難しそうです。そこで、いっそのこと自動的に実行させましょう。SharePoint の標準機能である「ワークフロー」を活用して、これを実現してみます。

SharePoint Designer 2013 でワークフローを設計する

まず、SharePoint Desinger 2013 で当該サイトに接続し(SharePoint Designer は SharePoint のバージョンにあったものを用いる必要があります)。[リストワークフロー]から、ワークフローを配置したいライブラリを選択。

20150317image03

判りやすい名前を入力[OK]。なお[プラットフォームの種類]は「SharePoint 2010 ワークフロー」を選択します(理由は割愛)。

20150317image04

条件とアクションをこんな風に設定します。「履歴リストに~を記録する」は、その方が動作確認がしやすいので配置していますが、無くても問題ありません。「ワークフローを停止して~」も同じ理由です。必須ではありません。

20150317image05

最低限にすると、実はこれだけ。ね、シンプルでしょう?(笑)この設計のミソは、メジャーバージョンは必ずバージョン番号が「xxx.0」になることを利用して、メジャーバージョンが発行されたら、という条件をつくっている点です。

20150317image06

ちなみに、こうした自動処理の為のワークフローは頻繁に動くため、設計は小さければ小さいほど望ましいです。テスト段階ではコメントを入れておいて、完成したら、それらを削除して、設計を簡素化にするのがお勧めです。

さて、[ワークフローの設定]から、開始オプションを設定し、ファイルが編集された時に自動的に動作するようにします。

20150317image07

最後に[発行]を忘れずに。

20150317image08

これで完成です。このワークフローが動いている(バージョン管理を有効にした)ライブラリで、ファイルに変更があると、自動的にワークフローが動きます。その変更が、メジャーバージョンの発行だった場合、ワークフローの処理で…

20150317image09

これが…

20150317image10

はい、スッキリ綺麗になりました。

20150317image11

ご利用(活用)は計画的に

SharePoint の「ワークフロー」は、その名前から誤解を招きがちなのですが、こうしたちょっとした自動処理の仕掛けをつくるのに適しています。半面、あまり難しい、厳密な、重い、ミッションクリティカルな仕組みにはあまり向きません。便利なのですが、あまりに何にでも使ってしまうと、運用や管理面で難がでてきます。このあたり、やはりシステム管理者が、事前にある程度方針を定めておいたほうがいいでしょうね。


Author

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