MOVABLETYPE 6
OVERVIEW
~ PLAY WITH API ~
2013.8.3 (Sat) MTDDCTokyo
YujiTakayama
MovableType Engineer, Six Apart, Ltd.
13年8月3日土曜日
MT6:約4年ぶりのメジャーアップデート
13年8月3日土曜日
MT6:約4年ぶりのメジャーアップデート
拍手する所ですよ
13年8月3日土曜日
TODAY’S AGENDA
• What’s new in MT6
• New Features
• Improvement
• What’s new API
• The point of upgrade
• Plugin Directory Renewal
13年8月3日土曜日
WHAT’S NEW IN MT6
13年8月3日土曜日
NEW LOGO
13年8月3日土曜日
•5 new features
•3 improvement
•1 new application
13年8月3日土曜日
SCHEDULED UN-PUBLISHING
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
SCHEDULED UN-PUBLISHING
• 記事とページに対して公開終了日を設定可能
• 公開終了処理は run_periodic_tasks で実行
• 公開終了ステータスになった記事とページを一覧
• 公開終了した記事とページは改めてステータスを変え
て公開する事もできる
13年8月3日土曜日
SCHEDULED UN-PUBLISHING
• 指定日公開と指定日公開終了を同時に利用する事で、
指定された期間だけ公開される記事とページを作れる
• 手動で公開終了ステータスに変更はできないです
• 公開終了処理時にコールバックあります
13年8月3日土曜日
SCHEDULED UN-PUBLISHING
YAML
callbacks:
unpublish_past_entries: $YOUR::CALLBACK::HANDLER
Perl
MT->add_callback( ‘unpublish_past_entries’, 5, &your_handler );
13年8月3日土曜日
SCHEDULED UN-PUBLISHING
sub my_callback_handler {
my ( $cb, $mt, $entry) = @_;
# Do Something
}
Arguments
$mt: Instance of MovableType (Not MT::App, MT object)
$entry: Unpublished entry(or page) object
13年8月3日土曜日
GOOGLE ANALYTICS
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
<MT:StatsSnippet>
• アクセス解析サービスの提供する JavaScript を出力
• StatsProvider 側で実装する
• Google Analytics Providerは、Google AnalyticsのJavaScriptコ
ードの中に自動的にアカウントIDを埋め込んで出力
13年8月3日土曜日
EXTENDS STATS PROVIDER
YAML
stats_providers:
OtherService:
provider: OtherService::Provider ←パッケージ名を指定
13年8月3日土曜日
EXTENDS STATS PROVIDER
package OtherService::Provider;
sub is_ready {
# should return true value if this provider is configured
# and usable
}
sub snipet {
#should return tracking code (JS or something?)
}
13年8月3日土曜日
EXTENDS STATS PROVIDER
sub pageviews_for_path {#Do something }
sub visits_for_path {#Do something }
sub pageviews_for_date {#Do something }
sub visits_for_date {#Do something }
Parameters:
startDate
endDate
offset
limit
path
13年8月3日土曜日
EXAMPLE
/MT_HOME/plugins/GoogleAnalytics/lib/GoogleAnalytics/Provider.pm
13年8月3日土曜日
NOTIFICATION CENTER
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
NOTIFICATION CENTER
YAML
callbacks:
set_notification_dashboard: $YOUR::CALLBACK::HANDLER
Perl
MT->add_callback( ‘set_notification_dashboard’, 5,
&your_handler );
13年8月3日土曜日
NOTIFICATION CENTER
sub my_handler {
my ( $cb, $messages ) = @_;
my @notifications = ({
level => 'error',
text => MT->translate('Error'),
detail => MT->translate('You have an error.'),
});
push @{ $messages }, @notifications;
}
Level: error, success, warning
13年8月3日土曜日
NOTIFICATION CENTER
• Dashboardにアクセスする時にコールバックが実行され
るので、あまり重い処理を記述するのはお奨めしませ
ん・・・。
• textに指定した内容は、管理者以外のユーザーにも表示
されるのた、セキュリティ関係は表示しない方がいい
です・・・。
13年8月3日土曜日
WEBSITE MANAGEMENT
13年8月3日土曜日
13年8月3日土曜日
WEBSITE MANAGEMENT
• ウェブサイト上に記事を書くことができるように
• カテゴリーの作成ももちろんできます
• ”ブログ”テーマを適用することができるように
• <MT:Blog....>系のタグを<MT:Website...>に書き換える
必要はありません
• 基本コンセプトは小規模(ウェブサイト1,2個)から、
大規模(ウェブサイト複数個、子ブログ複数個)まで
13年8月3日土曜日
WEBSITE MANAGEMENT
• MT4以前のバージョンからのアップグレード時に、ブ
ログをウェブサイトに分解しません
• 全て”ウェブサイト”にする事でアップグレード前の
構造を維持します
• MT5以降のバージョンからのアップグレード時は、特
に変更をしません(既存の構造をそのままにします)
13年8月3日土曜日
WEBSITE MANAGEMENT
• テンプレートの中で、ウェブサイトのコンテクストを
自動判別するようになりました
13年8月3日土曜日
WEBSITE MANAGEMENT
これまで
<mt:IfBlog>
<mt:BlogParentWebsite>
<mt:WebsiteName>
</mt:BlogParentWebsite>
<mt:Else>
<mt:WebsiteName>
</mt:IfBlog>
13年8月3日土曜日
WEBSITE MANAGEMENT
これから
<mt:WebsiteName>
13年8月3日土曜日
DASHBOARD
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
DASHBOARD
• すっきりと生まれ変わりました
• This isYou widget がサイドに移動
• Flash ベースの Blog Stats widget を廃止して、Movable
Type Chart API ベースの widget になりました
• 後方互換性の為に Blog Stats widget を表示する事もで
きます (EnableBlogStats)
13年8月3日土曜日
SITE STATS WIDGET
• ウェブサイト、ブログの10日分の記事数をグラフに
• Google Analytics を設定すれば、PageViews もグラフに
反映されます
• 実は、Pluggable なので、プラグインからグラフデー
タを追加する事もできる
13年8月3日土曜日
EXTENDS SITE STATS
YAML
applications:
cms:
site_stats_lines:
key_for_graph:
hlabel:‘Label for the line’
handler: $YOUR::HANDLER
condition: $YOUR::CONDITION::HANDLER
13年8月3日土曜日
EXTENDS SITE STATS
hlabel: グラフのポイントに表示されるラベル名
handler: グラフデータを返すハンドラー
condition: handlerに指定されたコードを実行するかどうか
    指定が無ければ毎回実行
13年8月3日土曜日
EXTENDS SITE STATS
sub my_handler {
my ( $app, $ten_days_ago_tl, $param ) = @_;
# Do something
return %results; # Key:YYYY-MM-DD /Value: Count
}
Arguments
$app: MT::App::CMS object
$ten_days_ago_tl: gmtime array of date of 10 days ago
$param: Optional parameter hash
13年8月3日土曜日
EXAMPLE
/MT_HOME/lib/MT/CMS/Dashboard.pm
13年8月3日土曜日
CATEGORY ARCHIVE
13年8月3日土曜日
13年8月3日土曜日
13年8月3日土曜日
CATEGORY ARCHIVE
• 全般設定 - アーカイブ設定で設定を有効にすると、
記事がないカテゴリーアーカイブを出力されます
• デフォルトでは、設定は無効になってます
13年8月3日土曜日
LOUPE
13年8月3日土曜日
13年8月3日土曜日
LOUPE
• JavaScript + MovableType Data API + Chart API を用いた
リファレンス アプリケーション
• スマートフォン向けの Web アプリケーション
• ただのサンプルではなく普段使いができる
• MITライセンスで公開
https://github.com/movabletype/mt-plugin-Loupe
13年8月3日土曜日
LOUPE
• 実はPluggable
• Card と呼ばれるウィジェッ
トを自分で開発することが
できる
• 近日中に Card の作成方法
のドキュメントを公開予定
13年8月3日土曜日
MOVABLETYPE DATA API
13年8月3日土曜日
MOVABLETYPE DATA API
• REST API
• MT Authentication
• JavaScript Library
• Pluggable
• CGI based API
13年8月3日土曜日
http://pages.apigee.com/web-api-design-ebook.html
13年8月3日土曜日
REST API
Create Read Update Delete
Entry    
Comment    
Trackback   
User  
Site(Blog,Website) 
Category 
Site Statistics 
Asset 
ex) http(s)://<your-server>/<your-mt>/mt-data-api.cgi/v1/sites/2/entries
13年8月3日土曜日
https://github.com/movabletype/Documentation/wiki/Quick-reference
13年8月3日土曜日
curl -i http://localhost/cgi-bin/mt/mt-data-api.cgi/v1/sites/1
HTTP/1.1 200 OK
Date: Fri, 02 Aug 2013 13:12:10 GMT
Server:Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15
X-content-type: nosniff
Cache-control: no-cache
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8
{"name":"First Website","archiveUrl":"http://localhost/blogs/
20130731-1/","url":"http://localhost/blogs/
20130731-1/","id":"1","class":"website","description":null}
13年8月3日土曜日
MT AUTHENTICATION
• 公開されていない記事や、コメントなどの更新・削除
には、認証が必要
• 認証は、CMS と同じ MT 認証+ Role ベース
• 既存の権限ルールをそのまま適用できる
• もちろん、公開済みの記事の内容などは認証なしで取
得できる
13年8月3日土曜日
curl -i http://localhost/cgi-bin/mt/mt-data-api.cgi/v1/users/me
HTTP/1.1 401 Authorization Required
Date: Fri, 02 Aug 2013 13:14:54 GMT
Server:Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15
X-content-type: nosniff
Cache-control: no-cache
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8
{"error":{"code":401,"message":"Unauthorized"}}
13年8月3日土曜日
curl -i -d clientId=test -d username=takayama -d password=password http://
localhost/cgi-bin/mt/mt-data-api.cgi/v1/authentication
HTTP/1.1 200 OK
Date: Fri, 02 Aug 2013 13:20:08 GMT
Server:Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15
X-content-type: nosniff
Cache-control: no-cache
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8
{"accessToken":"MAQgv0HhhN82CQm88aP6r0QjtYpvRtMm8cS0av7E","session
Id":"Z9STct7OztObi6Bd4aDMH8qcZBbPh6mlxpkh5yQo","expiresIn":
3600,"remember":false}
13年8月3日土曜日
curl -H "X-MT-Authorization: MTAuth
accessToken=MAQgv0HhhN82CQm88aP6r0QjtYpvRtMm8cS0av7E" -i http://
localhost/cgi-bin/mt/mt-data-api.cgi/v1/users/me
HTTP/1.1 200 OK
Date: Fri, 02 Aug 2013 13:31:13 GMT
Server:Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15
X-content-type: nosniff
Cache-control: no-cache
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8
{"email":"ytakayama@sixapart.com","userpicUrl":null,"language":"ja","url":null,"name
":"takayama","updatable":true,"id":"1","displayName":"YujiTakayama"}
13年8月3日土曜日
curl -i http://localhost/cgi-bin/mt/mt-data-api.cgi/v1/users/1
HTTP/1.1 200 OK
Date: Fri, 02 Aug 2013 13:34:34 GMT
Server:Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15
X-content-type: nosniff
Cache-control: no-cache
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8
{"email":"ytakayama@sixapart.com","userpicUrl":null,"language":"ja","url":null,"upda
table":false,"displayName":"YujiTakayama"}
13年8月3日土曜日
JAVASCRIPT LIBRARY
• REST API の呼び出しをラッピングした、JavaScript ライ
ブラリを提供
• 他の言語についても(需要次第で)順次サポート予定
(時期未定)
• MIT で提供中
13年8月3日土曜日
var api = new MT.DataAPI({
baseUrl: "https://your-host/mt/mt-data-api.cgi",
clientId: "your-client-id"
});
api.listEntries(siteId, function(response) {
if (response.error) {
// Handle error
return;
}
for (var i = 0; i < response.items.length; i++) {
var entry = response.items[i];
// Render an entry
}
});
13年8月3日土曜日
var api = new MT.DataAPI({
baseUrl: "https://your-host/mt/mt-data-api.cgi",
clientId: "your-client-id"
});
api.getToken(function(response) {
if (response.error) {
if (response.error.code === 401) {
// You have not been authenticated yet.
location.href = api.getAuthorizationUrl(location.href);
} else { /* Handle error */ }
} else {
// You have been authenticated.
api.listEntries(siteId, {status: 'Draft'}, function(response) {
if (response.error) { /* Handle error */ return; }
// Fetched a list of drafts.
for (var i = 0; i < response.items.length; i++) {
var entry = response.items[i];
// Render an entry
}
});
}
});
13年8月3日土曜日
var api = new MT.DataAPI({
baseUrl: "https://your-host/mt/mt-data-api.cgi",
clientId: "your-client-id"
});
var params = {
search: "foo",
searchFields: "title,body",
fields: "assets,author,title,permalink,body,categories"
};
api.listEntries(siteId, params, function(response) {
if (response.error) {
// Handle error
return;
}
for (var i = 0; i < response.items.length; i++) {
var entry = response.items[i];
// Render an entry
}
});
13年8月3日土曜日
https://github.com/movabletype/mt-data-api-sdk-js
13年8月3日土曜日
PLUGGABLE
• REST API のエンドポイントは、MT のレジストリで管理
• プラグインから、エンドポイントの追加が可能
• 出力形式を追加する事が可能
• MT6.0 では、JSON 形式をサポート
• プラグインによる実装方法のドキュメントを近日公開
13年8月3日土曜日
YAML
applications:
data_api:
endpoints:
- id: list_foobar
route: /sites/:site_id/foobars
verb: GET
version: 1
handler: $Core::MT::API::Endpoint::FooBar::list
requires_login: 0
default_params:
limit: 10
offset: 0
sort_by: authored_on
sort_order: descend
search_fields: title,text,text_more,keywords
error_codes:
403:blah blah blah
13年8月3日土曜日
CGI BASED API
• データ構造だけを返すので、ページ生成を伴うCGIより
は軽量ではある
• とはいえ、CGI であるので、起動時のオーバーヘッド
はやはりある
• PSGI などの永続化環境で実行することを推奨
• フロントサーバーでキャッシュするのも効果的
13年8月3日土曜日
DATA API - USE CASES
• MT の管理画面をカスタマイズせずに、ユーザー専用
の管理画面を作る
• 公開されているサイト側で・・・
• Pagination
• mt-search.cgi に変わる検索エンジン
• コミュニティサイトは Community.Pack より作りやす
い気がする
13年8月3日土曜日
MOVABLETYPE CHART API
13年8月3日土曜日
CHART API
• Flash ベースの Blog Stats を何とかしたくて開発
• Loupe でも使いたいと思ってスマフォ対応
• MT 無しでも使えると、公開サイト側でも使えていい
かも?と思って、独立した JavaScript で開発
• MITで公開
https://github.com/movabletype/mt-chart-api-sdk-js
13年8月3日土曜日
13年8月3日土曜日
CHART API
• Morris.JS / Easel をグラフ描画エンジンとして採用
• グラフの種類によって、それぞれのエンジンを利用
• 一部のブラウザでは Canvas が使えなかったりするの
で、環境に応じて別エンジンで描画を続行
13年8月3日土曜日
CHART API
Internet Explorer
Google Chrome
Safari
FireFox
Android
13年8月3日土曜日
<html>
<head>
<link rel="stylesheet" href="/mt-static/chart-api/mtchart.css">
<script src="/mt-static/jquery/jquery.min.js"></script>
<script src="/mt-static/chart-api/mtchart.min.js"></script>
<script>
$(function(){
var config = {
data: [
{ x: '2013-04', y: '123' },
{ x: '2013-05', y: '235' },
{ x: '2013-06', y: '76' }
]}
var range = {
dataType: 'general', length: 3
}
new MT.ChartAPI.Graph(config, range)
.trigger('APPEND_TO', $('#graph'));
})
</script>
</head>
<body>
<div id="graph" style="width: 500px;"></div>
</body>
</html>
13年8月3日土曜日
<html>
<head>
<link rel="stylesheet" href="/mt-static/chart-api/mtchart.css">
<script src="/mt-static/jquery/jquery.min.js"></script>
<script src="/mt-static/chart-api/mtchart.min.js"></script>
<script>
$(function(){
var config = {
data: [
{ x: '2013-04', y: '123' },
{ x: '2013-05', y: '235' },
{ x: '2013-06', y: '76' }
]}
var range = {
dataType: 'general', length: 3
}
new MT.ChartAPI.Graph(config, range)
.trigger('APPEND_TO', $('#graph'));
})
</script>
</head>
<body>
<div id="graph" style="width: 500px;"></div>
</body>
</html>
13年8月3日土曜日
<html>
<head>
<link rel="stylesheet" href="/mt-static/chart-api/mtchart.css">
<script src="/mt-static/jquery/jquery.min.js"></script>
<script src="/mt-static/chart-api/mtchart.min.js"></script>
<script>
$(function(){
var config = {
data: [
{ x: '2013-04', y: '123' },
{ x: '2013-05', y: '235' },
{ x: '2013-06', y: '76' }
]}
var range = {
dataType: 'general', length: 3
}
new MT.ChartAPI.Graph(config, range)
.trigger('APPEND_TO', $('#graph'));
})
</script>
</head>
<body>
<div id="graph" style="width: 500px;"></div>
</body>
</html>
13年8月3日土曜日
$(function(){
var data = [
{ x: '2013-04', y: '123', y1: '90' },
{ x: '2013-05', y: '235', y1: '128' },
{ x: '2013-06', y: '76', y1: '283' }
];
var config = {
data: data,
type: 'morris.donut',
autoResize: true,
yLength: 2
}
var range = {
dataType: 'general',
length: 3
}
new MT.ChartAPI.Graph(config, range)
.trigger('APPEND_TO', $('#graph'));
})
13年8月3日土曜日
https://github.com/movabletype/Documentation/wiki/Movable-type-chart-api
13年8月3日土曜日
THE POINT OF UPGRADE
13年8月3日土曜日
THE POINT OF UPGRADE
• Transformer をご利用の皆様
• User Dashboard のThis isYou を移動した
• 記事/ページ編集画面に公開終了日の項目を追加した
• Blog Stats が無くなって、Site Stats になった
• Notification Centerのメッセージバーが出る領域
13年8月3日土曜日
THE POINT OF UPGRADE
• Plugin 開発者の皆様
• Callback や API レベルで変更した点はほとんどない
• レジストリの変更はない
• ウェブサイトで記事が作れることにより、ブログの
み対応していた記事・カテゴリ系のプラグインは対
応が必要になると想定されます
13年8月3日土曜日
THE POINT OF UPGRADE
• Theme 開発者の皆様
• ウェブサイトでブログのテーマが利用可能になるの
で、”class: Blog” と指定していても、ウェブサイトで
適用されます
• “class:Website”と指定されているテーマは、旧バージ
ョン同様にウェブサイトでのみ利用可能です
13年8月3日土曜日
PLUGIN DIRECTORY
RENEWAL
13年8月3日土曜日
PLUGIN ANDTHEME
DIRECTORY
• 現在提供しているプラグイン&テーマディレクトリを
日米ともに完全リニューアル
• 本日よりベータオープン
• http://beta.plugins.movabletype.jp
• http://beta.plugins.movabletype.org
13年8月3日土曜日
13年8月3日土曜日
PLUGIN ANDTHEME
DIRECTORY
• 現行サイトに登録されている方も改めてユーザー登
録、プラグイン・テーマの登録をお願いします
13年8月3日土曜日
PLUGIN ANDTHEME
DIRECTORY
• github と連動することで、バージョンアップ時の情報
更新を自動化
• github レポジトリの Service Hooks に 更新通知を設定す
るだけ
13年8月3日土曜日
PLUGIN ANDTHEME
DIRECTORY
• 一度の登録で日本語サ
イト、英語サイトの両
方に登録される
• 説明分の翻訳は運営サ
イドで実施
13年8月3日土曜日
PLUGIN ANDTHEME
DIRECTORY
• 最新の MovableType 開発コードで構築
• フリーワード検索には Data API による検索を搭載
• プラグインの互換性レポート、github の スター数表示
などの機能も追加していく予定
• ベータなので問題あったらレポートください・・・
13年8月3日土曜日
PLUGIN ANDTHEME
DIRECTORY
• 正式オープンは MovableType 6 のリリースと同時期を
予定
• ベータ中に登録していただいた内容は、そのまま正式
オープンするサイトにも残ります
13年8月3日土曜日
ANY QUESTIONS?
13年8月3日土曜日
MOVABLETYPE
HACK-A-THON
13年8月3日土曜日
久しぶりにやります
13年8月3日土曜日
お題
Movable Type 6 に対応したプラグイン、アプリケーション、
テーマなどをワイワイと作る。
アイディアを口にすると誰かが作ってくれるかもしれない
日時
2013.8.4 (Sun)
10:00 開場 ~ 18:00 発表会
場所 シックス・アパート本社(赤坂)
持ち物 PCとハッカー魂、デザイナー魂
参加費 ¥0 無料
その他
昼食、スナック、飲み物など用意あります。
Movable Type エンジニアに直接質問したり要望を伝えるチャンス
13年8月3日土曜日
13年8月3日土曜日
ビールもあるよ
13年8月3日土曜日
THANKYOU FOR LISTENING
13年8月3日土曜日

More Related Content

PDF
Movable Type 6 Overview SPEC2
PDF
Movable Type 6 Overview - New York Perl Mongers Tech Talk
PDF
Complex Event Processing on Ruby, Fluentd and Norikra #rubykaigi
PDF
Data API と flexibleSearch、MTAppjQuery で広がるMT6の使い方
PDF
スマフォ時代に乗り遅れない為のレスポンシブ・ウェブデザイン
PDF
Should we write such like plugin or not?
PDF
Rails勉強会東京第35回プラグインLt大会@Unshiu
PDF
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Movable Type 6 Overview SPEC2
Movable Type 6 Overview - New York Perl Mongers Tech Talk
Complex Event Processing on Ruby, Fluentd and Norikra #rubykaigi
Data API と flexibleSearch、MTAppjQuery で広がるMT6の使い方
スマフォ時代に乗り遅れない為のレスポンシブ・ウェブデザイン
Should we write such like plugin or not?
Rails勉強会東京第35回プラグインLt大会@Unshiu
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)

Similar to Mtddc2013: Movable Type 6 Overview (10)

PDF
世界をかえちゃったかもしれないFOSS4G
PDF
Movable type 6 Overview (2013.10.24)
PDF
Amazon Aurora 最新アップデートと日本のお客様の移行事例
PDF
JDK8で変わるJavaプログラミング
PPTX
メタプログラミングRuby勉強会#7(fluentプラグイン)
PPTX
インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】
PDF
QtとC++でGUIプログラミング
PDF
170827 jtf garafana
PDF
GContractsの基礎
PDF
Mtddc kyusyu-lightningtalks
世界をかえちゃったかもしれないFOSS4G
Movable type 6 Overview (2013.10.24)
Amazon Aurora 最新アップデートと日本のお客様の移行事例
JDK8で変わるJavaプログラミング
メタプログラミングRuby勉強会#7(fluentプラグイン)
インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】
QtとC++でGUIプログラミング
170827 jtf garafana
GContractsの基礎
Mtddc kyusyu-lightningtalks
Ad

More from Yuji Takayama (20)

PDF
Movable Type 7 のすべて
PPTX
詳説 Movable type 7
PDF
Data API ことはじめ
PDF
概説 Data API v3
PDF
詳説 Data api mtddc 拡張版 v3対応
PDF
初めての Data api cms どうでしょう - 大阪夏の陣
PDF
Data apiで実現 進化するwebの世界
PDF
初めての Data API CMS どうでしょう - 仙台編 -
PDF
Movable Type for AWS Hands-on
PDF
初めての Data api
PDF
Data API + AWS = (CMS どうでしょう 札幌編)
PDF
Data API 2.0
PDF
Movable Type for AWS - JAWS-UG 沖縄 CMS祭り!
PDF
MT東京03 - Movable Type for AWS
PDF
Data api workshop at Co-Edo
PDF
Mtとクラウドと私
PDF
Movable Type 6 overview spec3
KEY
Movable Type 5.2 Overview at MTDDC 2012
KEY
Phpで作るmovable typeプラグイン
PDF
ダイナミック:Plugin
Movable Type 7 のすべて
詳説 Movable type 7
Data API ことはじめ
概説 Data API v3
詳説 Data api mtddc 拡張版 v3対応
初めての Data api cms どうでしょう - 大阪夏の陣
Data apiで実現 進化するwebの世界
初めての Data API CMS どうでしょう - 仙台編 -
Movable Type for AWS Hands-on
初めての Data api
Data API + AWS = (CMS どうでしょう 札幌編)
Data API 2.0
Movable Type for AWS - JAWS-UG 沖縄 CMS祭り!
MT東京03 - Movable Type for AWS
Data api workshop at Co-Edo
Mtとクラウドと私
Movable Type 6 overview spec3
Movable Type 5.2 Overview at MTDDC 2012
Phpで作るmovable typeプラグイン
ダイナミック:Plugin
Ad

Mtddc2013: Movable Type 6 Overview