最近のMovable Typeでの活用方法や取り組みや、3rd Focusで取り扱っているプラグインの活用方法をご紹介していきます。
エムロジックのたじまです。
このたび縁あって(?)こちらで書かせていただくことになりました!
こちらではエンジニアから見た最近の Movable Type について書いていこうと思います!
早速ですが、先日Movable Type 8 がリリースされました。
主な新機能・改善点として
…などなどありますが、こういった部分は今後紹介されていくことを期待しつつ、まずは「プラグインの互換性」について書いておこうと思います。
ウェブディレクターさんやフロントエンジニアさん含め、MT を使われている方々の興味の先は、いま案件で使ってる・使おうとしているこのプラグインが
動くのかい?
動かないのかい?
どっちなんだい?
…というところにあるんじゃないのかなと思うわけです(想像)
そのあたりを踏まえて、自社開発プラグインの動作確認・MT8対応作業中の私からざっくりと「MT8 におけるプラグインの互換性」についてお伝えしたいと思います!
いまのところ新規インストールして自社プラグインを組み込んだり、既存の開発環境をアップデートしたり、まだ多くの作業を行ったわけではありませんが、現時点では
既存のプラグインは表示に問題のあるものが多い
印象です。
「ちょっと待てぃ!MTの”互換性”はどこ行ったん!?」
…そう思われるかもしれません。
実のところ、自社プラグインにおいて、問題になった部分は「ほぼ1つ」でした。
「Bootstrap v5.x」
( MT8.0.2 時点では Bootstrap v5.1.3 )
MT8 のリリースでは触れられていないのですが、MT7 のr.5404 にて管理画面のテーマ切り替え機能と、Bootstrap v5.x ベースの新しい管理画面の提供が(テスト的に)行われていました。
MT7 の時点では設定を追加しない限りこの新しい管理画面を使用できなかったのですが、MT8 ではデフォルトで新しい管理画面を使用するようになっているのです。
そのため「プラグインで Bootstrap v4 を使用していた部分が動かなかった」次第です。
MT7 において使われていたプラグインのうち、機能のカスタマイズやタグの追加だけを行う「画面を持たないプラグイン」は、大半は問題なく動くと考えてよさそうです。もちろん MT8 で変更・廃止された機能に関わるものは要確認となりますが…。
とはいえ、この新しい管理画面への対応を行う必要があることから、多くのプラグインで MT8対応版 がリリースされることになりそうです。
現在 MT7 をお使いの方が、いきなり MT8 にアップグレードしてしまうと、面食らってしまう可能性がありそうなのですが、実は MT7 をお使いであれば、ある程度事前に確認できる仕組みが用意されています。
MT7 r.5501 以降おいて、Bootstrap v5.x ベースの管理画面に切り替えるには、MT7 の環境設定ファイルに次の記述を追加します。
AdminThemeId 'admin2023'
設定値の「admin2023」は大文字・小文字の区別がされますのでご注意ください。
あくまでも MT7 ですので、完全な動作確認にはなりませんが、この手順で MT8 へのアップグレード後に問題が見つかるリスクをできる限り減らすことが可能です。
「MT8 環境を作成したらプラグインの表示が変!」という場合、MT8 の環境設定ファイルに次の記述を追加してみましょう。
AdminThemeId ''
これで管理画面は MT7 と同じ Bootstrap v4 ベースのものに変更されます。弊社のプラグインはこれでほとんど動作するようになりました。
もし問題がこれで解消されるのであれば、使用しているプラグインでは Bootstrap v5.x ベースの新しい管理画面への対応が必要だと考えてよいかと思います。
この設定のまま使えるからそれでいいじゃないかという話もありそうですが、Bootstrap v4 は2023年1月に EOL を迎えてしまっていることをお忘れなく…
そんなわけで MT8 では、インストール・アップデートの前にプラグインの動作確認を行うことをおすすめします。
プラグインの動作確認情報は、各プラグインの開発者や販売元のサイトのほか、プラグイン・テーマ ディレクトリで、確認することができます。
正直なところ「あれ・・結構少ないじゃないか」という感じになってしまうのですが、この情報を充実させていくのが自分たちの直近の課題になるかなと考えています。
Movable Type は、20年以上にわたって、ある程度の互換性を保ちながらリリースを重ねてきました。
プラグインも、MT3.3 の頃から機能的な拡張はあるものの仕組みとしての互換性を保ち続けているため、「動作する」プラグインが数多く蓄積し、それがまた CMS としての魅力にもなってきました。
しかしながら、これだけ年月が経過すると、これらの「動作する」プラグインの中には、開発者を含めコードの保守・管理ができる人がいなくなり、なにか問題が発生した場合に「修正されないリスク」を抱えてしまっているプラグインが増えているように思います。
今回 Movable Type が、「安定して長くコンテンツを管理」するための改修を行った今回のリリースにあわせて、組み込まれるプラグインについても安定して長く使えるものを提供していければと思います。
なお、3rdFocusで扱うプラグイン・ソリューションは現在コルシスさんのQAチームによって絶賛動作検証中ですので、リリースまでもう少々お待ちください!
開発者向けの話になりますが、プラグインの MT8 対応作業の多くは Bootstrap v5.x への対応作業になるかと思います。
Bootstrap v5.x への移行については、こちらに公式のドキュメントがありますので、参考になるかと思います。弊社プラグインの対応では次の変更への対応が多かった印象です。
すべての JavaScript プラグインのデータ属性は、Bootstrap の機能をサードパーティやあなた自身のコードと区別するために、名前付きになりました。例えば、data-toggle の代わりに data-bs-toggle を使用します。
なお、Bootstrap は jQuery を使用しなくなりましたが、MT8 全体ではまだ jQuery が使用されていますので、プラグインでの使用は引き続き可能です。
冒頭にも書きましたが、エンジニアから見た最近の Movable Type について小ネタを書いていこうかと思います。リクエストなどあればお知らせくださいませ。