20070824 MT-DEVCON
-
Upload
yuji-takayama -
Category
Technology
-
view
1.713 -
download
1
description
Transcript of 20070824 MT-DEVCON
Movable Type 開発者向けカンファレンス2007824
(c) 2007 Six Apart Ltd
本日のお題
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
bull新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
本日のお題
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
bull新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
bull新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
bull新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
bull新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
bull新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
bull新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
本日のお題
bull自己紹介
bullMTのPlugin開発とは
bullTransformerの謎
bullDashboard Widgetで色々管理
bull新しいAssetTypeを追加する
bull新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
自己紹介
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
自己紹介
bull 高山 裕司(たかやま ゆうじ)
bull 入社1年半
bull Movable Type開発チーム所属
bull PostgreSQL使ってます
bull 最近はemacsです
bull プラグインもたまに作ります
bull httptakayamavoxcom
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
PostVoxとか
ThisIsGoodとか
作りました
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
この辺読むと良いと思うhttpwebsig247jpdoc14thwebsig14th_cheebowpdf
MTのPlugin開発とは
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
それだとすぐに終わってしまうので
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Why plugin
bullPlugin vs Customizebull Customizeを行うと色々問題
bull バージョンアップの度に同じ事の繰り返し
bull 製品サポートは受けられない
bull 自己責任
bull Pluginで出来ることはPluginに
bull Pluginで出来ないことは是非フィードバックフォームに
bull もしかすると検討されるかもしれない
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Pluginで出来ること
bull 新しいTemplate Tagを作る
bull 新しいModifier(旧姓グローバルフィルタ)を作る
bull MTの管理画面をTransformする
bull Spamと闘う
bull (コールバック)イベントに応じてごにょごにょ
bull オレオレフォーマットのインポーターを作る
bull 新しいオブジェクトを作る
bull etc
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
Transformerの謎
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MTと言えば
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformer
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Unicron (MTE15)
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
開発コードネームにもhellip
Wheeljack(幻のMT35)Unicron (MTE15)
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
ちなみにMT4からは
ばとるすたーぎゃらくてぃか
Battle Star Galactica
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerとは
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerとは
bull MTの管理ページUIをカスタマイズできる
bull MT33から導入
bull MT32の頃にはBigPAPIで実現されていた
bull 例えばRightFieldsやTiny MCE for MTとか
bull 表示しているメッセージを変えて大阪弁UIとか作れちゃう
bull まるで現実的ではないですけど
bull メニューにプラグインの呼び出しを追加したり出来る
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
これまでの問題点
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
これまでの問題点
bull 管理画面のテンプレートが書き換わるとまったく動作しない 正規表現を使っているから
bull 複数のTransformer Pluginを入れると挙動がおかしい Transform後のテンプレートが変わってたりする
bull 使い方が難しい AppTemplateSourceAppTemplateParamAppTemplateOutputをどう使い
分けるの
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MT4のTransformer
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MT4のTransformer
bull 管理ページがMTTemplate化された
bull IDベースのDOMライクな操作が可能に
bull レジストリのサポート
bull レジストリを使うことでTransformerせずに済む場合も
bull AppTemplateSourceParamOutputの使い分けが明確に
bull AppTemplateSourceコンパイルされる前のテンプレートを取得可能(コード)
bull AppTemplateParamMTTemplateオブジェクトとしてテンプレートを取得可能
bull AppTemplateOutputHTMLにコンパイルされたテンプレートを取得可能
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MTTemplateMTTemplateが提供するメソッド
bull getElementsByTagName
bull getElementsByClassName
bull getElementsByName
bull getElementById
bull createElement
bull createTextNode
bull insertAfter
bull insertBefore
bull childNodes
bull hasChildNodes
bull appendChild
bull setAttribute
bull getAttribute
bull template
bull nextSibling
bull previousSibling
bull firstChild
bull lastChild
bull parentNode
bull childNodes
bull hasChildNodes
bull nodeType
bull nodeName
bull nodeValue
bull innerHTML
bull appendChild
bull removeChild
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MTTemplateを使ってみるpackage MTPluginSampleTransfomer
~ 中略 ~
MT-gtadd_callback( MTAppCMStemplate_paramedit_entry 9 $plugin ampadd_field )
sub add_field my ( $eh $app $param $tmpl ) = _ return unless UNIVERSALisa( $tmpl MTTemplate )
my $innerHTML my $host_node = $tmpl-gtgetElementById(tags) my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello ) my $word = ltstronggtHello Transformerltstronggt $child_node-gtinnerHTML($word) $tmpl-gtinsertBefore( $child_node $host_node )
1
テキスト
Transformer Callbackの登録
IDがrsquotagsrsquoのMTタグを取得
新しいElementを作成
新しいElementの内容を追加
新しいElementを挿入
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
MT-gtadd_callback( template_paramedit_entry 9 $plugin ampadd_field )
1TransformerのCallbackを追加する
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
my $host_node = $tmpl-gtgetElementByI(tags)
2 IDが「tags」というMTタグを取得する
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
my $child_node = $tmpl-gtcreateElement( appsetting id =gt hello label =gt Hello )
3 IDが「hello」というmtappsettingタグを生成する
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
my $word = ltstronggtHello Transformerltstronggt$child_node-gtinnerHTML($word)
4 生成したタグに内容をセットする
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
$tmpl-gtinsertBefore( $child_node $host_node)
5 生成したタグをテンプレートに挿入する
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerの勘所
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Transformerの勘所
bull 注意点bull getElementXXXはMTタグ要素に対してのみ操作が可能bull HTML要素は取得できない
bull MTタグ要素のnameアトリビュートの先頭にMTは不要bull ex) MTInclude rarr name =gt Include
bull Callback名が変わってますbull AppTemplateSourcexxx rarr template_sourcexxx
bull AppTemplateParamxxx rarr template_paramxxx
bull AppTemplateOutputxxx rarr template_outputxxx
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
レジストリでTransformerinit_registryで関連するレジストリに登録をする
$plugin-gtregistry( applications =gt cms =gt menus =gt toolsversion =gt label =gt Running Version order =gt 1000 view =gt system handler =gt sub
レジストリーapplicationscmsmenus に追加している
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
Dashboard Widgetで色々管理
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
Dashboard(ダッシュボード)
Widget(ウィジェット)
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Dashboard Widget
bull DashboardはMTの新しいトップページ
bull DashbordにはWidgetを表示させる
bull Widgetはユーザー毎に表示内容のカスタマイズが可能
bull WidgetはPluginで追加が出来る
bull ちなみにBlog Statsに新しいStats Graphを追加することも出来る
bull WrdPressに似てるとか言わない
bull うまく使えばCMSを超えたものも作れるかもしれない
bull 掲示板カレンダーメールアドレス帳etc
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Widgetを作る
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Widgetを作る1 標準的なPluginを作成する
2 init_registry でWidgetを登録する
3 Widgetの処理を記述する
4 Widgetのテンプレートを作成する
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
標準なPluginを作るmy $plugin = __PACKAGE__-gtnew( name =gt Widget Sample version =gt $VERSION description =gt Widget Sample author_name =gt Six Apart Ltd author_link =gt httpwwwsixapartcom )MT-gtadd_plugin($plugin)
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
init_registryで登録$plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Widgetの処理を記述sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
テンプレートを作成するltmtappwidget class=widget label=Sample Widget can_close=1gt ltdiv class=boxgt ltstronggtlt$mtvarname=hello$gtltstronggt ltdivgtltmtappwidgetgt
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Widget完成package MTPluginSampleWidget
~中略~
sub init_registry my $plugin = shift $plugin-gtregistry( applications =gt cms =gt widgets =gt SampleWidget =gt label =gt Sample Widget template =gt tmplwidgettmpl handler =gt amp_hdlr_widget set =gt sidebar singular =gt 1 )
sub _hdlr_widget my $app = shift my ( $tmpl $param ) = _
$param-gthello = Hello $app-gtuser-gtnickname
1
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Blog Statsを拡張する
bullBlog Stats Widgetbull これまでに投稿したブログ記事やコメント数を視覚化
bull Flashで実現
bull XMLデータを読み込ませることでグラフを表示
bull Google Analytics等のデータを読み込ませることも可能
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
新しいAsset Typeを追加する
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Assetって
bull アップロードされたファイルはMTAssetとして管理されている
bull MT標準のAsset Type
bull 拡張子で判定される
bull Image(JPG PNG GIF)
bull Video(MOV AVI 3GP ASF MP4 QT WMV ASX ASF MGP)
bull Audio(MP3 OGG AIFF WAV WMA AAC)
bull File(上記に当てはまらない物)
bull Pluginで標準以外のAsset Typeを追加可能
bull 例えばFlashに対応 rarr Flash再生に必要なHTMLを自動生成
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装する
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドする
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetの作り方1BaseはMTAssetとする
2extesionsサブルーチンを実装するbull 処理可能な拡張子を戻す
ex) sub extensions [ qrgifi qrjpegi qrpngi ]
3as_htmlサブルーチンを実装するbull ブログ記事に差し込むHTMLを戻す
4必要に応じてサブルーチンをオーバーライドするbull meradata
bull thumbnil_file
bull insert_options etc
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Custom Assetを作るpackage MTAssetMovie
use strictuse base qw( MTAsset )
__PACKAGE__-gtinstall_properties( class_type =gt movie)
sub extensions [ qrflvi ]
sub class_label MT-gttranslate(Movie)
sub class_label_plural MT-gttranslate(Movie)
sub as_html my $asset = shift my ($param) = _
my $url = $asset-gturl my $blog = $asset-gtblog my $site_url = $blog-gtsite_url if $blog $site_url = unless $site_url
my $player = $site_urlflvplayerswffile=$url my $text = ltlt HTMLltobject type=applicationx-shockwave-flash width=400 height=220 wmode=transparent data=$playergtltparam name=movie value=$player gtltparam name=wmode value=transparent gtltobjectgtHTML
return $asset-gtenclose($text)
1
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
ブログ記事のテキストエリアにアップロードしたムービーがPlayerと共に表示
アイテム一覧にMovieというAssetが登場
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
新しいアーカイブタイプを追加する
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
Extensible Archiving
bull MT4で新しく追加されたアーカイブタイプ
bull 日付別カテゴリーアーカイブ(年月週日)
bull 投稿者別アーカイブ
bull 日付別投稿者アーカイブ(年月週日)
bull 年別日付アーカイブ
bull MT4ではアーカイブをPluginで拡張可能
bull MT4ベータテスト中に嵌った方居ませんか
bull PluginsフォルダのExtensibleArchivesを消す必要アリ
bull 現時点では限られたタイプのアーカイブのみ拡張可能
bull エントリーベースカテゴリーベース日付ベース
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
四半期別アーカイブを作るpackage MTPluginExtensibleArchivesQuaterArchive
中略
sub init_registry my $plugin = shift $plugin-gtregistry( archive_types =gt Quater =gt ArchiveType( name =gt Quater archive_label =gt ampquater_archive_label archive_file =gt ampquater_archive_file archive_title =gt ampquater_archive_title date_range =gt ampquater_date_range archive_group_iter =gt ampquater_group_iter archive_group_entries =gt ampquater_group_entries default_archive_templates =gt [ ArchiveFileTemplate( label =gt yyyyquatehtml template =gt yq default =gt 1)
] dynamic_support =gt 0 date_based =gt 1 template_params =gt archive_class =gt yearly-archive quater_archive =gt 1 main_template =gt 1 archive_template =gt 1 ) )
アーカイブのレジストリキーarchive_typesarchive_labelを初めとするメソッドを定義実装する
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
アーカイブマップに表示
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
夢が広がりんぐ
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
最後に
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
本日ご紹介した以外にも
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
bull アイディア次第で出来ることはたくさんあります
bull 例えばTheSchwartzのタスクを作成する
bull 例えばRating Frameworkを使ってカスタムレーティング
bull 例えばコメント認証にLDAPを使うProviderを作成する
bull レジストリの詳細はを説明するスペースはありませんので libMTCorepmをご覧下さい
bull 開発者向けドキュメントは wwwmovabletypeorg をご覧下さい(日本語版は鋭意制作中)
bull 技術情報ブログTechTalkBlogmovabletype-jaも併せてご活用下さい
本日ご紹介した以外にも
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
ご静聴ありがとうございました
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
あそうそう
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
明日はHack-a-thon
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
質問はその時にでも
(c) 2007 Six Apart Ltd
終了
(c) 2007 Six Apart Ltd
終了