45
詳説 Data API MTDDC 拡張版 - v3対応 MTDDC Meetup TOKYO 2015 Nov 28, 2015 YUJI TAKAYAMA @ Six Apart

詳説 Data api mtddc 拡張版 v3対応

Embed Size (px)

Citation preview

詳説 Data API MTDDC 拡張版 - v3対応MTDDC Meetup TOKYO 2015

Nov 28, 2015 YUJI TAKAYAMA @ Six Apart

My Social

icon

yuji

yuji

Yuji Takayama

YUJI TAKAYAMASix 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

fridgeCarDigital

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…

2015Movable 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 listeningSee you later!