perlの最近のブログ記事

uehatsu (2015年8月26日 17:04)

ちょっと案件で分からない事があったのでMT Liveにお邪魔しています。MT Liveとは「シックス・アパートのエンジニアや、Movable Type に詳しい人たちが、コワーキングスペースに集まります。MTについてちょっと質問したい、実際に画面見せたり、話したりしながら教えてもらいたい、という方はぜひお立ち寄りください。(Facebookのイベントページより)」というイベント。毎月第2・第4水曜日にやってます、もしよろしければ。

MT Live 紹介ページ(シックス・アパート ブログ)

で、今日聞きたかったことは「Movable Typeであるオブジェクトを保存する時に、そのオブジェクトに紐付けられているカスタムフィールドが画像であった場合、その画像にたいしてゴニョゴニョする」というもの。

まず自分でやって失敗した方法がこちら。

1. pre_saveかpost_saveでフック

2. $obj->meta()でmeta情報のhashを取得

3. meta情報のhashからカスタムフィールドのbasenameを取得(hashのkeyが"field.hogehoge")となる

4. MT::Metaのmetadata_by_nameでmeta情報を取得

my $field = "field." . $meta_basename;
my $class = MT->model('entry');
my $meta = MT::Meta->metadata_by_name( $class, $field );

5. meta情報のtypeを取得

my $type = $meta->{type};

ただしこれでtypeをとると"vclob"とだけ返ってきて画像かどうかはわからない。残念。

で、今日MT Liveで高山さんに聞いたところ4.以降をこうすると良いと聞く。

4. CustomFields::Field からカスタムフィールド情報を取得

my ($field_obj) = MT->model('field')->search({
blog_id => $blog_id,
basename => $meta_basename,
});

5. カスタムフィールド情報のtypeを取得

my $type = $field_obj->type();

これで$typeに"image"が格納されていたら、このカスタムフィールドは画像!!

自分で悩んでいたら解決できませんでした。

結論:MT Liveで疑問を解決!!

皆さんも是非!!!

Movable Type 6 本格活用ガイドブック (Web Designing BOOKS)
Movable Type 6 本格活用ガイドブック (Web Designing BOOKS) 藤本 壱 柳谷 真志 奥脇 知宏 シックス・アパート株式会社

マイナビ 2013-11-30
売り上げランキング : 133328


Amazonで詳しく見る
by G-Tools
uehatsu (2014年4月15日 19:41)

表題の通りLWP::Simpleを使ったMovable Typeのプラグインを書いていたんですが、SSLコンテンツのダウンロードで500 Errorが出てしまいはまりました。

エラーステータスメッセージは"500 Can't verify SSL peers without knowning which Certificate Autorities to trust" 要は内包しているCAに該当が無くて信頼できませんよとでも言っているようなものでしょうか。

cpanやcpanmを使ってMozilla::CAをインストールすればよろしい。

自分の場合は以下の通り。

# cpanm Mozilla::CA

ステータスメッセージを確認しないで、ああでもないこうでもないと試していたので時間を無駄にしました。いけませんねぇ(^^;

uehatsu (2013年3月30日 00:34)

以前のエントリーでcurlを使ったcpanmのインストール方法をご紹介していましたが、cpanコマンドでインストールする方法も書いてみます。

uehatsu (2012年10月30日 12:31)
例年の行事(?)だったインストールマニアックスの開催が告知されました。
しかし、今回で最後との事、大変残念です。

インストールマニアックスはWindows Web Server 2008にオープンソースのソフトウェアをインストールしようという話から始まり、その後Windows Web Server 2008 R2、Windows Azureとインストール対象が変更されつつ運営されてきました。

初期はNECのサーバとOSが無料でもらえるというおごった企画でした。ただAzureになってからはマンネリになってしまい、参加者のモチベーションも低かった気がします。

インストールするのにAzureのインスタンスを立ち上げるのに最低でも7,000円かかるので、それがネック。

今回はAmazonの商品券が参加者全員に15,000円分もらえる(条件は1つでもOSSをインストールする事)ので、それ狙いです。

どうなる事やら、まずはMTOSのインストールですねw

install-maniax-final.png

uehatsu (2012年8月 6日 10:26)
昨日のエントリーの続きです。
「あれ?これって複数枚対応できるんじゃね?」という自分自身への突っ込みから、仕様変更をしました。
仕様変更適当にしたら、バグ出しちゃったんだけどね


という事で、カーチャン( @kaoritter ) のためにプラグイン書いてみたよ。もうとっくに他の人が書いてるかも知れないけどw
そもそも、たかしじゃないし<そこ突っ込む所違うw
uehatsu (2012年8月 6日 00:40)

という事で、カーチャン( @kaoritter ) のためにプラグイン書いてみたよ。もうとっくに他の人が書いてるかも知れないけどw
そもそも、たかしじゃないし<そこ突っ込む所違うw

追記
Version 0.02が出ました。こちらのエントリーを参照して下さい。

uehatsu (2012年8月 2日 14:57)
前回は「MacOS X(OS X)にImageMagickをインストールするには (ImageMagick for MacOS X Install Log)」をレポートしましたが、今回はImageMagickのPerlモジュール、Image::Magick(PerlMagick)のインストール方法を書いてみたいと思います。

uehatsu (2012年7月29日 20:57)
さて、先日のエントリー(google-api-perl-client のインストール!! - uehatsu's tech blog)で書きましたように、ただ今 Google APIのお勉強中でございます。

Google APIの中には特に気にすること無くAPIをたたけば結果が返ってくる物もありますが、今回自分で使うAPIはOAuth 2.0を前提としたGoogle Calendar API v3 なので、プロジェクトを作ってみました。特に難しくないので、スクリーンショットなどは取っていませんが、作業ログ代わりです。
uehatsu (2012年7月27日 11:10)

(追記)cpanコマンドでcpanmをインストールする方法を乗せました。参考にして下さい。

cpanmを使い出して、めっきりcpanコマンドを使わなくなったuehatsuです。

とりあえず、忘れる前にcpanmのインストール方法を書いておきます。

Who is uehatsu?

uehatsu

アーカイブ

Facebook page