タケユー・ウェブ日報

Webシステム受託会社の業務の中での気づきや調べごとのメモ。

MovableType

Data API + Location プラグインでAndroid地図アプリを作ってみる

いまさらですがMovableType Data APIとLocationプラグインのサンプルとして、かんたんなAndroid地図アプリを作成してみました。 機能としては以下のような基本的な検索&更新があります。 地図表示範囲内の記事データを取得してGoogle Maps Android API v2上…

MT::Object での GROUP BY 集計関数の利用方法

微妙に痒いところに手が届かないものの、MT::Object->(count|max|avg|sum)_group_byというのがひっそりとある。 使い方は共通してこんなかんじ。hogeのところは便宜読み替えのこと。 my $group_iter = MT::Foo->hoge_group_by( $terms, { %args, group => […

MTのデータベース中の文字列を一括置換するスクリプト

SQLだとこんなかんじで・・・ UPDATE mt_entry SET entry_text=REPLACE(entry_text, "http://takeyu-web.com/", "/") WHERE entry_text IS NOT NULL; カスタムフィールド(複数行テキスト)だったらこんな感じで・・・ UPDATE mt_entry_meta SET entry_meta_vclob=…

MTのデータベースで任意のSQLを実行して結果を取得する

MT::Object->driver()を使う。 my $sql = "SELECT * FROM mt_entry WHERE entry_id = ?"; my @bind_values = ( 100 ); require MT::Object; my $driver = MT::Object->driver; my $dbh = $driver->rw_handle; my $sth = $dbh->prepare( $sql ); die $dbh->er…

MTプラグインで拡張したカラムにインデックスを貼ったりデフォルト値を設定したりするには

MTプラグインを作成する際、既存のオブジェクト(記事 MT::Entry とか)に、プラグイン独自の属性を追加する場合がある。 このとき、config.yamlでこんな風にするのが基本。 object_types: entry: myid: integer 追加したカラムにインデックスを貼ったり、デ…

Locationプラグインで矩形領域内の記事のDataAPI検索に対応しました

記事に位置情報を設定してData APIで検索できるMovableTypeプラグイン「Location」をアップデートしました。 追加したパラメータは以下の通りです。 パラメータ 種類 デフォルト 説明 sw_lat float 矩形領域の南西端の緯度(WGS84) sw_lng float 矩形領域の…

Dreamweaver風チェックアウト機構を実現する Checkoutプラグイン

Movable Type Advent Calendar 2013 2日目の記事のネタのためにプラグイン作りました。 会社など複数人で更新を行っていると、自分がこれから編集する記事は他の人が編集中ではないのか、また自分が編集した内容を他の人が上書きしてしまわないか、不安にな…

MT6のAMIを試しに起動して設定などを観察したメモ

※はじめてのEC2みたいな手順紹介はやりません。そんなのググったらすぐですから。 AWS Marketplace で Movable Type 6 の販売を開始 | Movable Typ アマゾン ウェブ サービス(以下、AWS)の AWS Marketplace にて、Movable Type 6 の販売を開始しました。Mo…

sixapart ProNet に登録しました

これまでProNet SOHOに登録していましたが、このたびProNetに移行しました。 http://www.sixapart.jp/pronet/partner/index.html#chuugoku 岡山県唯一のProNet加盟事業者ですwやったねw MovableType および PowerCMS によるWebサイト構築でお困りのことがあ…

Packer:ブログ記事インポート・エクスポートプラグイン for MovableType

ブログ記事/ウェブページ単位のインポート・エクスポート機能を提供します。MT標準のブログ記事エクスポートと違い、エクスポートする記事を個別に選択できるほか、写真などのブログ記事アイテムも同時にコピーできる点が優れています。

HTML Importerプラグイン for Movable Type

自分用に作ったものを公開。 自分用なので決して一般向けでなく、わかる人向け。まぁ使われることはないだろうけど、一応・・・ uzuki05 / mt-plugin-htmlimporter

MovableTypeのダッシュボードウィジェットを動的に追加する

ダッシュボードウィジェットを追加するには、プラグインのレジストリの以下ようなエントリを追加すれば良い。 applications: cms: widgets: sample: label: Sample Widget template: widget/sample.tmpl condition: |+ sub { 1 } handler: |+ sub { my ( $ap…

MovableTypeのダッシュボードウィジェットをプラグインから強制的に表示したり非表示にしたりする

ダッシュボードの表示・非表示設定は何処に入っているのか?ステータス切り替えアクションを追ってみた。 MT::App::update_widget_prefs を見ると、 $user->widgets であることがわかった。MT::Authorのwidgetsは 'widgets' => 'hash meta', のように定義さ…

MT::Object->search_by_meta() でカスタムフィールド以外での検索条件を追加する

MovableTypeでサイトを構築していると、カスタムフィールドを使ってあれやこれや結構ややこしいことをしたくなります。(JOINまみれになるのであんまりよくないのですが・・・) その場合、プラグインを作ったりするのですが、カスタムフィールドで検索するのに…

MovableType で.php書き出しをしてPC/スマホ/ガラケーの出し分けをする

DynamicMTMLとか使えない・使いたくないケースで。単にPHPでUAの判別してるだけです。 ただしPHPだけではプレビューできないので、拙作のmt-plugin-httpuseragentと組み合わせてます。 案件で使ってるので問題があれば修正。 UserAgent判定PHP テンプレート…

ダッシュボードの「サイト情報」に独自のグラフを追加する

MovableType 6.0 の新機能に「Site Stats」というものがありますね。 MTDDCの時「実はPlaggableでプラグインからグラフデータを追加することもできる」と聞いていたので、気になっていました。 Mtddc2013: Movable Type 6 Overview from Yuji Takayama …

プラグイン設定の入力チェックを行う方法メモ

必要になったので調べてみたメモ。

記事に設定されたカテゴリのうち、あるカテゴリの子または子孫に属するもののみを表示する

たとえば、製品情報をMTのブログ記事で管理していて、カテゴリで製品の「分類」や「事業部」などを保持している場合に、ブログ記事アーカイブ中でその製品を管轄する「事業部」を表示したくなったときなど。(えらく具体的な例だ) カスタムフィールドで保持…

ブログ記事に位置情報を設定してData APIで検索できるMovableTypeプラグイン「Location」作りました。

こないだMTDDC2013に参加して、Data APIはプラグインで拡張できるということを知ったので「いいこと聞いた!」と試してみた。エンドポイント自体を追加することもできるみたいですが、記事検索の範疇であれば既存のlistEntriesを拡張した方がわかりやすいの…

MTDDC 2013に行ってきたので無駄にしないように記録しておく。

8/3 MTDDC 2013にいってきた。※写真使用に問題があればご指摘ください。 国鉄カラーのキハ47で出発。(朝5時)

AngularJS + MovableType Data API でインクリメンタル検索してみた

Movable Type 6の新機能「Data API」。 藤本さんをはじめ皆様がすでにいろいろ試されていますが、僕も少し触ったのでメモ。 プログラマな人には好感触ですが、デザイナーさんにはいまいちピンとこないのではないでしょうか。 Data API自体はこれまでとは違っ…