TopMovable Typeプラグイン管理画面 > 2011年3月
2011年3月31日

Movable Typeのカスタムフィールドで入力したデータの重複チェックを行う「CustomFieldDataCheckerプラグイン」バージョンアップ

Movable Typeのカスタムフィールドで入力したデータの重複チェックを行う「CustomFieldDataCheckerプラグイン」をバージョンアップしました。

1.変更点

v0.01ではウェブページのカスタムフィールドのみ対象でしたが、v0.02ではブログ記事もチェック対象に加えました。

ブログ記事のチェック

また、複数のカスタムフィールドをチェック対象にできるようにしました。複数のカスタムフィールドをチェック対象にするには、プラグインの設定画面にチェック対象にしたいカスタムフィールドのベースネームをカンマ区切りで設定します。

プラグイン設定画面

さらに、重複した際のエラーメッセージを改善しました。改善前はエラーとなったカスタムフィールドのベースネームを表示していましたが、改善後はカスタムフィールド名を表示するようにしました。

改善前
改善前

改善後
改善後

最後に、プラグイン設定画面にベースネームが設定されていない場合、記事の新規作成時にエラーとなる不具合を解消しました。

2.プラグインのダウンロード

最新版のプラグインは下記のページよりダウンロードしてください。

CustomFieldDataCheckerプラグイン
Comments [0] | Trackbacks [0]
2011年3月21日

UserEmailCheckerプラグイン v0.02

Movable Type のコミュニティ機能でユーザー登録時にメールアドレスの重複チェックを行う「UserEmailCheckerプラグイン」に不具合がありましたので改修しました。

このプラグインを利用すれば、ユーザー登録・ユーザー情報更新時にメールアドレスの重複チェックを行うことができます。

1.変更点

v0.01では、ユーザー登録後のユーザー情報更新時に無条件にメールアドレスチェックを行ってしまっていたので、v0.02ではユーザー情報更新時の処理を次のように変更しました。

  • メールアドレスが変更されていない場合は重複チェックを実施しない
  • メールアドレスが変更された場合は重複チェックを実施

また、ユーザー情報更新時に本来のエラーとなる場合のメッセージを追加しました。

ユーザー情報更新時の正規の重複エラー
ユーザー情報更新時の正規の重複エラー

管理画面でのユーザー情報更新時も同様のエラーを表示します。

管理画面でのユーザー情報更新時の正規の重複エラー
ユーザー情報更新時の正規の重複エラー

2.ダウンロード

最新版のプラグインは下記のページよりダウンロードしてください。

UserEmailCheckerプラグイン
Comments [0] | Trackbacks [0]
2011年3月19日

Movable Typeの概要フィールドでリッチテキストが使える「ExcerptRichTextプラグイン」バージョンアップ

March 19,2011 3:33 AM
Tag:[, , ]
Permalink

公開中の「ExcerptRichText プラグイン」を2年ぶりにバージョンアップしました。

このプラグインは、Movable Typeの「概要」フィールドでリッチテキストなどの各種フォーマットを使えるようにするためのものです。

プラグイン適用前
変更前

プラグイン適用後(概要のタブが表示)
変更後

また表示オプションの「概要」が非表示になります。

1.修正内容

このプラグインはMovable Type 4.x向けに作成したものですが、冒頭の画像のようにMovable Type 5.0xで動作することを確認しました。それによる機能変更は特になく、YAMLで書き直したのみとなります。

2.ダウンロード

最新版のプラグインは下記のページよりダウンロードしてください。

ExcerptRichText プラグイン
Comments [0] | Trackbacks [0]
2011年3月17日

UserEmailCheckerプラグイン

March 17,2011 12:55 AM
Tag:[, , ]
Permalink

Movable Typeのコミュニティ機能などを使ったユーザー登録時、同一メールアドレスのユーザー有無をチェックする「UserEmailCheckerプラグイン」を公開します。

1.機能

コミュニティ機能によるユーザー登録時、同一メールアドレスのユーザーが既に存在する場合、登録エラーとします。

登録時のエラー

管理画面からの登録時にもチェックします。

登録時のエラー

2.価格

  • 個人無償版/有償版での非商用利用/Movable Type Open Source:無償
  • 有償版での商用利用:3000円/1サーバ(税抜き、事前に動作確認してください)

無償でご利用の場合も、プラグインのご利用についてご支援・ご賛同くださる方からの寄付をお待ち申し上げます。

3.プラグインのダウンロード

以下のリンクよりプラグインアーカイブをダウンロードします。

2011.03.17 v0.01 初版
2011.03.20 v0.02 更新時にエラーになる不具合等を修正
UserEmailChecker_0_02.zip

4.プラグインのインストール

プラグインアーカイブを展開し、中にある UserEmailCheckerフォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロードします。

システム管理画面のプラグイン一覧で、「UserEmailChecker~」が表示されればインストール完了です。

プラグイン一覧

Comments [0] | Trackbacks [0]
2011年3月 9日

ブログ記事削除後の遷移画面を指定できる「ReturnArgsChangerプラグイン」

Movable Typeでブログ記事削除後の遷移画面を指定できる「ReturnArgsChangerプラグイン」を公開します。

1.機能

ブログ記事編集画面で自ブログ記事を削除(下の画面)すると、削除後の画面はブログ記事一覧画面になります。ウェブページ作成画面も同様に、ウェブページ一覧画面に遷移します。

削除

本プラグインを利用すれば、削除後の画面にダッシュボードなどを指定することができます。

2.価格

  • 個人無償版/有償版での非商用利用/Movable Type Open Source:無償
  • 有償版での商用利用:1000円/1サーバ(税抜き、事前に動作確認してください)

無償でご利用の場合も、プラグインのご利用についてご支援・ご賛同くださる方からの寄付をお待ち申し上げます。

3.プラグインのダウンロード

以下のリンクよりプラグインアーカイブをダウンロードします。

ReturnArgsChanger_0_01.zip

4.プラグインのインストール

プラグインアーカイブを展開し、中にある ReturnArgsChangerフォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロードします。

システム管理画面のプラグイン一覧で、「ReturnArgsChanger~」が表示されればインストール完了です。

プラグイン一覧

5.画面の指定方法

プラグインを利用したいブログの「ツール」→「プラグイン」→「ReturnArgsChanger~」→「設定」をクリックし、テキストフィールドにreturn_argsとなるパラメータを設定します。

プラグイン設定

例えば、ブログID2のダッシュボードに戻る場合は次の内容を設定します。

__mode=dashboard&blog_id=2

ブログID2のブログ記事投稿画面に戻る場合は次の内容を設定します。

__mode=view&_type=entry&blog_id=2

その他の画面に遷移させたい場合は、該当画面を開いたときのURLの「http://~/mt.cgi?」以降の文字列を設定してください。

Comments [0] | Trackbacks [0]
2011年3月 7日

Pixenateプラグインで画像をリサイズできない不具合の対処

March 7,2011 12:55 AM
Tag:[, , ]
Permalink

Movable Typeにアップロードしたアイテム画像を編集できる「Pixenateプラグイン」を以前紹介しましたが、riatwさんから「サイズ変更がアイテムに反映されません」というご連絡を頂きましたので、プラグインの対処方法を紹介します。

この問題はMovable Type 4.xでも発生しますが、ここでの対象バージョンはMovable Type 5.0xのみです。

1.問題点

編集画面を開きます。

編集画面

「ZOOM OUT」をクリックして画面を縮小します。このサンプルの編集前後のサイズは、

  • 編集前:640×480px
  • 編集後:320×240px

です。

リサイズ

この状態で「Save and Quit」をクリックしても、リサイズした結果がアイテムに反映されません。再度編集すると元のサイズで表示されます。要するに編集の実績がまったくありません。

プラグイン修正前のアイテム編集画面

リサイズ以外でも次のように切り抜いた場合、

切り抜き

変更後のサイズがアイテムに反映されないので、アイテム編集画面の画像が元サイズ(=640×480px)で表示されてしまいます。Pixenateによる再編集時は元画像を原寸で表示するので問題ありませんが、実用レベルではありません。

プラグイン修正前のアイテム編集画面

2.原因と対処案

原因はPixenateのAPIでリサイズ後のサイズ情報を取得するAPIがなく、そもそもアイテム更新時にサイズ情報が保存されていません。アイテムはmt_asset_metaテーブルに「image_height」「image_width」というデータを保持していますが、そのデータが書き換えられていません。

また、切り抜きや回転を行わないリサイズのみの場合は、サイズ情報だけでなく、画像自体に何も変更が加えられていません。

ということでリサイズが行われた場合、編集前のサイズと編集後のサイズを比較し、変更があった場合にmt_asset_metaテーブルの書き換えと、画像データの更新を行うようにしてみました。

以下は備忘録ですので、対処を行いたい方は読み飛ばして3項に進んでください。

Pixenateプラグインでリサイズ以外の編集が行われた場合、PXN8.getUncompressedImage()というAPIでURLが取得できますが、リサイズのみの場合はそのAPIではURLが取得できず、その場合、保存のためのプラグインメソッドpixenate_save_changes()が起動されません。よってまずはここを起動するように変更します。

また、元画像のサイズはPXN8.getImageSize()で取得できますが、編集後のサイズを取得するAPIがありません。よって、編集後のサイズは画像編集画面に表示されているimg要素のwidth属性とheight属性から取得し、PXN8.getImageSize()で取得したサイズと異なる場合、プラグインメソッドpixenate_save_changes()を起動し、サイズデータはその引数として渡します。他の編集が行われておらずかつサイズ変更がない、つまり編集が何も行われていない場合のみプラグインメソッドpixenate_save_changes()を起動せず終了します。

起動されたpixenate_save_changes()では、リサイズ以外の編集が行われた場合はURLを利用してLWP::Simple::getstoreで一旦アイテムを保存します(既存処理。画像はここで更新されます)。その後、引数で渡されたサイズと、DBに保持されているアイテムのサイズを判定し、異なる場合はアイテムのサイズ情報更新と、リサイズのみの編集を考慮し、MT::ImageとMT::FileMgrを使って画像の更新を実施します。

3.対処1(テンプレートファイルの差し替え)

mt-plugin-pixenate-tmplのページからアーカイブをダウンロードし、アーカイブを展開した中にある、

  • alt-tmpl/cms/edit_asset.tmpl
  • alt-tmpl/cms/include/asset_table.tmpl
  • plugins/Pixenate/tmpl/Editor.tmpl

を、元のプラグインの同じディレクトリにあるファイルと差し替えてください。今回の修正で差し替えが必要なファイルはEditor.tmplのみなので、すでにMT5.0で利用されている場合はその1ファイルのみを差し替えてください。

4.対処2(プラグインファイルの修正)

Pixenate.plを任意のエディタで開き、以下のsave_changes_mode()の内容を修正してください。

変更前(赤色を削除)

sub save_changes_mode {
    my $app = shift;
    my $imageId = $app->{query}->param('id');
    my $filepath = get_filepath($imageId);
    my $changedImageURL = $app->{query}->param('changedImageURL');
    my $rc = LWP::Simple::getstore($changedImageURL,$filepath);
 
    return "{filepath: \"$filepath\", rc: $rc}";
}

変更後(青色を追加)

sub save_changes_mode {
    my $app = shift;
    my $imageId = $app->{query}->param('id');
    my $filepath = get_filepath($imageId);
    my $changedImageURL = $app->{query}->param('changedImageURL');
    my $rc = LWP::Simple::getstore($changedImageURL,$filepath);
 
    my $asset = MT::Asset::Image->load($imageId);
    my $width = $app->{query}->param('width');
    my $height = $app->{query}->param('height');
 
    require MT::Image;
    require MT::FileMgr;
    my $fmgr ||= $app->blog ? $app->blog->file_mgr : MT::FileMgr->new('Local');
    my $image = new MT::Image( Filename => $asset->file_path );
    my ($data, $w, $h) = $image->scale( Height => $height, Width => $width )
          or return $asset->error(MT->translate( "Error scaling image: [_1]", $image->errstr ) );
    (my $tmp = $asset->file_path) =~ s!(.*)/[^/]+$!$1!;
    my $path = File::Spec->catfile( $tmp, $asset->file_name );
    $fmgr->put_data( $data, $path, 'upload' )
          or return $asset->error(
            MT->translate( "Error creating file: [_1]", $fmgr->errstr ) );
    $asset->meta('image_width', $width);
    $asset->meta('image_height', $height);
    $asset->save;
}

修正後、Pixenateでのサイズ変更が反映されるようになります。

プラグイン修正後のアイテム編集画面

画像編集画面でもサイズが反映されます。

プラグイン修正後の編集画面

Comments [2] | Trackbacks [0]
2011年3月 5日

CategorySelectorFilterプラグイン v0.02

Movable Type でカテゴリ選択を限定する「CategorySelectorFilterプラグイン」をバージョンアップしました。このプラグインを利用すれば、次のように選択カテゴリを1つに限定できます。

選択後の状態(選択カテゴリ以外のカテゴリのチェックボックスをdisableにする)
選択後の状態

1.変更点

v0.01では、登録しているすべてのカテゴリを選択対象にする場合でも1つずつ指定する必要がりましたが、v0.02では「all」を設定するか、設定がない場合は自動的にすべてのカテゴリを選択対象とします。

v0.01のプラグイン設定画面(すべてのカテゴリを選択対象にする場合も設定要)

v0.02のプラグイン設定画面(「all」または何も設定しない)

また、Movable Type 5.1(動作確認はベータ2)対応にしました。

Movable Type 5.1のカテゴリ選択画面

2.ダウンロード

最新版のプラグインは下記のページよりダウンロードしてください。

CategorySelectorFilterプラグイン
Comments [0] | Trackbacks [0]
2011年3月 1日

Movable Typeのアイテム一覧にフォルダを表示する「AssetFolderViewerプラグイン」

Movable Typeのアイテム一覧にフォルダを表示する「AssetFolderViewerプラグイン」を公開します。

1.機能

このプラグインを適用することで、アイテム一覧にアイテムのフォルダ(パス)を表示します。

アイテム一覧

表示するパスはサイトパスを除いた部分になります。フォルダ機能を利用してアップロードしたアイテムは、フォルダに該当するパスが表示されます。

2.価格

  • 個人無償版/有償版での非商用利用/Movable Type Open Source:無償
  • 有償版での商用利用:1000円/1サーバ(税抜き、事前に動作確認してください)

無償でご利用の場合も、プラグインのご利用についてご支援・ご賛同くださる方からの寄付をお待ち申し上げます。

3.プラグインのダウンロード

GithubのAssetFolderViewerプラグインのページにある「ダウンロード」をクリックして、プラグインアーカイブをダウンロードします。

AssetFolderViewerプラグインのページ

4.プラグインのインストール

プラグインアーカイブを展開し、中にある AssetFolderViewerフォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロードします。

システム管理画面のプラグイン一覧で、「AssetFolderViewer~」が表示されればインストール完了です。

プラグイン一覧

Comments [3] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3