新年早々の非互換対応

閲覧数: 72(0)

昨年から先送りしていた「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閑話, 公開タグ, ,
タイトルを抜粋する

関連記事プラグインを使って、記事本文の下に「関連記事」を表示している。情報としては、タイトル、画像、  続きを読む

非互換対応再び
blank

サイトのお守りというのは、言い換えれば「それらを構成するソフトウェア群とそれらが稼働するハードウェア  続きを読む

ページナビのテキスト
blank

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

閃きは大事だw
blank

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

閲覧数まとめ
blank

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

緊急事態宣言で外出自粛になり...
blank

せっかくのゴールデンウィークなのに、2年連続で緊急事態宣言下となり、外出自粛中。暇なので小ネタで遊ぶ  続きを読む

スポンサーリンク

コメントを残す

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