Movable Type プラグイン
onagatani
2011年04月20日
北海道からこんにちわ。onagataniです。 さて、MovableTypeでは再構築機能により高アクセスにも耐えられるサイトを簡単に構築できますが、マルチブログ機能を多様する事によりエントリーの投稿の度に多数のインデックステンプレートが再構築されてしまい 投稿が非常に重い処理になってしまう事が度々あります。
ということで、
インデックステンプレートを手動で再構築するのはめんどくさいけど、マルチブログで再構築すると重くなる!という場合に便利なIndexRebuilderプラグインを紹介します。
本プラグインを導入する事により、特定のインデックステンプレートを定期的に再構築する事が可能になります。
TOPページにニュースブログの最新記事一覧を載せる場合などに便利かと思います。
但し、TOPページへの反映は1時間に1度になりますので、急いで更新したい場合などには不向きです。
使い方は各Webサイトやブログのプラグインセッティングにて、再構築したいインデックステンプレートのIDをカンマ区切りで入力するだけです。再構築はrun-periodic-tasksが1時間に1度指定されたテンプレートを再構築してくれます。
ダウンロード
IndexRebuilder0.1
インストール
プラグインディレクトリにコピーしてください。
その他いろいろ
-
MT5で動作確認済みです
-
このプラグインはブログウェアです。無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
-
個人利用または商用利用に関わらず無償でご利用いただけます。
-
無保証ですので、十分にテストしてから運用してください。
-
本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
やまかわ
2011年04月15日
MTのテーマエクスポート機能を使っていて以下のようなエラーに遭遇したことはありませんか?

実はMTのテーマでは、theme.yaml でテンプレートファイルを「module/footer」のように指定すると、テーマの配置ディレクトリ内にもう一階層ディレクトリを設けてその下にテンプレートファイルを配置できるのですが、いざそのテーマを適用したブログからテーマをエクスポートしようとすると失敗する、という制限があります。知らずにこの制限に抵触すると、折角作り込んだテーマがエクスポートできず、がっくり来てしまいます。
これを回避する為に、ちょっとしたプラグインを作りました。このプラグインを利用すると、「module/footer」のような階層付きのテーマを適用したブログ/ウェブサイトからもテーマのエクスポートが可能になります。
プラグインのダウンロード
FixThemeExport-1.0.zip
プラグインのインストール
pluginsディレクトリにFixThemeExportディレクトリをアップロードしてください。
プラグインの使い方
このプラグインが有効な場合、エクスポートが出来ないテーマが適用されているブログ/ウェブサイトで「テーマのエクスポート」画面を開くと「テーマのエクスポート」ボタンの代わりに「エクスポート用にテーマを修正」ボタンが表示されます。

このボタンを押すと、正しくテーマがエクスポートできるようにそのブログ/ウェブサイトのテンプレートデータが更新されますので、あとは通常通りテーマをエクスポートしてください。
注意事項
-
MTの制限によりエクスポート時にテーマにディレクトリ階層を持たせられないため、「module/footer.mtml」ならば「module-footer.mtml」という名前にリネームしてエクスポートしています。
-
このプラグインはブログウェアです。どなたでも無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
-
本プラグインをご利用される方は必ず「プラグインご利用の際の注意事項」をお読みください
onagatani
2011年02月17日
ひさしぶりにプラグインを書きましたながたにです。
ありそうでなかったHTTP::MobileAgentのラッパープラグインを作成しました。
mt-searchなどの動的生成を行なう場合のみ動作します。
以下のように携帯判定、UserID取得、キャリア判定などができます。
おまけでEncode::JP::Mobile用にcharsetを返す機能を付けてあります。
<MTMobileAgent>
<MTMobileAgentIfNonMobile>
PC
</MTMobileAgentIfNonMobile>
<MTMobileAgentIfVodafone>
vodafone
</MTMobileAgentIfVodafone>
<MTMobileAgentIfEzweb>
EZweb
</MTMobileAgentIfEzweb>
<MTMobileAgentIfDocomo>
DoCoMo
</MTMobileAgentIfDocomo>
<$MTMobileAgentEncoding$>
<$MTMobileAgentUserId$>
<$MTMobileAgentName$>
<$MTMobileAgentCarrier$>
</MTMobileAgent>
ダウンロード
MobileAgent0.1
インストール
プラグインディレクトリにコピーしてください。設定項目などはありません。
以下のCPANモジュールをインストールしてください。
-
String::CamelCase
-
Class::Inspector
-
HTTP::MobileAgent
-
HTTP::MobileAgent::Plugin::Charset
その他いろいろ
-
MT5で動作確認済みです
-
このプラグインはブログウェアです。無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
-
個人利用または商用利用に関わらず無償でご利用いただけます。
-
無保証ですので、十分にテストしてから運用してください。
-
本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
ぴろり上西
2011年02月17日
システムレベルで追加されたカスタムフィールドは、そのシステムで管理しているウェブサイトやブログなどで共通に利用することができます。しかし、管理している全てのウェブサイトやブログの編集画面に、カスタムフィールドで「画像」フィールドを追加したいと思っても、システムレベルでは、アセット(画像、ファイル、オーディオ、ビデオ)を選択することができません。結局、全てのウェブサイトやブログごとに、一つ一つアセットのカスタムフィールドを追加しなくてはなりません。これは手間です。
そこで、システムレベルのカスタムフィールド設定でも、アセットを追加可能にするプラグインを書いてみました。
ダウンロード
EnableAssetOverSystem 0.00_01
インストール
プラグインディレクトリにコピーしてください。設定項目などはありません。
その他いろいろ
- MT5で動作確認済みです
- このプラグインはブログウェアです。無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
- 個人利用または商用利用に関わらず無償でご利用いただけます。
- 無保証ですので、十分にテストしてから運用してください。
- 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
ぴろり上西
2011年02月02日
前回の記事で、MovableType は入力されたパスワードの最初の 8 文字しか利用していないことが判明しました。まぁ、8 文字のパスワードであれば、英数大文字小文字、記号を織り交ぜて、そこそこ安全なパスワードを設定できますが、やはり、入力された文字列を全て使って認証を行って欲しいものです。
そこで、MovableType のパスワード システムをジャック(?)して、入力された文字列全てを使って認証を行えるようにするプラグインを書いてみました。このプラグインを導入することで、パスワードに使える文字列の長さに制限がなくなります。パスワードよりも更に長く複雑なパスフレーズを利用することも可能になりますので、セキュリティ強度の向上にご利用ください。
注意
このプラグインを導入すると、システム管理者を含む既存のユーザ全てがログインできなくなります。ダウンロードパッケージに同梱のシェルスクリプトを利用して、個別のユーザ毎にパスワードを再設定してください。しかし、既存の全ユーザに対してパスワードの再設定が必要になりますので、新規案件などのクリーンインストール状態から運用を始められるのがラクチンです。なお、中途で導入された場合、プラグイン導入以降に新規作成されるユーザについては、問題なく運用することができます。
また、このプラグイン導入後は、プラグイン管理画面からこのプラグインを決して無効化しないでください。再び全てのユーザがログインできなくなり、パスワードの再設定を行わないといけません。
ダウンロード
BetterPassword.0.00_01.zip
インストール
ダウンロードパッケージを展開して得られたファイルを plugins 以下にコピーしてください。プラグインの設定項目などはありません。plugins フォルダにコピーした瞬間から、パスワードシステムが上書きされますので、上記注意のようにログインができなくなります。
パスワードの再設定
既存ユーザのパスワードを再設定するためのシェルスクリプトを同梱しています。シェルから、以下のようにコマンドを実行してください。
perl set-passwd username password
username は存在するユーザのログインID、password は再設定するパスワードです。
その他いろいろ
- crypt 関数の替わりに Digest::MD5 を利用しています
- このプラグインはブログウェアです。無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
- 個人利用または商用利用に関わらず無償でご利用いただけます。
- 無保証ですので、十分にテストしてから運用してください。
- 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
- MT5で動作確認済みです。