あたりまえの話ですが、久しぶりに下書き状態でハマったのでメモ。
下書き状態とは
サイトのページ ライブラリやら
ドキュメント ライブラリやらって、
一度作ったりアップロードしたりした後に
チェックしてからユーザーに公開したい時がありますよね?
(特にニュースなどのページ系)
そんな時はこれ。マイナーバージョン(下書き)を管理できるようにします。
下書きを公開したくない場合、編集権限は一部のユーザーに絞り、閲覧権限を広く与えているパターンが多いので、「下書きアイテムのセキュリティ」で「アイテムを編集できるユーザー」を選択しておけば、書きかけの記事などが不用意に公開されることがなくなるよ、というわけです。
ハマった事象
「マイナーバージョン(下書き)のファイルが検索されない」というSharePointではごく当たり前の事象でした。というかファイルが下書き状態であることに気付いていなかった。SharePoint Server 2003から SharePoint Online まで全バージョン触ってきたのにモダン機能になった途端に油断していました。
ハマった言い訳
既定のビューが分かりづらい。いや完全に言い訳なんですけど。
バージョンをビューに出しとけば分かりますよ。ええ。
少数部分はマイナーバージョンで整数部分がメジャーバージョンです。
画像は0.1なんでメジャーバージョンの数が0で(つまり公開されているバージョンが無い = 閲覧権限の人にはファイルが無いように見える)、マイナーバージョンが1つある状態です。
で、「公開」するとメジャーバージョンになってユーザーに見えるし検索にも当たるわけですよ。↓こうやってファイルを1つ1つね。
って1ファイルずつ公開するのかよ。面倒だなオイ。
でこっからが言い訳なんですが、モダン機能のビューってすごく使いやすくて、プロパティの一括編集なんかできちゃうわけですよ。例えば↓のように、ライブラリに「分類」列を追加してファイルにタグ付け出来るように設定したとして。
分かりますかこの気軽さが。
ファイルを複数ドラッグ&ドロップして一括アップロード ⇒ アップロードされたファイルを複数選択してプロパティ一括編集
で済むわけですよ。マイナーバージョンを管理していなければね。
モダンビューとは素晴らしい。
あまりに気軽なので公開しなければならないことを忘れていましたとさ。
ファイルを一括公開できるようにする
惜しい。惜しいんですよ。なんで公開だけ1ファイルずつやらないといけないんだよ。というわけで一括公開できるか試しました。いずれ標準機能になるかもしれないので、実現可能性の検証だけにしておきました。
方法はSharePoint Frameworkを使ったリストビューコマンドセットの開発です。
SharePoint Framework (SPFx) で出来ること - 鍋綿ブログ
とりあえず、以下の挙動を実現できました。
- ファイルが複数選択された時だけ「公開」コマンドを表示
- 「公開」コマンドを実行するとコメント入力を求められ、その後選択中のファイルを公開(内部的には一度チェックアウトしてからコメント付きでチェックインする)
- やろうと思えば「公開」コマンドの表示条件はもっと細かく制御できる(公開済みのアイテムが混じってたらどうするか、とか)
結論:実現可。但し公開取り下げも考えるとまともに動くものの開発にはあと20時間はかかるな。面倒だし出来ることさえ分かればいいか。
以上でした。