Movable Type 7への要望

Movable Type 6がリリースされてから、2年強が経過しました。
来年あたり、メジャーバージョンアップしてMovable Type 7になるのではないかと思います。
Movable Type Advent Calendarの15日目として、Movable Type 7にこんな機能が欲しいということを書いてみます。

権限管理の強化

現状のMovable Typeでは、権限はブログ(またはウェブサイト)の単位で設定するようになっています。
しかし、もっと細かな単位で権限を設定したい場面もあります(記事ごと、ウェブページごと、カテゴリごとなど)。

例えば、ユーザーごとに記事を投稿できるカテゴリを制限したいという話は、よく聞きます。
ところが、現状ではそのようなことはできないので、ブログを分けて対処することが多いです。
ただ、ブログを分けると再構築が複雑になったり、ブログをまたがるアーカイブを出力できなかったりと、制限がいろいろでてきます。

権限管理はプラグインではどうにかしづらい部分なので、コアでの機能実装を期待します。

ウェブサイト/ブログ間の連携の強化

現状のMovable Typeでは、ウェブサイトの配下にブログを配置する形になっていて、両者にはある程度の親子関係があります。
ただ、ウェブサイト/ブログ間の連携が十分とは言えません。
よく聞く話として、以下のようなことがあります。

  • ウェブサイトのアーカイブで、配下のブログの記事をまとめたアーカイブページを出力したい
  • ウェブサイトに作ったカテゴリを、配下のブログで共有したい
  • ウェブサイトに作ったカスタムフィールドを、配下のブログで共有したい

これらもプラグインでどうにかするのは困難なので、コアでの実装を期待したいです。

静的ページ分割機能

Movable Typeは、公開サーバーと、Movable Typeを入れるサーバーを分けて、Movable Typeを外に見せたくない案件で使われることも多いです。
このような案件で、メインページやアーカイブページを分割しようとすると、現状はPageButeプラグインぐらいしか選択肢がありません。

ただ、PageButeプラグインでは、動作原理上、記事が増えるとタイムアウトが発生してしまいます。
タイムアウトを発生させずに静的にページ分割するには、コアの再構築のロジックを変えて、コアで静的ページ分割に対応する必要があると思います。

データ設計をより柔軟に

Movable TypeはブログからCMSへと変化してきたソフトです。
そのため、現在もブログ的な部分が色濃く残っています。
しかし、汎用的なCMSとして使う場合、データ構造的にブログとはあまり合わない場合もあります。

そこで、データ設計をより柔軟に行える仕組みが欲しいです。
現状でもプラグインを作れば独自のデータ構造を追加することはできますが、そこをもっと簡単に行えるようになると良いと思います。

また、アーカイブ出力機能がブログを前提としたものになっていて、汎用性が不足しているという問題もあります。
様々な形でアーカイブを出力できるような仕組みも欲しいところです。

Data APIの強化

Data APIは登場から時間がたち、Movable Typeの管理画面で行えることの大半を、Data APIでも行えるようになりました。
ただ、Data APIはHTTPを通してアクセスするので、多数のリクエストを行うと、パフォーマンス的にネックがあります。

そこで、複数のリクエストを一括で出せるような仕組みが欲しいです。
例えば、記事編集画面をData APIで作る場合だと、記事を取得するAPIと、カテゴリを取得するAPIを、1回のリクエストで行いたいです。
また、多数の記事をData APIで一括登録する場合も、記事を1件登録するごとにリクエストを出すと時間がかかりますので、1回のリクエストで複数の記事をまとめて登録したいです。

さらに、Data APIのライブラリも増やしていただきたいところです。
現状では純正ライブラリはJavaScript用とSwift用の2種類ですが、Java用ライブラリ(特にAndroid用)や、Ruby用などがあると、活用の幅が広がって良いと思います。