2015年4月9日
転載歓迎
「古いページバージョンを削除」自動実行ジョブのバグとパッチについて
concrete5 5.6.2.1〜5.6.3.3 で「古いページバージョンを削除」の自動実行ジョブが、直近10バージョンを削除してしまっているというバグが見つかりました。仕様通り、直近10バージョンを残して古いバージョンを削除するようにする修正パッチを配布します。
「古いページバージョンを削除 (Remove Old Page Versions)」について
自動実行ジョブの「古いページバージョンを削除 (Remove Old Page Versions)」は、編集履歴が残りすぎて、 MySQL のデータベースが肥大化することを抑えるために、古い編集バージョンを削除する目的で作られた自動実行ジョブです。
このジョブを1回実行するごとに、サイトの中の3ページを巡回して、直近10バージョンを残して古い編集バージョンを削除する仕様となっています。
バグの症状
しかし、2013年10月にリリースされた concrete5.6.2.1 から最新版の 5.6.3.3 までのバージョンでは、間違って、ページの直近10バージョンの編集を削除するようになっていました。ただ、公開されている最新のバージョンは削除されません。
「古いページバージョンを削除」を実行していないサイトの場合は影響はございません。
解決策
既に concrete5 の開発チームに修正パッチを送り、次期 concrete5.6系のバージョンに組み込まれることになりました。
また、こちらからも修正パッチを配置します。
修正パッチについて
5.6.3.3 で使用できる修正パッチを作成しました。こちらから配布します。
1. 修正パッチを下記よりダウンロードしてください。
(remove_old_page_versions.zip 1KB)
2. ZIP ファイルを解凍してください。
3. 中の「remove_old_page_versions.php」ファイルを [concrete5 サイトのルート]/jobs/ フォルダにアップロードしてください。
次期バージョンアップデート後
concrete5.6.3.3. の後継バージョンでは、修正がされているので、次期バージョンにアップグレードされた際は、 [concrete5 サイトのルート]/jobs/ のファイルは削除してください。
皆様にはご迷惑をおかけいたします。
以上