Dreamweaver風チェックアウト機構を実現する Checkoutプラグイン
Movable Type Advent Calendar 2013 2日目の記事のネタのためにプラグイン作りました。
会社など複数人で更新を行っていると、自分がこれから編集する記事は他の人が編集中ではないのか、また自分が編集した内容を他の人が上書きしてしまわないか、不安になることがあります。
プロ御用達のWebオーサリングソフト「Dreamweaver」では、このための機構としてチェックアウトを備えています。
ファイルをチェックアウトする操作は、「今このファイルを操作しているので触らないこと!」と宣言することと同じです。ファイルがチェックアウトされると、ファイルパネル内にチェックアウトした人の名前が表示され、赤色のチェックマーク(他のチームメンバーがファイルをチェックアウトした場合)または緑色のチェックマーク(本人がファイルをチェックアウトした場合)がそのファイルのアイコンの隣に表示されます。
MovableTypeでもチェックアウトしたくなったので、作りました。
需要皆無のニッチ機能な気がしますが、無償公開します。
注意事項
- これはフリーウェアです。従ってご利用は自己責任となります。作者はサポートの義務も、責任ももちません。
- 一括編集および削除、Data API経由の更新はチェックアウトによるブロックが効きません(version 0.1時点)
動作環境
- MovableType 5.1 / 5.2 / 6.0
機能
- ブログ記事/ウェブページのチェックアウト・チェックイン
- 一覧でチェックアウト状態をアイコン表示
- 記事一覧から、複数記事を一括チェックアウト・チェックイン
- 一覧でのチェックアウト状態でのフィルタリング対応(クイック&任意の条件)
将来実装したい機能
基本的な使い方
記事を作成するとき
通常通り記事を作成してください。特別な操作は不要です。
記事を保存すると、自動的にチェックアウト状態になるので、編集を完了したらチェックアウトの取消(チェックイン)をします。
記事を更新するとき
更新作業の流れは以下の通りです。
- チェックアウト
- 編集・保存
- チェックアウト取消(チェックイン)
チェックアウト
記事編集ページを開くと、上部にチェックアウト状態を示すメッセージが表示されます。
まだ誰もチェックアウトしていない場合「まだチェックアウトされていません」というメッセージと共に、チェックアウトを促すリンクが表示されます。
リンクをクリックすると、チェックアウト操作が行われ、他のユーザによる更新操作がロックされます。
なお、すでにチェックアウトしている場合、それが自身によるものか他人のものかによって、以下のメッセージが表示されます。
編集・保存
通常通り編集作業を行ってください。
チェックアウト取消(チェックイン)
操作完了後は、上部に表示されているメッセージより「チェックアウトの取消」を選択すれば、チェックイン完了です。
チェックアウト状態
チェックアウトされている記事は、一覧で記事タイトルの前にチェックマークが付きます。
自分がチェックアウトしているものは他人がチェックアウトしているものはで示します。
こんなときは
どれをチェックアウトしたか忘れた
クイックフィルタ「チェックアウトされた記事」を提供しています。 このフィルタを使用すると、自分がチェックアウトしている記事で絞り込むことができます。
チェックアウトユーザー名で探したいときは、新しいフィルタで「チェックアウトユーザー」を使用します。
誰がチェックアウトしているか調べたい
一覧の「表示オプション」より「チェックアウトユーザー」を選択すると、リストにユーザー名が表示されます。
まとめてチェックイン・チェックアウトしたい
一覧で対象を選択してアクションドロップダウンより、選択したものに対してまとめて操作を行えます。
選択可能なアクションは以下の通り。
- チェックアウト
- 選択対象の中から、未チェックアウトのもののみチェックアウトします。
- チェックアウトの取り消し
- 選択対象の中から、自身がチェックアウトしているもののチェックアウトを取り消します。
- チェックアウト(上書きを許可)
- 選択対象について、チェックアウト状態を無視して、すべて自分のチェックアウトとします。
- チェックアウトの取り消し(強制)
- 選択対象について、他人のものも含めてすべてのチェックアウトを取り消します。
保存と同時にチェックインしたい
チェックアウトしている記事の更新ボタンの上に「チェックイン」チェックボックスが表示されます。
チェックして「更新」を押すと、保存後自動的にチェックアウトの取消を行ってくれます。
上書きの危険が無いことがわかってるから、チェックアウトとかせずにそのまま更新したい
未チェックアウトの記事の更新ボタンの上に「チェックアウトせずに更新」チェックボックスが表示されます。
チェックして「更新」を押すと、保存時のチェックアウト状態のチェックをスキップできます。(ご利用は計画的に)
ダウンロード
https://github.com/uzuki05/mt-plugin-Checkout
明日は @usualoma さんです。