新年早々の非互換対応

閲覧数: 68(1)

昨年から先送りしていた「mediawiki」のマイナーバージョンアップ(2020/12/18リリース)、セキュリティリリースということなので見送るよりマイナーであってもバージョンアップした方が良いと思い、新年早々ですがバージョンアップすることに。通常の手順で進めると、これまでのバージョンアップ時と違い途中でエラーも出ずに順調にバージョンアップ完了!と思いきや、確認のためにサイトを表示してみたところエラーが出ているではありませんか!どうやら抜粋表示などで利用している「DynamicPageList」が非互換を起こしているようでした。エクステンションのサイトで確認したところ「DynamicPageList」はまだ「1.35」対応していないので本番環境には適用しないで下さいと書いてある。そうなんだーと一度は従ってみたものの、なんとなく癪に障るので少しソースを見てみることに、ちなみにここまでの対応はテスト環境での実施なので本番環境には影響はありません。

エラーの内容はデータベースアクセス時のパラメータの中にある「rev_user」が存在しない、というような意味だったので、まずはデータベースのテーブルを見てみます。該当するテーブルは「xxx_revision」です。エラーが出るのだからそのカラムが無いのは当然と言えば当然ですが、やはり存在しておりません。一つ前のバージョンまでは下位互換のために存在していたようですが、このバージョンからは仕様通りのようです。「rev_user」は何のために存在しているかというと、記事を更新した時のユーザーを記録するためのようで、今回使いたい用途も記事の更新記録を表示する際に、誰が更新したかわかるようにするものでした。新しいテーブルなども調べてみましたが、直接的に「rev_user」を代替するカラムは存在せず、別テーブルにリビジョンに対する更新ユーザーのIDを保持するカラムがありましたが、本家の更新待ちだと思うので、今の時点ではそこまで大きく改変するつもりではなかったので、今回のバージョンアップでは「更新者」を省くことにしました。変更点はだいたい以下の通り。

                 case 'user':
                    $sSqlRevisionTable = $sRevisionTable . ', ';
//                  $sSqlRev_user = ', rev_user, rev_user_text, rev_comment';
                    $sSqlRev_user = ', rev_actor';
                    break;
        if ( $bAddUser || $bAddAuthor || $bAddLastEditor || $sSqlRevisionTable != '' ) {
//          $sSqlRev_user = ', rev_user, rev_user_text, rev_comment';
            $sSqlRev_user = ', rev_actor';
        }
                if ( $bAddUser || $bAddAuthor || $bAddLastEditor || $sLastRevisionBefore . $sAllRevisionsBefore . $sFirstRevisionSince . $sAllRevisionsSince != '' ) {
//                  $dplArticle->mUserLink = '[[User:' . $row->rev_user_text . '|' . $row->rev_user_text . ']]';
                    $dplArticle->mUserLink = '[[User:' . $row->rev_actor . '|' . $row->rev_actor . ']]';
//                  $dplArticle->mUser = $row->rev_user_text;
                    $dplArticle->mUser = $row->rev_actor;
//                  $dplArticle->mComment = $row->rev_comment;
                }

DPLが提供するオプションの使い方によって関連するコードが異なるので、今回のこの変更はあくまでも現状のオプションを使用した抽出・抜粋の場合のみ動作します。

正式に「1.35」対応するまで「最近の更新」コーナーで表示していた「サイズ、更新日、更新者」のうち「更新者」を表示しない設定としています。

【最終更新日: 2021年1月8日】
カテゴリーIT閑話, 公開タグ, ,
ページナビのテキスト
2021年4月1日

記事ページの下部に前後の記事(投稿)へのリンクが表示される仕様なのだが、「カテゴリーに制限」をかけて  続きを読む

閲覧数まとめ
blank
2021年3月25日

閃きついでに総合計と週合計をフラグで制御する方式に変更してみた。これまではベタに関数をまるまるコピー  続きを読む

閃きは大事だw
blank
2021年3月23日

このサイトは、あくまでもCMSであるWordPressの構築やクラウドであるAWSの運用ノウハウ取得  続きを読む

ElasticPress 3.5.6
blank
2021年3月19日

マイナーバージョンアップにも関わらず、検索スコアリングのパラメータが微調整された結果、期待する検索結  続きを読む

検索精度を高める
blank
2020年11月1日

検索ネタを連発するのはElasticsearchやElasticPressがバージョンアップした時の  続きを読む

EP日本語設定2020年版
blank
2020年10月29日

ElasticsearchをWordpressで利用するためのプラグインであるElasticPres  続きを読む

スポンサーリンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください