Movable Type アップデート

2020-09-08 | コメント(0)

当サイトは Movable Type を使用しています。(投稿時現在)

先日、しばらくぶりに最新版にアップデートしました。(←アップデートしたのは 2020/07/20)

元のバージョン: 6.2.6
新しいバージョン: MT7-R4608

注:MT7-R4608.zip は コメント入力のエラー表示に問題があります(2020/08/02 追記)
参考 → Movable Type コメント投稿時のエラー表示
このため、新しいバージョンは 6.3 です

シックス・アパートのサイトの説明に従い、無事にアップデートできました。

旧バージョンから Movable Type 7 へアップグレードする
https://www.movabletype.jp/documentation/mt7/installation/upgrade/upgrade/

アップグレード時に、新しいディレクトリにコピーするファイル
https://www.movabletype.jp/documentation/mt7/installation/upgrade/upgrade/files-and-directories.html

サーバーは XREA なので、Value Domain から XREA 管理画面 → ファイルマネージャを使用し、
更新対象の既存フォルダはリネームしてから、新しいMT7のファイルをアップロード。
mt-config.cgi等、説明通りのことを行い、mt.cgiへアクセスして一発で成功しました。

2020/08/19 追記
コメント入力の不具合を、開発者ライセンスで確認できる他のバージョンを試して確認したところ、
MT-6.6.2
MT-6-5.3
MT-6-3.12
それぞれで、「An error occurred: コメントを入力していません。」等の一行表示になってしまい、コメント機能がまともに使えないことが判りました。
手持ちの MT-6.3 では正しい表示になるので、MT-6.3 を使う事に決めたのですが、確かダウンロードしたのは4年ほど前のものなので、4年もの間不具合に気付いていないのかと疑問に感じました。

時間が止まっていたの?最新版がまともに動かないってどういうことか・・

手元に溜まっているメモを記事にしようと思い立ち、ついでにレイアウト等も独自調整して時間が掛かっているせいもあるのですが、MTを更新しようとした経緯から各バージョンの確認をしたりと、思い立ってからそろそろ一ヵ月近くになるのですが、結局4年前の MT-6.3 に落ち着くってのは、なんとも言い難い苦労が掛かりました。

2020/09/08 追記
コメント投稿時の入力エラー表示が修正出来たので、MT-6.7.0にアップデートしました。

修正方法は、コメント投稿時のエラー表示を修正 を参照してください。

アップデート時の画面を載せておきます。

MT-6.3からMT-6.7.0へアップデートした時のアップデート開始画面
Movable Type アップデート開始画面

MT-6.7.0にアップデートが完了した画面
Movable Type アップデートを完了しました!

アップデートした後、使い勝手含め、記事内容、ウェブページはそのまま引き継ぎ(当たり前ですが)問題なさそうです。

すんなり何も問題が無いかと言うと、またもコメント箇所でちょっと表示の仕様が変わったのかと思えるものがあります。
コメントする前にサインインすることもできます。
という表示。MT6.3の時は表示されてなかったのですが、アップデートしたら表示されるようになりました。

コメント機能は、記事以外にも「お問い合わせ」ページでも使用していて、匿名も受付ける設定で利用しているのですが、これは邪魔です。

設定の「登録/認証」「コミュニケーション」の組み合わせと思い、変更してみましたが消えてくれません。

仕方ないのでJavaScriptで表示しないように細工しました。

これを表示しているDOMは次のものです。mt.jsには文言は無いので、.pm側で作っていると思いますが、pmのほうに手を入れる気は無いです。
コメントする前にサインインすることもできます。

comments-open-content の中にある、comment-greeting が犯人なので、これを非表示にします。

以下、元々Captcha表示のレイアウトをBootstrapに合うように細工しているJavaScriptです。
ここに追加で(4-5行目)comment-greeting のタグに d-none クラスを付けます。
※d-none は、Bootstrapのクラスで display:none; です。

function captchaLayout() {
	mtCommentFormOnFocus();

	var greeting_tag = $("#comment-greeting");
	greeting_tag.addClass("d-none");

	var captcha_tag = $("#comments-open-captcha");
	var captchalabel_tag = captcha_tag.find("div.label");
	captchalabel_tag.addClass("col-sm-3");
	captchalabel_tag.addClass("col-md-2");
	captchalabel_tag.addClass("col-form-label");

	captchalabel_tag.find("label").html("Captcha");

	var captchafield_tag = captcha_tag.find("div.field");
	captchafield_tag.addClass("col-sm-9");
	captchafield_tag.addClass("col-md-10");

	var captchainput_tag = captchafield_tag.find("#captcha_code");
	captchainput_tag.addClass("form-control");
	captchafield_tag.find("p").html("画像内の文字を入力してください。
※プレビュー時はCaptcha入力不要です。
※文字が見難い場合はプレビューすることで画像更新できます。"); captcha_tag.removeClass("d-none"); } $(document).ready(function() { captchaLayout(); });

これで、邪魔なメッセージを消すことが出来ました。

本当は、jQueryの ready(..) より、document.addEventListener("DOMContentLoaded", function() { .. に変えたいのですが、他の絡みで少し懸念箇所があるので ready で記載しています。

カテゴリ:

コメントする

※HTMLタグは使えません

Author

あきちゃん

主に、.NETでWebシステムの設計と開発をしています。
(茨城県在住, 都内勤務)
プロフィール