本日、10月8日は Movable Type の誕生日。今年で16周年となるらしい。
一昨日の10月6日、東京にて Movable Type のカンファレンス「MTDDC 2017」が行われた。
各地のコミュニティが行う、MTDDC Meetupではなく、Six Apart社が公式に行う MTDDC は4年ぶりとなる。
今回のMTDDCは、2018年4月に正式リリースとなる新バージョンの「Movable Type 7」のデベロッパープレビュー版が公開され、その新機能やロードマップが発表となった。
前回の「Movable Type 6」では、Data APIというウェブAPIの実装がメインとなり、Movable Typeでのデータアクセスが柔軟になったが、今回は管理画面が大きく変更されるという噂がかねてよりあったため、参加して直接話を聞いてきた。
結果として、コンテンツを管理するための新たな概念が加わり、大きく変わった部分がありながら、下位互換は担保されているため、利用者としては根本的に変わるというほどでもなかった。そう見えるように設計されているとも言える。
ただ、Movable Type 6 以降に発信されていたメッセージや、他のCMSなどが向かっている方向を考えると、予想に反する変更とはいえず、どちらかというとオールドタイプなツールであるMovable Typeで、上手くまとめたなという印象だ。
構築するときにどう考える?
まずは「生まれかわる Movable Type」として、取締役CTOの平田氏からキーノートがあった。ここでは Movable Type の特徴やニーズとともに、Movable Type 7の開発コンセプトや新たに導入された「コンテンツタイプ」というものの説明があった。
https://speakerdeck.com/hirata/mtddc-2017-keynote-mt-7-concept
次に、Movable Type プロダクトマネージャー・リードエンジニアである高山氏のセッション。より具体的に「コンテンツタイプ」と全体の「情報構造」の変更点についての説明がされた。
これまで、Movable Typeでサイトの実装を考えるとき、まずはサイトのどの部分を「ウェブページ」とし、どの部分を「記事」にするか考える。また、トップページやインデックスページは「(インデックス)テンプレート」で作る。
WordPressでいうところの「記事」と「固定ページ」と「テーマの編集」でインデックスのテンプレートを作るかという感じだろうか、
Movable Typeの場合、そのほかに「ブログ」を作るということが考えられる。サイト内に複数の更新コンテンツがある場合は、ウェブサイト内に「ブログ」を作成することもでき、その中にも「記事」と「ウェブページ」を作ることもできる。サイト内の更新権限を分けたい場合も、「ブログ」として分けて作る。
例えば、企業サイトでトップページのお知らせなどは、「ウェブサイト」の「記事」で実装するとして、「製品情報」「お客様の声」「Q&A」「IR情報」などをそれぞれ「ブログ」として、同じ「ウェブサイト」の中に独立して「ブログ」とすることで、データは共有しつつ、権限などもそれぞれ分けることができる。
しかし、これをよくよく考えると不思議な話だ。「製品情報」も「お客様の声」も「Q&A」も「IR情報」もブログなのだ。もちろん、企業ブログもブログなのだが、「ブログ」がブログとして使われているのはどれくらいあるだろうか。
しかも、ブログ以外の場合は入力項目も「タイトル」と「本文」以外にも欲しくなる。例えば、製品番号や料金、スペックなどの項目が欲しくなる。そんな時は、記事やウェブページを拡張するために「カスタムフィールド」なるもので構築していく必要がある。
これをシンプルに構築し直した感じだ。
コンテンツに合わせて入力画面を作る「コンテンツタイプ」
まず、「ウェブサイト」と「ブログ」の区別がなくなった。どちらも「サイト」だ。「サイトグループ」で、親サイト - 子サイトという構造は保てるようだ。
そして、「記事」「ウェブページ」など、決められたものがあるわけではなく、いずれも「コンテンツタイプ」として集約された。
任意で「コンテンツタイプ」を作成し、その中のタイトルや本文のような入力フォームなどは「コンテンツフィールド」として自由に設置できるようになる。これは、イメージとしては従来の「カスタムフィールド」と同じだ。標準でカスタムフィールドを使って1から作る感じとも言える。これに伴い「カスタムフィールド」はなくなるようだ。
そして、「記事」「ウェブページ」も「コンテンツタイプ」の1つということになる。無理やり、コンテンツを記事とウェブページに分ける必要はなくなるわけだ。アップデートした場合は、「コンテンツタイプ」の1つとして登録できるらしい。
また、便利そうなのが、コンテンツタイプ内の「コンテンツフィールド」ごとに権限を設定できるようでもある。これは、どこまで細かくできるかは、一度インストールして確認したいところだが、今まで、特定の場所を変更するだけなのに、ウェブサイト全体の編集権限が必要であったりと、やや困るところがあった部分ではある。
2018年4月には未実装のようで、まずMovableType.netに実装されるというワークフロー機能もかなり実用性が高いもののよう。これも楽しみである。
ブログを捨てた Movable type 7
高山氏のセッションで、途中「ブログ、やめました」というスライドが印象的だった。しかし、なるほど、と感じた。ある意味、その一言に集約されているといえる。
ご存知のように、16年前にブログ(ウェブログ)を更新しやすくなるための「ブログツール」として登場した Movable Type は、元々はブログを構築するためのツールだった。
徐々にブログ以外のサイトでも構築されていくようになって、ブログの記事以外に、ウェブページなども構築できるようになったり、複数のブログを内包するサイトを構築できるようになったりと、単純なブログ以外にも対応すべく「ブログ」をベースに機能拡張をしていった経緯がある。
「ブログ」をベースに拡張してきたのだ。
今や単純なブログの構築の方がレアケースになっているにもかかわらず、ブログをベースにしているための足かせもある。また、本来のCMSは、コンテンツを管理するためのシステムだが、これまではページごとでしか管理できず、ページ内のブロックは、機能を拡張したカスタムフィールドで行っていくしかない。コンテンツという意味では、実際はページ単位では大きすぎるケースは、全然あるわけだ。
つまり、これを解決するには、ブログというものをベースにすることを捨てる必要があったのだと思われる。とはいえ、抜本的に変えるのはとても大変だ。旧バージョンからのアップグレードにも対応する必要はあるだろうし、あまりにも操作性や機能が変わりすぎてもついていけない。
今回のバージョンアップで「ブログ」を捨て、汎用的に「コンテンツタイプ」を導入するのは必須だが、これまでのカスタムフィールドに近い形で混乱するほどではない。この辺りのまとめ方は現実的でもあり、これによって、現在では使いにくい部分も解消するものは多そうだ。
とはいえ、もちろん全ての不満が解消するわけでもなければ、少し使ってみないと、他に問題点もあるかもしれない。期待したいワークフロー機能もまだまだ実装は先のようだ。
しかし、全体としては、まっとうな進化をしているように感じた内容であり、今後も期待したいところである。