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. 修正パッチを下記よりダウンロードしてください。

.05.download...
(remove_old_page_versions.zip 1KB)

2. ZIP ファイルを解凍してください。

3. 中の「remove_old_page_versions.php」ファイルを [concrete5 サイトのルート]/jobs/ フォルダにアップロードしてください。

 

次期バージョンアップデート後

concrete5.6.3.3. の後継バージョンでは、修正がされているので、次期バージョンにアップグレードされた際は、 [concrete5 サイトのルート]/jobs/ のファイルは削除してください。

 

皆様にはご迷惑をおかけいたします。

 

以上