Movable Type 8 デベロッパープレビューリリースノート
Movable Type 8 (MT8) は、本年秋公開に向けて現在開発中です。 本日、デベロッパープレビュー版を公開しました。開発中の次バージョンのページでダウンロード可能です。
Movable Type BETA - 開発中の次バージョン
※ デベロッパープレビュー版はあくまで開発中のバージョンのため、現在稼動中の本番環境で使用せず本番環境と別のデータベースを使用するよう新たにインストールを行い、既存のデータをインポートするなどしてご使用ください。
Movable Type 8 の目指すところ、概要については以前ブログで紹介していますが、変更点や追加項目などもありますので、改めてご説明します。
MT8で目指すところ
MT8 では、現行バージョンで取り入れた継続的なリリースを今後も継続していくために必要と思われることを行なっていきます。
- 定期的、漸進的なリリースを今後も継続する
- 安全性、互換性を重視し、最新版を利用しやすいようにしていく
このために Movable Type クラウド版を中心とした定期的なリリースを行います。OS、ミドルウェアのアップデートにも追従し、長期間、安定した利用ができるよう、廃止や変更予定の機能がわかりやすいよう、またアップデートに際して互換性を維持しやすい仕組みを提供します。
アップデートの方針
- ソフトウェア版と AMI 版は1年ごと、クラウド版では 3カ月ごとにリリースを行います。重大なバグやセキュリティに関する修正はソフトウェア版にも適宜提供されます。
- 互換性に関わる機能変更や廃止は、ソフトウェア版のリリースタイミングで実施します。
- 互換性が大きく崩れるようなアップデートや 大幅なユーザーインターフェイスの変更は予定していません。
- 機能追加や機能改善は、互換性が確保できるものは3カ月に1度のクラウド版のリリースで随時提供します。
- 運用面を含めたセキュリティ対策に配慮しつつ、ライブラリや CPAN モジュールを含めて、積極的にアップデートします。
新機能・改善した機能
継続的に使っていただける内部的な改善も多く行っていますが、新機能・改善も行っています。
共有プレビュー機能
別途配布していた共有プレビュープラグインを同梱しました。公開前のコンテンツの事前確認をスムーズに行うことができます。
共有プレビューでできること
- コンテンツデータ、記事、ウェブページに対応し、一時的なプレビューではなく、公開前に他の人に確認してもらえるプレビューページを生成
- コンテンツを編集して変更を保存後も再度同じURLで閲覧が可能
- パスワードも設定できるため安全に運用可能
MTブロックエディタ
別途配布していたMTBlockEditorプラグインを同梱しました。従来のブロックエディタ機能が有効の場合は「MTブロックエディタ」と表示されますが、従来のものを無効にすると「ブロックエディタ」と表示されます。
MTブロックエディタでできること
- コンテンツタイプのテキスト(複数行)、記事、ウェブページで利用可能
- ブロックを追加する形でコンテンツを作成できる
- カスタムブロックという独自のブロックを管理画面から追加可能
- プリセットを作成し、利用するブロックの表示設定も可能
詳しくはドキュメントをご覧ください。
MTブロックエディタ | CMSプラットフォーム Movable Type ドキュメントサイト
管理画面の多要素認証機能
別途配布していた管理画面の多要素認証プラグインを同梱しました。 Movable Type の管理画面のサインインで多要素認証を行うことができます。現在は TOTP (Time-based One Time Password) による2要素認証に対応しています。
サポートするデバイス(アプリ)
2要素認証を利用するには TOTP に対応した認証コードの生成アプリケーション (認証アプリ) が必要です。次のアプリで動作を確認しています。
- Google Authenticator ( iOS版 / Android版 )
- Twilio Authy ( iOS版 / Android版 )
- Microsoft Authenticator ( iOS版 / Android版 )
- 2FA Authenticator (2FAS) ( iOS版 / Android版 )
管理画面へのアクセスをよりセキュアにし、運用することが可能です。
ライセンス確認画面の追加
システムの設定>ライセンス確認の画面を新設しました。 購入した Movable Type のSAIDとライセンス番号を登録しておけば、登録社名や登録日時、メンテナンス期限などの情報を確認することができます。
検索機能への導線の改善
検索機能へ素早くアクセスできるように、管理画面の左上に検索ページへ遷移するボタンを設置しました。 これにより各サイトへの検索ページへ移動し、検索等することが可能です。
コンテンツタイプの検索・置換で検索結果を見やすく改善
コンテンツタイプの検索結果で、検索対象の文字列がどのコンテンツフィールドに含まれているかがわかるように表示を改善しました。
コンテンツタイプ型コンテンツフィールドでのコンテンツデータの選択画面の改善
コンテンツタイプ型のコンテンツフィールドで他のコンテンツタイプのデータを関連させる場合に、素早く探せるように検索機能を追加しました。
サーバー配信関連の改善・強化
サーバー配信機能は、ソフトウェア版の Movable Type Advanced および Movable Type クラウド版(以下MTクラウド)のみで提供する機能となります。
サーバ配信メニューの独立化
サーバー配信のメニューはサイトの設定の中にありましたが、利用者の利用頻度や利便性を考え、左メニューに独立して表示させるようにしました。
Cloudflare R2への配信
サーバー配信の配信方法(配信先)として、Cloudflare R2に対応しました。MTクラウドではS4以上のプランで利用可能です。
Amazon S3への配信
サーバー配信の配信方法(配信先)として、Amazon S3に対応しました。MTクラウドではS4以上のプランで利用可能です。
その他の改善点、修正された問題は最後に記載しています。
開発者の皆様向けの具体的な情報
廃止予定の機能やライブラリの変更等があります。一部の機能はすでにリリース済みです。
MT8 で廃止した機能
利用頻度の少ないと思われる機能や、歴史的に役割を終えたと考えられる機能について、廃止することにしました。また、廃止に合わせてコードの削除も行っていく予定ですので、これらの機能に依存したプラグインも動作しなくなります。
- XMLRPC API, Atom Publishing API
- ログフィード (Activity Feeds)
- クイック投稿 (Quick Post, 旧ブックマークレット)
- トラックバックの送受信
- 更新Pingの送信
- コメント機能の一部 (Facebook Commenter, Spam Lookup)
- mt-testbg.cgi や mt-ftsearch.cgi など CGI の一部
- OpenID プラグイン
- GoogleAnalytics プラグイン(ユニバーサル アナリティクス版)
- ヨーロッパ言語サポート (de, fr, es, nl)
- 英語と日本語のみ継続します
- 古い JavaScript ライブラリ群
MT8 での非互換改善
安定運用やセキュリティの向上のため、旧来のバージョンとの互換性に影響がある変更を行いました。
- パッケージ構成の見直し
システム領域とユーザ領域の明確な分離、mt-static 内のユーザ領域を外部にしました
既に導入済みの機能
- MT::Util::Deprecated の導入 (r.5001)
削除予定のコードが利用されるとログが出力される
プラグインやカスタマイズでの内部コードの利用を検知し、ログに出力します。廃止されるまえに対処してください - extlib のアップデート (r.5301、r.5401)
古いバージョンのモジュールへの依存に注意してください
今後もアップデートを継続していきます - Data API v5 (r.5401)
metaWeblogAPI (XMLRPC) / Atom API にしかなかった機能を追加
OpenAPI JSON Schema にはすでに対応 (r.5201) - Data API v6 (r.5404)
Stats の Limit パラメータのデフォルト値を 10 から 50 に変更 - 内部処理の最適化 (r.5404)
再構築が 10% 程度高速になりました
動作速度やメモリ使用量の改善、エラーや警告の発生頻度が低減します
パフォーマンス改善は継続して行っています
管理画面で利用している主なライブラリの変更
- TinyMCE6対応 (r.5401)
リッチテキストエディタ、ブロックエディタが対象
継続してアップデートしていきます - Bootstrap5対応 管理画面の切り替え機能 (テーマ) (r.5404)
管理画面の変更に伴いカスタマイズでのトラブルを軽減できる見込みです
Bootstrap v5.x (v5.1.3) に対応した管理画面のテーマを実装済み
管理画面の切り替え機能で、旧来のものと並行してテーマとして提供します
これまでのアナウンスからの変更
これまでに Movable Type 8 での変更点としてニュースやセミナーでアナウンスしてきた内容からの変更点です。
- リスティング、コンテンツタイプの編集画面など利用されているライブラリをRiot.jsからSvelte.jsに変更する>Movable Type 8 のリリースには含みません
- 画像挿入ウィンドウの改善>Movable Type 8 のリリースには含みません
- ブロックエディタを活用した新テーマBlock>デベロッパープレビュー版には含まれませんが、正式版のリリースまでにリリースする予定です
- プラグイン機構の見直し>変更が必要なくなりました
動作環境・検証環境
基本的に従来と変わりませんが、サポートするバージョンを一部変更します。
- Linux/Unix (Mac)、Windows Server
- MySQL, MariaDB, Oracle, SQL Server
- PSGI / CGI (PSGI での動作を強く推奨)
- Perl 5.16.3 - 5.36.1 (そのときの最新版まで)
PHP 7.4 - 8.2 (そのときの最新版まで)
AMI 版 の新規提供OSは Amazon Linux 2023 にのみ対応
- Movable Type 7 (Amazon Linux 2) からのアップグレードが可能
バージョン表示、リリースサイクルの変更
MT8 ではリビジョン表示を止め、バージョン表記にします。バージョンの表記は 8.0.1: 8.<minor>.<patch> とする予定です。
- パッケージリリースは年に1回秋頃を予定、LTS 版を2年に一度リリースします
- リリース後のメンテナンスではパッチバージョンをアップします
- AMI 版のリリースはソフトウェア版に準じます
- MTクラウドは 3カ月に1回のリリースを継続します
ライフサイクルポリシーの変更
これまでは EOS (End of Sales)、EOM (End of Maintenance)、EOL (End of Life) といったマイルストーンを設定していましたが、基本、最新版のみをメンテナンスの対象にします。
- クラウド版は3カ月ごとにマイナーバージョンアップし自動アップデートが適用されます。自動アップデートについては、30日間はアップデートの適用を遅らせることができます
- 1年ごとのソフトウェア版のリリース時に、前のバージョンは EOS/EOM とします
- ソフトウェアリリースには、2年ごとに LTS (Long Term Support) を設定します LTS版は EOS/EOM 後、2年間のセキュリティアップデートを提供します 非LTS版は、EOM と同時に EOL としますので、最新版への追従をお願いします
ソフトエア版には2年ごとに LTS を設定します。
- LTS版は EOS/EOM 後、2年間のセキュリティアップデートを提供します
- 非LTS版は、EOM と同時に EOL としますので、最新版への追従をお願いします
詳しくは「Movable Type 8 以降のプロダクト・ライフサイクルポリシーについて」のページをご覧ください。
その他の新機能・改善点、修正された問題
新機能・改善した機能
- ユーザー作成後にウェブサイトを作成する (MTC-28888)
- Perl のサポート下限を5.16に変更する (MTC-28717)
- 再構築トリガーのping送信オプションをなくす (MTC-26646)
- ダッシュボード左上の製品名にメジャーバージョンを追加する (MTC-29022)
- 削除された TinyMCE プラグイン用のリポジトリ公開 (MTC-28975)
- フッターのバージョン表記の変更 (MTC-29008)
- ブロックエディタ : 新規インストール時にはBlockEditorを無効にする (MTC-28989)
- TinyMCE 6.5.1 対応 (MTC-28937)
- adodb 5.22.6 対応 (MTC-28936)
- jQuery を 3.7.0 に更新する (MTC-28908)
- 管理画面の bootstrap5 テーマの名前を admin2023 に変更する (MTC-28947)
- 記事・ページのリスティング画面に作成日を表示する (MTC-28814)
- プラグイン一覧で deprecated ログを表示する (MTC-28836)
- 検索結果が125件以上の場合の説明文を下側にも表示する (MTC-28903)
- コンテンツデータの検索・置換結果にidentifier(出力ファイル名)を表示する (MTC-28827)
- 検索結果の編集リンクが場所を取らないように改善する (MTC-28826)
- mt-static/data-api に v5, v6 追加 (MTC-28853)
修正された問題
- S3/R2 関連の環境変数をクラウド版で更新可能にする (CLOUD-318)
- 環境変数の値を空にしたいときに引用符の組を空文字列がわりに使えるようにする (CLOUD-308)
- Bootstrap5 対応中に発生した data-target のリグレッションを修正する (MTC-29013)
- LPWx::ParanoidAgent に依存しないようにする (MTC-28470)
- L10N 項目を更新する (MTC-29003)
- 記事の新規作成時の表示オプションのチェックボックスが重なって表示される (MTC-29004)
- mt を MT のエイリアスにするのをやめる (MTC-28164)
- build ディレクトリ配下のツールの shebang 行を変更する (MTC-28995)
- GA4 連携時に DataAPI で Statistics の値を取得すると null が返ってくる項目がある (MTC-28885)
- プラグイン等の中でMTApp:Settingなどのタグを使うと、<_transsection> が付いてしまう (MTC-28992)
- GoogleAnalytics のプロファイルの選択後に、選択してあるかどうかがわかりにくい (MTC-27150)
- ニュースなどのURLを指定する環境変数の初期設定を変更する (MTC-28990)
- ThemeStaticFileExtensions の初期値を変更する (MTC-28988)
- DataAPI の Stats リソースの内容を GA4 にあわせて修正する (MTC-28985)
- MT::ConfigMgr の autovivification による警告を防ぐ (MTC-28942)
- ブロックエディタの画像選択画面のページャ部分に (currnt) が表示されていた (MTC-28980)
- サーバー配信履歴の配信方法を画像からテキストに変更する (MTC-28959)
- グローバルデストラクション時には save_config を実行しないようにする (MTC-28960)
- MT::ConfigMgr 内部では不必要に instance を呼ばないようにする (MTC-28961)
- MT::ConfigMgr の dirty フラグの扱いを見直す (MTC-28965)
- ハッシュ型の MT 環境変数に = をふくむ値を設定できるようにする (MTC-28966)
- MT::Util::Archive 内部の eval 判定を改善する (MTC-28969)
- 7.9.4以前からのアップグレード時にサイトの作成日時を更新してしまう (MTC-28967)
- 検索アイコンのuuvを解消する (MTC-28948)
- theme.yaml でデフォルトの記事・ページを追加するときに basename パラメータの値が適用されない (MTC-28963)
- リスティングフレームワークの list_header テンプレートが AdminThemeId に対応していない (MTC-28954)
- MT::Upgrade::Core の中で正しく config の保存ができていなかった (MTC-28956)
- Sync.pack の bootstrap5 対応漏れを修正する (MTC-28958)
- 管理画面右サイドパネルのウィジェットが非表示にならない (SUPPORT-265)
- 検索時にcache_keysが存在しないときはキャッシュを使わないようにする (MTC-28927)
- 拡張子なしのファイルを画像として扱う場合に未定義値の警告が出ないようにする (MTC-28926)
- 関連付け一覧で未定義値の警告が出ないようにする (MTC-28925)
- プラグイン経由で追加されるメニューに不備があっても未定義値の警告が出ないようにする (MTC-28924)
- applytextfilters で未定義値の警告が出ないようにする (MTC-28923)
- (regex_)replaceモディファイアが未定義値の警告を出さないようにする (MTC-28922)
- MTSetVar でのuuvを回避する (MTC-28932)
- リストアクションでコンテンツデータを削除した際の uuv を回避する (MTC-28939)
- モディファイアの対象が未定義値になった場合に uuv を回避する (MTC-28935)
- SearchMaxResultsに非数値を設定したときのuuvを回避する (MTC-28933)
- MT->model の引数が空のとき uuv を回避する (MTC-28934)
- エラーの発生するプラグイン(.pl形式)があると、プラグインによる object_types の追加が処理されないことがある (MTC-28867)
- メニューに view の項目がない場合の初期値にwebsiteを追加する (MTC-28928)
Bootstrap 5 で各種モーダルをCancelするとJSエラーが発生する (MTC-28870)
廃止された機能
MT8 までに廃止済みの環境変数を削除する (MTC-28986)
- MT8 で廃止予定とした機能を実際に削除する (MTC-28862)
- OpenIDの依存モジュールやその判定情報を削除する (MTC-29005)
- OpenID関連機能を削除する (MTC-27297)
- 多言語対応のスタイルファイルを削除する (MTC-28983)
- flash関連のファイルを削除する (MTC-28981)
- GoogleAnalytics プラグインを廃止する (MTC-28974) なお、Google Analytics4対応のプラグインは別になり廃止されません
- spamlookup プラグインを削除する (MTC-28972)
- TinyMCE (無印、TinyMCE 4向け)プラグインを削除する (MTC-28971)
- rpt_logモード関連のファイルを削除する (MTC-27332)
- Activity Feeds 関連のファイルや設定を削除する (MTC-28953)
- MT::Util::Deprecated で廃止の警告を出している機能を実際に削除する (MTC-28863)
- FacebookCommenters プラグインを削除する (MTC-28941)
- Trackback プラグインを削除する (MTC-28940)
- mt-testbg.cgi を削除する (MTC-28920)
- フリーテキスト検索関連のファイルや設定を削除する (MTC-28919)
- クイックポスト関連のファイルや設定を削除する (MTC-28918)
- AtomPub関連のファイルや設定を削除する (MTC-28917)
- XMLRPC関連のファイルや設定を削除する (MTC-28882)
- ヨーロッパ言語のL10Nファイルと関連データを削除する (MTC-28880)