WP Plugin[up]: 投稿リビジョン(改訂版※)を自在に管理 – Revision Control を自動アップグレード 1.9.1→1.9.7
update 3.1: 改訂版の日時表示がGMTの件、WP3.0 で直りそう!
Akismet に続いて Revision Control もテストを兼ねて自動アップグレード。1.9.7 は WordPress 2.8 対応ということになっている。1月24日頃に 2.0 も控えている模様。
以下は、コードを調べたのではなく、このサイトで実際に動かした結果をメモしたもの。
(環境によっては動作が異なってデータを失なうかもしれないので、うっかり信じるとやばいです。。><)
※ リビジョン(revision)=改訂版 1
| 機能概要 | 投稿/ページの改訂版(リビジョン)の保存方法を指定、各投稿/ページでも切り替え可能。履歴の特定版削除もできる。 |
|---|---|
| バージョン | 1.9.7 (2009-7-15) |
| 作者(web) | Dion Hulse さま |
| 配布元 | WordPress プラグインディレクトリ › Revision Control |
| 日本語化 | |
| ドキュメント | |
| 動作見本 | スクリーンショット: WordPress プラグインディレクトリ › Revision Control – Screenshots(ちょっと古いけど) |
| 「ページ」対応 | ○ |
| 適用したWP | WordPress 2.9.1 [UTF-8] 3 |
目次:
機能
- 改訂版の保存方法 — 初期設定と、投稿/ページ毎にも設定できる。
- 履歴の削除 — 各投稿/ページの編集画面にて、今までの改訂履歴のうち任意の版を削除できる。
切り替えはいつでもできるので、このサイトではデフォルトでオフ(使用しない)にしておき、個々の投稿/ページで履歴を保存したいときにのみ、オンに切り替えている。
もう一つの P2 サイトで編集画面から投稿するときは、公開する直前に「使用する」に切り替えて「公開」してる。公開後に P2 上で編集すると、履歴が保存される。
動作情報
- Compatibility with WordPress 2.9.1: 100% (9 “works” votes out of 9 total)
アップグレード手順
バックアップ–別件にて取得済み管理パネル > Plugins
There is a new version of Revision Control available. View version 1.9.7 Details or upgrade automatically.
の「upgrade automatically」の方をクリック(詳細確認済みだったので)。
画面が変わり、アップグレード&再有効化完了。
Upgrade Plugin
Downloading update from http://downloads.wordpress.org/plugin/revision-control.1.9.7.zip.
Unpacking the update.
Installing the latest version.
Deactivating the plugin.
Removing the old version of the plugin.
Plugin upgraded successfully.
Attempting reactivation of the plugin
Plugin reactivated successfully.
Actions: Return to Plugins page
やはり楽のよう。。
(初期設定) Settings > Revisions 画面
投稿/ページそれぞれについて、
リビジョン設定: 使用する/使用しない/Limit to x revision (x世代保存) (設定値の詳細は後述)
【後でスクリーンショット載せるぅ~(でも新バージョンリリースが先かも~)】
投稿/ページ作成(編集)画面 – 「Post Revisons」欄
- リビジョン: 使用する/使用しない/Limit to x revision (x世代保存)
- デフォルトは Revisions 画面の設定値
- 切り替えると、投稿/ページを保存したときに設定が保存される
- 各版の削除ボタン
- 今までの改訂履歴一覧の右側に削除用リンク
- (注) 改訂履歴が表示される場合にのみ表示(次項参照)
設定値の意味と動作
リビジョン:
- 使用する — 記事/ページを保存する度に、編集前の状態を「版」として作成する。(WordPress のデフォルト機能と同じ)
- 使用しない — 保存するときに「版」を作成しない。
- Limit to x revision (x世代保存) — 保存する度に「版」を作成するが、保持するのは直近の指定版数 x のみ、それより過去の版は全て削除。
- (注) 改訂履歴と削除ボタンが表示されるのは
- 編集画面の「Post Revisons」欄に改訂履歴(版)&削除ボタンが表示されるのは、リビジョン: 「使用する」または「Limit to x revision」(x世代保存)のときのみ。
「使用しない」のときは表示されない(=削除もできない) - (注) 途中で「使用しない」に切り替えても履歴は残る
-
それまでの版は非表示となるだけで、データは削除されない。
- 再び「使用する」に切り替えると、再表示される。(履歴として残したいときだけオンにできるので、これは嬉しい仕様
) - 再び「Limit to x revision」に切り替えると、指定版数 x より過去の版は削除し、残した版のみを表示。
- 再び「使用する」に切り替えると、再表示される。(履歴として残したいときだけオンにできるので、これは嬉しい仕様
用例: こんなことしたいんだけど
(例1) 使用しない → 旧版を保存したい
「使用しない」にしてあった記事をこれから書き換えようとするときに、編集前の状態を旧版として保存したい場合、「使用する」を選んで記事を編集後、「Save Draft」とか「Update Post」とかをクリックすれば ok。
前回の編集日時付4で版が作られる。
(例2) 使用する → x世代保存 = 履歴データは指定数より過去分削除
「使用する」で何度か保存して履歴(版)が複数ある状態のとき、「Limit to 2 revisions」を選んで「Save Draft」をクリックすると、直近の2版を残してそれ以前の版は削除される。DB の revision データも 2レコードのみ。
(例4) 今までの履歴をまとめて消したい
削除ボタンだと版を一つずつしか削除できないのでたくさんあると大変。
他のプラグインを使わずにやるとしたら、
- 特定の投稿の改訂履歴を削除したい
- 投稿編集画面にて、一旦「Limit to 2 revisions」にして保存、「使用する」に切り替えて残った 2版を一つずつ削除。
- 全投稿/ページの履歴を全て削除したい
- (自動保存データもいらなければ) phpMyAdmin で、wp-posts テーブルの post_type が ‘revision’ のものを一括削除
(posts テーブルのデータの持ち方を参照)
既知の問題
Revision Control – blog://dd32.id.au/
- Disabling Post revisions on a post Deletes all revisions for that post, However, Disabling globally does not delete current Revisions.
Selected option does not stick, Or appears to stick to a non-selected value.Finally Fixed in 1.5
次期バージョン 2.0 の予定
2010年1月24日頃リリース見込み、とのこと。詳しくは blog://dd32.id.au/ 参照。
- コードを一から書き直し。2.9 仕様
- Better support for multiple post types (←multiple post type 自体よく分かってない)
- 100% api usage, less chance of breaking something (なんだろう?)
- カテゴリとタグの改訂版保存。一代限り、リストア不可(これは次期バージョン)
メモ
改訂版の日時表示が GMT (このプラグインのせいではないけど) 追記あり
改訂版の日時表示が GMT なのが分かりにくい。共同編集とかを考慮してあえてこうしてるのかな。。
追記 2010-2-21:
ソース見た。なして $revision->post_modified_gmt ~?
wp-includes/post-template.php:
/**
* Retrieve formatted date timestamp of a revision (linked to that revisions's page).
*
* @package WordPress
* @subpackage Post_Revisions
* @since 2.6.0
*
* @uses date_i18n()
*
* @param int|object $revision Revision ID or revision object.
* @param bool $link Optional, default is true. Link to revisions's page?
* @return string i18n formatted datetimestamp or localized 'Current Revision'.
*/
function wp_post_revision_title( $revision, $link = true ) {
if ( !$revision = get_post( $revision ) )
return $revision;
if ( !in_array( $revision->post_type, array( 'post', 'page', 'revision' ) ) )
return false;
/* translators: revision date format, see http://php.net/date */
$datef = _x( 'j F, Y @ G:i', 'revision date format');
/* translators: 1: date */
$autosavef = __( '%1$s [Autosave]' );
/* translators: 1: date */
$currentf = __( '%1$s [Current Revision]' );
$date = date_i18n( $datef, strtotime( $revision->post_modified_gmt . ' +0000' ) );
if ( $link && current_user_can( 'edit_post', $revision->ID ) && $link = get_edit_post_link( $revision->ID ) )
$date = "<a href='$link'>$date</a>";
if ( !wp_is_post_revision( $revision ) )
$date = sprintf( $currentf, $date );
elseif ( wp_is_post_autosave( $revision ) )
$date = sprintf( $autosavef, $date );
return $date;
}
あと、うちと同じケース:
投稿リビジョンのみが過去も含め-9時間気持ちは悪いですが、GMT で表示されてるだけで機能的な支障はないです。
WordPress › フォーラム » アップグレード後、投稿リビジョンだけ時差発生 (2/13の「1週間前」なので2/6頃の投稿か)
気持ち悪いというより、直感的に改訂日時が分からない。。(・;)
追記 2010-3-1:
/trunk/wp-includes/post-template.php を見たところ WordPress 3.0 で直りそう! ばんじゃーいヽ(・∀・)人(・∀・)ノ
でもチケットが見つけられない。。
$date = date_i18n( $datef, strtotime( $revision->post_modified ) );
2.9.3 は、リポジトリの構成が分かってないけど、/branches/2.9/wp-includes/post-template.php だとしたら直らなさそう。5月までおあずけかぁ。。(;_;)
-
リビジョン(revision)
私の中では今のところ「改訂版」。Revision Management は「改訂版管理」、過去の改訂版複数を指すときは「改訂履歴」、一つを指すときは「版」とか。
(普通の webサイトや wiki だと「変更履歴」かな。。ソフトウェアだと「更新履歴」、svn はまんまリビジョン?)
あまり一般的じゃないカタカナ語(専門用語以外)はなるべく日本語で言うようにしてるのですけど、リビジョンにはまだ迷いが。。。 ↩ -
もしかして WP本体の日本語化ファイルを入れてないせい? ↩
-
WordPressファイル一式はサブディレクトリに置き、訪問者のアクセスはドキュメントルートになるよう設定。参照: Giving WordPress Its Own Directory ↩
-
WordPress 2.6 で Revision Management 機能が搭載された当時は、編集前の状態=前回の編集日時のはずなのに、今回の編集日時付で旧版が作られたため、分かりにくくて即効オフにした記憶が。。。
けど今は大丈夫。
↩
調子に乗って Revision Control 1.9.7 も入れる。…
Revision Control 1.9.7(↓これ)も自動インストール。 power source* » WP Plugin[up]: 投稿リビジョン(改訂版※)を自在に管理 – Revision Control を自動アップグレード 1.9.1→1.9.7 P2 上からの投稿が多いので、デフォルトで「使用する」にしておく。 P2 上から記事を編集した場合も版は追加される。 過去の revision データをざっくり削除。今後はこのプラグインでコントロールしてく。……