Open4

Movable Type 7 から Movable Type 8へアップグレードメモ

redamoonredamoon

Movable Type 7 から Movable Type 8へのアップデートの諸々をメモしておく。

データベースは、MySQL 5.1 以上 / MariaDB 5.5 以上のみをサポートします。

まずはじめに、ガイドを読むとサポートしているデータベースはMySQLとMariaDBのみようだ。

https://www.movabletype.jp/documentation/mt8/installation/upgrade/upgrade/

SQLite または PostgreSQL を利用している場合は、MySQLへ移行する必要がある。
自分の環境ではMySQLを利用していることから、これらの移行作業はない。

今回のメジャーアップデートは、コンテンツタイプのような新機能はあまりなくMT7で利用できている環境ではあれば、データベースの問題以外はファイルを差し替えするだけで、アップグレードができる。

redamoonredamoon

Movable Type 8 で同梱されたプラグイン

いくつかSixApart からプラグインで提供されていた機能が、Movable Type 8から同梱されました。

  • SharedPreview
  • MFA-TOTP
  • MFA
  • MTブロックエディタ




ライセンス確認用のプラグインが追加された

LicenseVerification というライセンスキーを登録するプラグインが提供された。
このプラグインでSAID とライセンスキーを登録することができます。

  • LicenseVerification

redamoonredamoon

追加された機能やUI

左カラムに 検索 への遷移ボタンが設置された。

redamoonredamoon

基本的には、本体はそのままMTファイルを差し替えすれば自動的にアップデートは行える。
問題となってくるのは、利用しているプラグインが問題なります。
私が利用しているプラグインではMT8には対応されていることがわかった。
メジャーアップデートでは、利用しているプラグインの対応可否が重要になってくる。

利用しているプラグイン

MTAppjQuery

MTAppjQueryのアップデートについては、いくつか変更点があるので確認が必要そう。

https://bit-part.net/news/2023/11/mtappjquery-v2-to-v3/

スクリプトタグに deferをつける

スクリプトに defer をつけるようです。

MTAppjQuery v3 から MTAppjQuery 等の読み込みタグに defer 属性が追加されました。そのため、自由テキスト欄を利用して script タグで user.js やその他の JavaScript ファイルを読み込んでいる場合は、下記のように script タグに defer 属性を付けてください。

VueDevTool のエラーが出る

自分の環境だけかもしれないけど、V3からVueからSvelte に変わった。
その影響なのか現時点でわからないけど、ConsoleでエラーがでるようになったのでVue DevToolを一回削除した。

マルチフィールドのバージョン指定を 2にする

V3からVueからSvelte になって、バージョンが記載が未定義の場合は version: 3 になる。
自分の環境では、 version: 2 のままにしていた。

ImageUploadUtility

ImageUploadUtility は、コンテンツタイプ対応版がリリースされた。
これについては、今もってるライセンスは買い直しになるようです。

https://www.juxtaposition.jp/image-upload-utility/

PageBute

https://mtp.skyarc.co.jp/free-plugin/pagebute.html

PageButeもMT8対応版がリリースされていた。

UploadDir

MロジックのUploadDirもMT8対応版がリリースされていた。

https://labs.m-logic.jp/2023/11/uploaddir-078.html

利用しているプラグインリスト

  • MTAppjQuery
  • ImageUploadUtility
  • PageBute
  • UploadDir
  • DataAPIProxy(MTAppjQueryに同梱)
  • PlainTextField(MTAppjQueryに同梱)
  • ScheduleField(MTAppjQueryに同梱)