movable type 6 overview spec3
TRANSCRIPT
VISION OF MOVABLE TYPE 6
• Concept • Simple: シンプルに使える。シンプルに作る。
• Smart: スマートに使える。スマートに作る。
• Speedy: 軽快なレスポンス。軽く作る。早く動く。
• Compatibility • プラグインの互換性を重視
• 管理画面の DOM 構造は基本的に MT5.2 互換
• Cloud Ready • Movable Type をクラウド環境で動かす
• クラウド上のデータやサービスと連係する
CHANGES IN MOVABLE TYPE 6
• 新しいロゴ
• 新しいライセンス体系
• MTOS の廃止
• Amazon AWS Marketplace
• 700 件以上のバグ修正 •テンプレートエンジンの高速化
NEW LOGO
Care Movable Type の原点でもある、コンテンツを大 切に扱うという思いをプラットフォームに反映 させていきたい。 !
Maturity 長くブログシステムとして支持されてきた経験 を活かし、より成熟したプラットフォームに育 て上げていきたい。 !
Delight ニーズが思い通りの型になるプラットフォームを目 指したい。
NEW LICENSES
• 通常ライセンス
• クラウド版(旧 MTEZ)
• ソフトウェア版(ユーザー数無制限)
• 開発者ライセンス
• プラグイン、ソリューションの開発や検証目的
• ハンズ オン セミナーでも利用可能
• 個人無償ライセンス
• 個人的な利用(お金のニオイがしない)に限り無償で利用可能
• プラグインやテーマを MIT で公開
WEBSITE MANAGEMENT IMPROVEMENT
ウェブサイトだけで記事を投稿できる
MT4からアップグレードしても構造は同じ
ブログのテーマを使える
ブログで MTWebsite* のタグの利用がラク
MTWEBSITE*
これまで <mt:IfBlog> <mt:BlogParentWebsite> <mt:WebsiteName> </mt:BlogParentWebsite> <mt:Else> <mt:WebsiteName> </mt:IfBlog>
ウェブサイトとブログ、共通のテンプレートモジュールで
ウェブサイトの名前を取りたいだけなんです・・・
GOOGLE ANALYTICS
• 取得できるデータ
• URL を元にしたページビューの数
• 日付を元にしたページビューの数
• URL を元にしたユニークユーザー数
• 日付を元にしたユニークユーザー数
• アクセス解析用の JavaScript を出力するテンプレートタグ • MT:StatsSnippet
SCHEDULED UNPUBLISHING
記事・ウェブページで公開終了日時を設定
run_periodic_tasks で処理
公開終了となった記事・ウェブページを一覧
指定日公開と組み合わせて時限公開
SCHEDULED UNPUBLISHING
• 公開終了した記事とページは改めてステータスを変えて公開する事もできる
• 手動で公開終了ステータスに変更はできない
• 公開終了の処理実行時にコールバックがあるので、非公開にされたタイミングでメールを送信するプラグインなどを作れる Callback: unpublish_past_entries
SITE STATS WIDGET
• ウェブサイトやブログ毎に10日分の記事数をグラフ化
• Google Analytics の設定を行うと、ページビューもグラフ化
• プラグインからグラフを追加することもできる
• たとえば、EC サイトなら売り上げをだすなど
• EnableBlogStats 環境変数を有効にすると、Blog Stats ウィジェットを表示することもできる(後方互換性)
• Morris.JS / Easel をグラフ描画のライブラリとして利用
•グラフの種類によって使い分け
•一部のブラウザでは、キャンバスなど使えない機能があるので、他の方法でレンダリングするようにフォールバック
•マルチブラウザ対応
https://github.com/movabletype/mt-chart-api-sdk-js
MOVABLE TYPE DATA API - BACKGROUND
• XMLRPC, ATOM よりも軽量で使いやすい API
• Content Is Everywhere • マルチデバイス
• Web だけじゃない世界
• ダイナミック・コンテンツ
• 画面書き換え系プラグインによらない管理画面の提供
• 新しい管理画面・管理体系への布石
REST API
Create Read Update DeleteEntry O O O O
Comment O O O OTrackback O O O
User O OSite(Blog, Website) O
Category OSite Statistics O
Asset O
ex) http(s)://<your-server>/<your-mt>/mt-data-api.cgi/v1/sites/2/entries
https://github.com/movabletype/Documentation/wiki/Quick-reference
MT AUTHENTICATION
• 公開されていない記事やコメントなどの更新や削除には、認証が必要
• 認証は、管理画面と同様に MT 認証 + Role ベースの権限が必要
• Data API へのアクセスにも管理画面と同様、これまで通りの柔軟な権限管理ができる
• 公開済みの記事などは、認証無しでも取得できる
• 公開したくない情報は、MT の環境変数で制御できる
JAVASCRIPT LIBRARY
• Data API の呼び出しをラッピングした JavaScript ライブラリを MIT ライセンスで提供
• 他の言語についても、(需要次第で)サポート予定
• ブラウザ毎の作法の違いを吸収
CGI BASED
• API では、データ構造のみを出力するので、管理画面などの CGI よりは高速に動作する
• CGI で動いている事に変わりは無いので、起動時のオーバーヘッドは若干ある
• PSGI などの永続化環境で動作させることを推奨
• ウェブサーバー側でキャッシュするなども有効
USE CASES
• 管理画面では・・・
• 管理画面の書き換えプラグインによらない管理画面の提供
• ユーザーの役割に応じた管理画面を作成する
• MT のバージョンアップのたびにドキドキしなくてすむ
• ALT-TMPL でも同様のことはできるが、MT の画面体系が変わると動かなくなる・・・
USE CASES
• 公開されているサイト側で・・・
• ページ送りをmt-search.cgi や ダイナミックパブリッシングに頼らない
• mt-search.cgi を使わない検索
• サイト側で記事の編集
• コミュニティサイトやミニブログのようなものも
USE CASES•スマフォや他のサイトから・・・
• Loupe のようなスマフォアプリ
• もちろん、ネイティブアプリも
• 他のサイトから、Movable Type に溜まっているコンテンツを利用する
• コンテンツとHTMLを分離
• サーバー配信(マルチサーバー対応コンテンツ同期)
• クラウド版で提供していた機能を MTA でも
• アイテム機能の強化、見直し
• クラウド対応、ネットワークリソース
• Data API 強化
• カテゴリ、アイテム
• メッセージセンター
• CustomFields 見直し
• TinyMCE 4