詳説 Data API
MTDDC 拡張版 - v3対応
MTDDC Meetup TOKYO 2015
Nov 28, 2015
YUJI TAKAYAMA @ Six Apart
My Social
icon
yuji
yuji
Yuji Takayama
YUJI TAKAYAMA
Six Apart, Ltd.
Senior Product Manager
Movable Type Lead Engineer
シックス・アパートで、働き始めて9年目
Movable Type 一筋
好きなタグは <MTAssetProperty>
Movable Type 6.2
Minor Release
Movable Type 6.2.2
Maintenance Release
What’s new in MT 6.2
Multiple File Upload
Drag & Drop
Default Upload Destination
Rename Filename Automatically
Custom Upload Destination
From 6.2.2
Edit Asset Data On The Fly
Resize / Rotate / Cropping
Remove EXIF/GPS
Other things
特定の PSGI アプリケーションの実行を禁止できるように
非公開イベントをマルチブログのトリガーとして利用可能に
外部サイトと SSL 通信をおこなう際の SSL 証明書の検証方法
を設定できるように
Perl 5.18.x / 5.20.x を正式サポート
Movable Type
Data API 3.0
REST/JSON API for every websites and applications
Released with Movable Type 6.2 on Oct 8, 2015
Data API Overview
Data API Overview
REST/JSON を用いた標準的 Web API
API はバージョンごとに呼び出し可能
MT のユーザー管理を API でもそのまま利用可能
プラグインによる拡張が可能
JavaScript / Swift SDK ライブラリ
Data API v3
/authentication エンドポイントでの認証パスワードを「ログ
インパスワード」から「web サービスパスワード」に変更
セキュリティへの配慮
GET	
  /v3/authentication?	
  
clientId=testClient	
  
username=YOUR_ACCOUNT&	
  
password=YOUR_WEB_SERVICES_PASSWORD
Data API v3
list 系のエンドポイントで日付による絞込が可能に
より柔軟かつ適切なデータの抽出が可能
GET	
  /v3/sites/:site_id/entries?	
  
dateFrom=2015-­‐11-­‐01&	
  
dateEnd=2015-­‐11-­‐30
Why Data API?
PC やスマートフォンに限らず Web の世界は広がっていく
スマホ対応だけがマルチデバイス対応ではなくなっていく
フロントエンドだけでもリッチな表現は実現可能
Perl 以外の言語から Movable Type が利用できる
CMS で管理するコンテンツを API で利用する
Build web
pages
Responsive Web Design
<html>
Content
Templates
Before Data API
Build web pages
Web pages
Mobile Applications
Templates
TV Watch
fridgeCar
Digital
Signage
Data API
<html>
Content
Data API
Any Devices
Other Services
After Data API
Case of Data API
Data API Case 1 - COACH UNITED
• トップページの記事一覧を
Data API で無限スクロール
• ページ遷移が必要ない
• 【利用者目線】気になる記
事を探しやすく
• 【制作者目線】ページ分割
のための再構築が不要 = 負
荷が低減
http://coachunited.jp/
Data API Case 2 - ワンダードライビング
• エンドポイントを独自拡張
• Google Analytics と連携し、
アクセス数の多い記事をラ
ンキング表示
• 記事のサムネイルを生成
• 静的生成 + ダイナミックコ
ンテンツ
http://wonderdriving.com/
Data API Case 3 - 関連記事の表示
• 記事のタグを元に関連する
記事を動的に表示する
• 古い記事でも再構築なしで
情報がリアルタイムに表示
できる
• MTML + Data API
http://movabletype.jp/
Data API Case 4 - Movable Type Writer
• Google Chrome App
• HTML + JavaScript + CSS
• AngularJS + Bootstrap
• Movable Type の管理画面
を使わずにユーザーニーズ
に応える
• コンテンツに合わせて画面
をカスタマイズする
Data API Case 5 - Kintone plugin
• サイボウズ kintone から
Movable Typeへ Data API
で投稿HTML + JavaScript
+ CSS
• ワークフローに強い
kintone と MTML で自由な
デザインができる Movable
Type のコラボ
• それぞれの強みを活かせる
http://radical-bridge.com/product/kintone-mt-plugin.html
Data API Case 6 - Nintendo 3DS
• Nintendo 3DS でとった写
真を、Data API を利用して
Movable Type にアップロー
ドすることで、自前のフォ
トギャラリーを運営
• 写真を取り出してアップロー
ドするという手間がいらな
い
http://www.slideshare.net/kaorislideshare/six-apart
Data API Case 7 - オレグラム
• Data API で作成したウェブサ
イト & サービスのデモ
• バックエンドのプログラミン
グは一切なし。プラグインも
なし
• ファイルのアップロード、サ
ムネイル作成、バックグラウ
ンド再構築
• Data API を使えば、サービス
のバックエンドとして
Movable Type を利用可能
Data API Case 8 - ProNet 検索
http://www.sixapart.jp/pronet/
• カテゴリ、カスタムフィー
ルドによる絞り込み検索
• Data API で検索を実施
• Data API の実行は、AWS
上に構築した Movable
Type for AWS
• ウェブサイト用のデータベー
ス (RDS) を共有
Data API Case 9 - アクセスランキング
• Google Analytics と連携
• Data API で Google Analytics
のアクセス数を取得し、ア
クセスランキングを生成
http://www.movabletype.jp/blog/data-api-v2-06.html
Data API Case 10 - Movable Type for iOS
• Swift ライブラリを使った
iOS 用ネイティブアプリ
• ネイティブアプリだからこ
そのサクサク動作
• 必要最小限の API 呼び出し
• オフラインへの対応
http://www.sixapart.jp/movabletype/mtios/
DEMO
Scenario
CLI で Movable Type を操作
Data API を使って MT からログを取得
取得したログをログ解析ツールに処理させる
エラーやセキュリティ上の問題を早期発見
https://github.com/yuji/mtlog/blob/master/mtlog.go
Source Code
Other examples…
Active Directory へのアカウント登録と連動して Movable
Type にユーザーを登録する
商品DBへの登録と連動して、Movable Type に商品の記事を
作成する
$	
  mt	
  user	
  add	
  userdata.json
$	
  mt	
  entry	
  add	
  product.json
DEMO Part2
Scenario
写真投稿ウェブサービス
スマホのアプリから投稿
スマホアプリとウェブ
http://54.65.19.34/	
  
user:	
  melody	
  
password:	
  mel0dynels0n
Mobile
Applications
Web Browser
Upload
Rebuild main index
Make thumbnail
Movable Type w/ Data API
Knowledge
http://www.movabletype.jp/developers/data-api/
Documentation Portal
Movable Type でのサイト構築や、プラグイン開発をしながら、
「なんでこうなるの…」とか「こういうことできるのかな?」
などと思うことはありませんか? そんなときは、ぜひ MT
Live! にお越しください。
時間中は出入り自由。好きな時間にお越しいただき、作業を
しながら、わからないところが出てきたときに質問すれば OK
です。Six Apart の MT 開発エンジニアが必ず参加しています
ので、質問にお答えします。
その他、MT のスペシャリストの方々が毎回参加されています。
雑談 OK ですので、ぜひ気軽に話しかけてください。
申し込みは不要です。毎回 Facebook にイベントを立ててい
ますので、よろしければそちらで参加表明をお願いします!
毎月第 2・第 4 水曜日 16:00 ∼ 20:00
MT Live!―― 悩みはココで解決! Movable Type に関するよろず相談・質問受け付けます ――
10 月 7 日(Co-Edo) 10 月 28 日(TAM)
11 月 11 日(Co-Edo) 11 月 25 日(TAM)
12 月 9 日(Co-Edo) 12 月 未 定(TAM)
シックス・アパートの Facebook ページ
をフォローしてください。
最新のイベント情報をお届けします。
第 2 水曜 会場
コワーキングスペース茅場町 Co-Edo
※利用料:2 時間 500 円/ 1 日 1000 円
第 4 水曜 会場
TAM 東京 コワーキングスペース
※利用料:無料(一般利用はできません)
――― 年内の開催予定 ―――
Have fun with Data API!
One more thing…
2015
Movable Type を CMS として使用してウェブサイトを構築するとき、
「コレは入れるよね!」というお気に入りのプラグインを投票していただき、
2015年の「Movable Type プラデミー賞」を決定します。
http://www.movabletype.jp/blog/mt-pludemy-award-2015.html
https://www.sixapart.jp/inquiry/jobs-engineer.html
Thank you for listening
See you later!

詳説 Data api mtddc 拡張版 v3対応

  • 1.
    詳説 Data API MTDDC拡張版 - v3対応 MTDDC Meetup TOKYO 2015 Nov 28, 2015 YUJI TAKAYAMA @ Six Apart
  • 2.
    My Social icon yuji yuji Yuji Takayama YUJITAKAYAMA Six Apart, Ltd. Senior Product Manager Movable Type Lead Engineer シックス・アパートで、働き始めて9年目 Movable Type 一筋 好きなタグは <MTAssetProperty>
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
    Default Upload Destination RenameFilename Automatically
  • 8.
  • 9.
    Edit Asset DataOn The Fly
  • 10.
    Resize / Rotate/ Cropping Remove EXIF/GPS
  • 11.
    Other things 特定の PSGIアプリケーションの実行を禁止できるように 非公開イベントをマルチブログのトリガーとして利用可能に 外部サイトと SSL 通信をおこなう際の SSL 証明書の検証方法 を設定できるように Perl 5.18.x / 5.20.x を正式サポート
  • 12.
    Movable Type Data API3.0 REST/JSON API for every websites and applications Released with Movable Type 6.2 on Oct 8, 2015
  • 13.
  • 14.
    Data API Overview REST/JSONを用いた標準的 Web API API はバージョンごとに呼び出し可能 MT のユーザー管理を API でもそのまま利用可能 プラグインによる拡張が可能 JavaScript / Swift SDK ライブラリ
  • 15.
    Data API v3 /authenticationエンドポイントでの認証パスワードを「ログ インパスワード」から「web サービスパスワード」に変更 セキュリティへの配慮 GET  /v3/authentication?   clientId=testClient   username=YOUR_ACCOUNT&   password=YOUR_WEB_SERVICES_PASSWORD
  • 16.
    Data API v3 list系のエンドポイントで日付による絞込が可能に より柔軟かつ適切なデータの抽出が可能 GET  /v3/sites/:site_id/entries?   dateFrom=2015-­‐11-­‐01&   dateEnd=2015-­‐11-­‐30
  • 17.
    Why Data API? PCやスマートフォンに限らず Web の世界は広がっていく スマホ対応だけがマルチデバイス対応ではなくなっていく フロントエンドだけでもリッチな表現は実現可能 Perl 以外の言語から Movable Type が利用できる CMS で管理するコンテンツを API で利用する
  • 18.
    Build web pages Responsive WebDesign <html> Content Templates Before Data API
  • 19.
    Build web pages Webpages Mobile Applications Templates TV Watch fridgeCar Digital Signage Data API <html> Content Data API Any Devices Other Services After Data API
  • 20.
  • 21.
    Data API Case1 - COACH UNITED • トップページの記事一覧を Data API で無限スクロール • ページ遷移が必要ない • 【利用者目線】気になる記 事を探しやすく • 【制作者目線】ページ分割 のための再構築が不要 = 負 荷が低減 http://coachunited.jp/
  • 22.
    Data API Case2 - ワンダードライビング • エンドポイントを独自拡張 • Google Analytics と連携し、 アクセス数の多い記事をラ ンキング表示 • 記事のサムネイルを生成 • 静的生成 + ダイナミックコ ンテンツ http://wonderdriving.com/
  • 23.
    Data API Case3 - 関連記事の表示 • 記事のタグを元に関連する 記事を動的に表示する • 古い記事でも再構築なしで 情報がリアルタイムに表示 できる • MTML + Data API http://movabletype.jp/
  • 24.
    Data API Case4 - Movable Type Writer • Google Chrome App • HTML + JavaScript + CSS • AngularJS + Bootstrap • Movable Type の管理画面 を使わずにユーザーニーズ に応える • コンテンツに合わせて画面 をカスタマイズする
  • 25.
    Data API Case5 - Kintone plugin • サイボウズ kintone から Movable Typeへ Data API で投稿HTML + JavaScript + CSS • ワークフローに強い kintone と MTML で自由な デザインができる Movable Type のコラボ • それぞれの強みを活かせる http://radical-bridge.com/product/kintone-mt-plugin.html
  • 26.
    Data API Case6 - Nintendo 3DS • Nintendo 3DS でとった写 真を、Data API を利用して Movable Type にアップロー ドすることで、自前のフォ トギャラリーを運営 • 写真を取り出してアップロー ドするという手間がいらな い http://www.slideshare.net/kaorislideshare/six-apart
  • 27.
    Data API Case7 - オレグラム • Data API で作成したウェブサ イト & サービスのデモ • バックエンドのプログラミン グは一切なし。プラグインも なし • ファイルのアップロード、サ ムネイル作成、バックグラウ ンド再構築 • Data API を使えば、サービス のバックエンドとして Movable Type を利用可能
  • 28.
    Data API Case8 - ProNet 検索 http://www.sixapart.jp/pronet/ • カテゴリ、カスタムフィー ルドによる絞り込み検索 • Data API で検索を実施 • Data API の実行は、AWS 上に構築した Movable Type for AWS • ウェブサイト用のデータベー ス (RDS) を共有
  • 29.
    Data API Case9 - アクセスランキング • Google Analytics と連携 • Data API で Google Analytics のアクセス数を取得し、ア クセスランキングを生成 http://www.movabletype.jp/blog/data-api-v2-06.html
  • 30.
    Data API Case10 - Movable Type for iOS • Swift ライブラリを使った iOS 用ネイティブアプリ • ネイティブアプリだからこ そのサクサク動作 • 必要最小限の API 呼び出し • オフラインへの対応 http://www.sixapart.jp/movabletype/mtios/
  • 31.
  • 32.
    Scenario CLI で MovableType を操作 Data API を使って MT からログを取得 取得したログをログ解析ツールに処理させる エラーやセキュリティ上の問題を早期発見
  • 33.
  • 34.
    Other examples… Active Directoryへのアカウント登録と連動して Movable Type にユーザーを登録する 商品DBへの登録と連動して、Movable Type に商品の記事を 作成する $  mt  user  add  userdata.json $  mt  entry  add  product.json
  • 35.
  • 36.
  • 37.
    Mobile Applications Web Browser Upload Rebuild mainindex Make thumbnail Movable Type w/ Data API
  • 38.
  • 39.
  • 40.
    Movable Type でのサイト構築や、プラグイン開発をしながら、 「なんでこうなるの…」とか「こういうことできるのかな?」 などと思うことはありませんか?そんなときは、ぜひ MT Live! にお越しください。 時間中は出入り自由。好きな時間にお越しいただき、作業を しながら、わからないところが出てきたときに質問すれば OK です。Six Apart の MT 開発エンジニアが必ず参加しています ので、質問にお答えします。 その他、MT のスペシャリストの方々が毎回参加されています。 雑談 OK ですので、ぜひ気軽に話しかけてください。 申し込みは不要です。毎回 Facebook にイベントを立ててい ますので、よろしければそちらで参加表明をお願いします! 毎月第 2・第 4 水曜日 16:00 ∼ 20:00 MT Live!―― 悩みはココで解決! Movable Type に関するよろず相談・質問受け付けます ―― 10 月 7 日(Co-Edo) 10 月 28 日(TAM) 11 月 11 日(Co-Edo) 11 月 25 日(TAM) 12 月 9 日(Co-Edo) 12 月 未 定(TAM) シックス・アパートの Facebook ページ をフォローしてください。 最新のイベント情報をお届けします。 第 2 水曜 会場 コワーキングスペース茅場町 Co-Edo ※利用料:2 時間 500 円/ 1 日 1000 円 第 4 水曜 会場 TAM 東京 コワーキングスペース ※利用料:無料(一般利用はできません) ――― 年内の開催予定 ―――
  • 41.
    Have fun withData API!
  • 42.
  • 43.
    2015 Movable Type をCMS として使用してウェブサイトを構築するとき、 「コレは入れるよね!」というお気に入りのプラグインを投票していただき、 2015年の「Movable Type プラデミー賞」を決定します。 http://www.movabletype.jp/blog/mt-pludemy-award-2015.html
  • 44.
  • 45.
    Thank you forlistening See you later!