Open40

MT9がリリースされたのでつらつら

YamatsuYamatsu

MT9のリリースに合わせてMT8などのセキュリティアップデートもリリースされたので、そっちは本番に反映しました。
ソフトウェア版の8.4系から8.8系にアップデート。

https://www.sixapart.jp/movabletype/news/2025/10/22-1055.html

本体ダウンロードするときに気づいたけど、ダウンロードできるMT本体のリストから6系が消えてた。
今ダウンロードできる最も古いバージョンはMT7 r.5510

YamatsuYamatsu

MT9で個人的におおっとなったのはエディタ周りの改修なんだけど、とくに「GitHub Flavored Markdown」が使えるようになったのはとてもうれしい。

これでMTのエディタでもひととおりのMarkdownが書ける!(たぶん)
いままでは必要があったら素の状態で出力したMTEntryBodyのMarkdown書式を人力でどうにかしていたので…(MTの機能だけではしんどいので、phpとか使って)

YamatsuYamatsu

旧版からのアップデートにはいくつか注意事項があるっぽい。

https://www.movabletype.jp/documentation/mt9/installation/upgrade/upgrade/
https://www.movabletype.jp/documentation/mt9/start-guide/about-movable-type/restriction/

大きなところだと、個人的に気になったのは以下。上記ページから抜き出して一部文言編集。
既知の問題と制限事項は割愛。

  • DBはMySQL 8.0.35 以上 / MariaDB 10.6 以上のみをサポート
  • Perl 5.16.3以上のみをサポート(5.32を推奨 / 5.40まで検証済み)
  • 文字コードはUTF-8のみサポート
  • mt-config.cgiDefaultLanguage jaの記述が必要

DBはMT7でも場合によってはネックになりそうかも。それ以外はアップデートに関しては(特殊なサーバーや設定などでない限り)大丈夫かなとおもうけど。
MT6以前の古いMTからMT9にいきなりアップデートするとわやになりそうなので、→MT7→MT8→MT9と段階踏んだ方がよさそう。

YamatsuYamatsu

mt-devでMT9へのアップデートは、/archiveフォルダにMT-9.0.4.zipを入れてmake upする従来の方法でいけた。

YamatsuYamatsu

土日なのに全然触れてない…。
「GitHub Flavored Markdown」だけちょっとさわった。エディタ周りもだいぶ手が入れられてるっぽいので、もうちょっと時間とってさわりたい…。

YamatsuYamatsu

やっぱあまり触る時間がなかった…。

とりあえず「GitHub Flavored Markdown」だけ、以下のページを参考にしつつ出力してみた(全部は試せてないけど、よくつかうMarkdown記法のみ)

https://docs.github.com/ja/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax

https://github.github.com/gfm/

  • 脚注とアラート(警告)は対応してないっぽい?
  • コードブロックは一般的なバックスラッシュ3つ+言語を指定する記法でcodeclassが入るので(<code class="language-html"></code>)、シンタックスハイライトライブラリが普通に使えそう

けっこうMTでMarkdown書けるようになったのでは…? うれしい。

YamatsuYamatsu

リッチテキストエディタに搭載された「HTML構造編集モード」、いいかもしれない。見た目として「タグで囲われているかどうか」がわかるので、HTMLに詳しくない人にも「この要素からはみ出していたらレイアウト崩れが起きます」でわかってもらえそうだから、

でも複雑なデザインを雛形として嵌め込むとむずかしいかも。

デフォルトだと多分オフになっているので、システムメニューの「設定」>「リッチテキストエディタ」でメニューに追加する必要がある。

YamatsuYamatsu

サイト(子サイト)単位でリッチテキストエディタの設定変えたいことがあるから、システム一括じゃなくて各サイトごとに設定できたらありがたいな…。
(この場合にMTAppjQueryをつかう)

YamatsuYamatsu

ダッシュボードウィジェットもいいな。
MTタグが使えるので、コンテンツタイプとかでダッシュボード表示用の記事を用意しておしらせができる。

テストはダッシュボードウィジェットで作成したテンプレートの名前

記事投稿とか複数人が同じ管理画面触る場合に、メンテ予定とかお知らせをいれることで周知ができる。

CSSやjsを使う場合はテンプレート内で外部ファイルを読み込むか、MTAppjQuery使うか。
Bootstrapが組み込まれているので、デザインを合わせるならこれを使ったほうがいいかも。

https://movabletype.github.io/mt7-style-guide/

↑MT7のスタイルガイドだけど、極端な色彩変更などはないのでたぶんおおむねそのまま使えるはず。

YamatsuYamatsu

おひとりさま運用の場合でも、やることやメモなど書いとくといいかも。
ダッシュボードはたぶんふつうはログインしたら毎回見るので…

YamatsuYamatsu

システムテンプレートで作成したダッシュボードはログイン時のホームにだけ表示される。
各サイトで作ったものは各サイトのホームのみ。

YamatsuYamatsu

ひととおり触ったのと、使ってるプラグインの動作も本体の挙動もだいじょうぶそうだし、ぼちぼちアップデートしようかな。
まだちょっとあたらしいダッシュボードのメニュー位置に慣れてない…。

YamatsuYamatsu

リッチテキストエディタでのリンクカード(とインラインリンク)について、
外部サイトの情報を取得する場合は、システム設定の「リッチテキストエディタ」で有効化する必要がある。MTで管理してるサイトの場合は「システム内の〜」でOK。

任意のURLに対してデータ取得を許可するに指定する

該当のテンプレートは各サイトのテンプレート一覧にあるシステムテンプレート。

  • ウェブページの埋め込み (インラインリンク)
  • ウェブページの埋め込み (カード)

これMT8.8.1(8.8.0から?)にも入ってたんだけど、そっちでは使えないんだよな…。テンプレートが封入されてるのはミス…なのかな。どうなんだろう。

YamatsuYamatsu

「ウェブページの埋め込み」テンプレートは、出力時のほかリッチエディタ埋め込み時のスタイルも兼ねてる模様。

とくにカードの方、jsでCSS挿入するようになってるのが個人的にはちょっとアレ…なので、カードのスタイルはMTAppjQueryやエディタ用のCSSを読み込ませて、閲覧側もふつうにCSS書いた方がいいかも。
修正するときに二箇所修正する必要があるけど。

カードの方は出力時にコードがdivで囲われる。

<div data-mt-rich-text-editor-embed-object="">
    <!-- ウェブページの埋め込み(カード)テンプレートの内容 -->
</div>

値が空だけど、なんかの条件で値が入るのかな…?

インラインリンクの方は、インラインなのでpで囲われる。

YamatsuYamatsu

エディタ画面から利用できる「画像の挿入」は配置指定もひとつの画面に収まってわかりやすくなった気がする。
「アセットの挿入」はこれまで通り。

YamatsuYamatsu

本番環境のMTを9にアップデートしたー!
ダッシュボードウィジェット便利

YamatsuYamatsu

ウェブページの埋め込み、もしかして対応してない(取得できない)サイトある…?
BOOTHの個別ページのカードが表示できないっぽい。
要検証。

YamatsuYamatsu

MTの新しいリッチテキストエディタ、カーソルが時々迷子になる…(通常改行した時とか、文字が打てない)
たまたまかな、これも要検証。

YamatsuYamatsu

MTAppjQuery使ってて、mt-data-api.jsがnot foundのエラー出るなー、そういや/mt-static/data-api同封されてないなとおもったらデベロッパプレビュー版で同梱終了したよって書いてあった…(ちゃんと見てなかったな)

https://www.movabletype.jp/release-notes/9/dp.html

ダウンロードが必要(/mt-static/data-api

https://github.com/movabletype/mt-data-api-sdk-js/tree/master

YamatsuYamatsu

ファイルアップロードの上、MTAppjQueryプラグインの設定でData API JavaScript SDKを有効化すると、カスタムフィールドで追加した画像のフィールドがうまく動かない気がする(画像選択後、フィールドに反映されない)
なんかバッティングしてんのかな…。
要検証

プラグインの問題なのかMT本体の問題なのかわからないのでちょっと確認

YamatsuYamatsu
YamatsuYamatsu

エディタで通常改行した時にカーソルポインターが消える(入力できなくなる)のは、バグなのかこっちの環境が悪いのか(Mac+Safari)…

YamatsuYamatsu

これバージョンアップによるものだとおもうけど、いつの間にか修正されてるっぽい。現在9.0.7。

YamatsuYamatsu

先日MT9のリッチテキストエディタ(Tiptap)の構造を見る機会があったんだけど、なかなか面白い構造をしていた…。
Tiptapってだいぶカスタマイズできるんだなというのもふくめて、興味深かったです。

YamatsuYamatsu

MT9と直接関係はないけど、さくらサーバーでWAF設定を有効にしている場合、MT管理画面テンプレートでlinkscriptを記述してそのテンプレートを保存&再構築すると、クロスサイトスクリプティングやSQLインジェクション判定されるのが地味に厄介だなと思う…。
前からかな。

すでに書いてある場合でサイトを再構築する分には問題ない。

ふつうにMTでサイトつくるとheadもテンプレートで管理することがほとんどなので、これはどうしようかな…。

YamatsuYamatsu

テンプレート編集の都度WAF切るのめんどうだな…。

ヘッドレスCMSとしてコンテンツ管理のみMTでやる感じになるのかな。
しかしSSGじゃないふつうのサイトの場合、レンタルサーバー前提だとページ生成をサーバーで完結しようとしたらPHPになるか…?

YamatsuYamatsu

それかもうMTをクラウドなど別サーバーに分離して、さくらサーバーは完全な転送先ファイル置き場とするかだな…。
業務だとそれでいい(というかそれがいい)けど、個人が趣味で入れてる場合はぐぬうという感じ…。

最近不審なアクセスも増えてるので、WAFはいる。