プラグインの最近のブログ記事

長らく手がつけられなかった「EasyWorkflow」ですが、MT5に暫定対応しました。
ダウンロードはこちらからどうぞ。

http://smallworld.west-tokyo.com/200811/easyworkflow.html

現時点での制約は以下のとおりです。

▽MT5.01 で動作確認をしています。

▽公開権限がないユーザーに変更があります。

本プラグインでは、「ユーザー」のみが「公開権限が無い、ブログ・ウェブページ投稿者」になります。

*MT4,5における「ユーザー」の権限は、通常自分が所有するブログの公開権限を持ちますが、このプラグインを有効にすると公開の権限を持ちません。ご注意ください。

MT4では「ライター」も「承認依頼」を出せたのですが、MT5では権限周りの仕様変更により、ライターの権限で「承認依頼」を出すことができません。ご了承ください。

「ライター」の権限でも「承認待ち」のボタンが表示されておりますが、実際にボタンを押すと、権限エラーが起こります。

▽MT5では、本プラグインでは「ブログ」のみに承認フローを設定可能です。
仕様上、「ウェブサイト」には承認フローが設定できません。


以上となります。

正直「とりあえずMT5で動くようにした」といったレベルですが、よろしくお願いします。
MovableTypeのプラグインを作成しましたので、公開いたします。

■□これは何?

一つのブログを複数ユーザーで利用している場合、自分がアップロードしたアイテム(画像やそのほかアセットファイル)を、自分だけが利用できるようになります。

各ユーザーは、自分以外がアップロードしたアイテムを参照できません。

■□ダウンロード

以下のリンクをクリックして、ダウンロードしてください。

RestrictAssets.zip


■□動作環境

Movable Type4.x、および MTOS4.xで動作確認をしました。 (2009・11・23現在) 3.xでは動作しません。

■□機能概要

RestrictAssets.plプラグインを、/mtpath/plugins/ 配下にアップロードしてください。


■□想定利用シーン

通常、複数ユーザーでブログを書く場合、各ユーザーに個別ブログを割り当てるのが普通の使い方だと思います。(情報を集約する場合は、MultiBlogなどを利用しますよね)

一方

「一つのブログを複数ユーザーで使用する」

使い方も、良くあると思います。一人一つのブログを割り当てるのは大げさな場合、一ブログに複数ユーザーを「ユーザー」もしくは「ライター」として登録します。

この場合、各ブログ記事は、各ユーザーに所有権限があるためそれほど問題ないのですが、すべてのアイテムを全員が共有できるため、画像やpdfファイルなど、アイテム数が多い場合、運用が混乱します。

「RestrictAssets」を使うと、自分がアップロードしたアイテムファイルしか選べなくなり(他ユーザーがアップロードしたアイテムは見えない)、誤って他者の画像を利用する、といったことがなくなります。


■□権限設定について

本プラグインを利用する場合、「ユーザー」「ライター」のいずれかがアップロードしたアイテムに対して、利用制限をかけます。

「編集者」「ブログ管理者」はすべてのアイテムを管理できます。

※もし「編集者」に対しても、アイテム制限をかけたい場合、プラグイン内の「can_edit_all_posts」という引数を「is_superuser」に置換することによって対応可能となります。


■□利用条件

特に利用制限はありません。個人、商用問わず、ご自由にお使いください。

本プラグインの不具合によるいかなる事象についても免責とさせていただきます。

■□今後について

0.2以降 Yamlファイルを利用した書式に変更
0.3以降 MT5対応

MovableType5のバージョンがβ3に上がり、テンプレート構造が変わりました。

(もしかしたらβ2から変わっていたかもしれません)

このため、「EasyWorkflow」をバージョンアップし、0.41としました。

Movable Type5ベータ3版に対応を行っております。

β1、2では使えなくなります。ご了承ください。


ダウンロードページからご利用ください

※ご利用の際は、適用ブログ・ウェブサイト、もしくは適用した皆さんがお持ちの個人ブログから、当該ページへリンクを張っていただくと幸いです。

※動作におかしな点がありましたら、お手数ですがご指摘ください。

ウェブアプリケーションや諸々のウェブサイト、プログラムサイトを利用していると、ときどき

「今、どんな情報がサーバーとやり取りされたのかな?」

「POSTでわたっている値は何だろう?」

と確認したくなるときがあります。

そんなときに便利なのが、FireFox用アドオン「LiveHTTPHeadeers」です。

FireFoxのエクステンションとして、簡単にブラウザがやり取りしている情報を確認できます。

ダウンロードはこちら

あるいは、開発者のサイトからもダウンロード可能です

    

ダウンロードしたら、アドオンの一覧から、LiveHTTPHeadersの「設定」ボタンを押します。

livehttpheader_2

すると、ポップアップウィンドウが開いて、情報がずらずらと表示されます。

ちなみに、MT5でブログ記事をコミットしたときのPOST情報はこんな感じでした。

livehttpheader_3

というわけで、ウェブアプリケーションのチェックやプラグインの開発のお供にいかがでしょうか。

昨年11月に、「MTのプラグインの情報源」をとりまとめてから早半年
その間に、プラグイン開発に関するドキュメント類がそろってきました。

既に各方面で紹介されておりますが、改めてご紹介します。

昨年11月にリリースした「EasyWorkflow」をバージョンアップし、0.3としました。

主な修正点は以下のとおりです。

  • テンプレート変換を、コールバックによる書き換えに変更しました。
    0.2までのEasyWorkflowを利用すると、alt-tmplによる置換が無効になっていましたが、今回のバージョンからalt-tmplを併用可能です。また、他の管理画面変更系プラグインとの併用も可能です。(仕様により、EasyWorkflowと共存できないプラグインも存在すると思われます。ご了承ください。)
  • MT4.25に対応を行いました。

ダウンロードページからご利用ください

※ご利用の際は、適用ブログ・ウェブサイト、もしくは適用した皆さんがお持ちの個人プラグから、当該ページへリンクを張っていただくと幸いです。

MTは元々ブログから発達してきたので、CMSとしてみると今一つ物足りない機能が多い・・・と思いませんか。

たとえば、時限公開。CMSなら「○月○日○時○分に公開して、×月×日×時×分に公開終了」って当たり前にある要件ですが、MTはデフォルトでは、なぜか「公開終了」の概念がない。

(ブログは「記録→公開」に本義があるため、公開終了の概念がないのが当然なのですが)

たとえば、絞り込み検索。「AかつBの記事を検索して表示」させたい、と思いませんか。

自分で勉強して、いつかこういうプラグインが作れるようになったら良いなあ・・・と思ってたら、とっくの昔に実現してプラグイン化している方がいました。ToI企画さんです。

http://www.toi-planning.net/

http://tec.toi-planning.net/

時限公開を実現する「Period」、カテゴリによる検索を実現する「CategorySearch」、など、かゆいところに手が届くプラグインがそろっています。さらに、プラグイン開発用のデバッグツールまで配布しています。すごい。(絞り込み検索は、大量にデータが存在する際のレスポンス速度など、もし実案件で導入する場合はきちんとパフォーマンス測定する必要がありますが)

こういうツールを見ていると、様々な要望を実現することができるわけで、いろいろ試しに作ってみたい、と思ってしまうわけです。実際に、テストサイトを作ってレポートしてみようかな。

MTには、なぜか「ブログの記事リストをページ送りする」という概念がありません。このため、何も設定しないと、縦にだーっと長いブログ記事になるか、あるいはあらかじめブログの設定で定義した記事数で、表示が終わってしまいます。

これらの不都合を回避するのが「Pagebute」です。MTの導入企業として著名なスカイアークシステムさんのプラグインです。

MovableTypeは、言うまでもなく日本国内のブログ・CMSシステムの雄です。MTを利用したウェブサイト・ブログの構築については、様々な書籍やウェブ上の情報が存在していて、入り口には事欠きません。

ところが、プラグインの作成となると、なかなか体系だって学べる情報源がありません。Perlのオブジェクト指向による開発作業になるため、先ずPerlの基礎知識がないとすぐに詰まってしまいます。

僕は、10年ほど前に、KENTさんやウェブ裏技さんの掲示板をカスタマイズしたことはありましたが、ここ10年はまったくプログラムを見ていなかったため、プラグインのソースがまったく理解できず苦労しました。

 

ここでは、自分で実際にプラグインを書いてみて、有益だった情報、まとまっていて分かりやすかった情報をピックアップしてみます。(2008/11/19時点の情報となります。ご注意ください)

 

第一段階・・・プラグインの構造を理解

この段階で役に立つのは以下のリソースです。

・シックスアパートの解説サイト
http://www.sixapart.jp/pronet/developers/plugin/

・OpenMajicVox
http://www.magicvox.net/archive/2006/03282324/

・ブログ自由自在 Movable Type 上級カスタマイズ術
藤本 壱
477412379X

 

全て3.x時代に書かれた文章ですが、現時点でも使えます。

これらをみて、
グローバルフィルター → MT変数 (<$mt:foo$>みたいなやつ) → コンテナ

の順番で作ることをお薦めします。 特に、藤本さんが著述した「ブログ自由自在~」は、MTの構造を知る上で、非常に有益な情報です。

 

第二段階

プラグインの概要がつかめてきたら、おそらくMTのオブジェクトの機能と、Perlのオブジェクト指向について悩み始めると思います。そのあたりでよいリファレンスは以下のとおり

・Movable Typeオブジェクトリファレンス
http://www.sixapart.jp/movabletype/manual/object_reference/

・すぐわかる オブジェクト指向 Perl
深沢 千尋
4774135046

・初めてのPerl
Randal L. Schwartz Tom Phoenix 近藤 嘉雪
4873111269

 

僕はオブジェクト指向の概念が良く分からなかったので(今でも詳しく理解できていないのですが)、非常に参考になりました。これらに目を通すと、コードの一つ一つの目的がだんだん見えてきます。

 

第三段階

実際にプラグインを作り始めるたときに、「ここどうすればよいの」とか「このあたりはどういう概念で書かれているのだろう」と悩み始めると思います。その段階でのリファレンス

・Junnama Online
http://junnama.alfasado.net/online/

・Movable Type プロフェッショナル・スタイル MT4.1対応
CSS Nite
4839927537

・アークウェブ wiki
http://www.ark-web.jp/sandbox/wiki/?cmd=list

・シックスアパート 本家サイト ドキュメント ディベロッパー向け
http://www.movabletype.org/documentation/developer/

 

いずれもぎゅぎゅっとエッセンスが詰まった記事が多く、非常に勉強になります。

大枠の構造が理解できたら、既存プラグインのソースコードを眺める、alt-tmplフォルダに代替テンプレートを置いて、管理画面を拡張してみる、なども有効です。手っ取り早くMTの構造を理解できます。

一つの参考情報としてご覧ください。

1

なかのひと(実験中)

  

携帯サイト

携帯用QRコード