速報要件

拙サイト、Ktai Styleのお陰で、携帯からの投稿・更新もできるようになってはいるのだが、それについていきなり運用を始められるとそりゃびびる(今まで投稿自体当方がすべてやっていたわけでもあり)。
サイトの特性上、いつかはちゃんと携帯からの投稿・更新をその中でできるようにしなきゃ、と思い、実はドメイン取るよりも前からwp-shotをこねくり回していたのを、本格運用に向けて改めて挑戦してみることにしたのが土曜日。

wp-shotというプラグインは、「携帯用アドレスを登録したユーザーから携帯メールで指定したアドレスにメールを送信すると、定期的に本体への登録・公開をおこなう」機能を有している。コレに際して、投稿に使うとおぼしき携帯アドレスを指定してユーザー登録し(各ユーザーにはAuthor権限を付加)、投稿受付専用のメールアドレスを準備した。更にwp-shotをWordPress管理画面から有効化し、管理画面から諸々の設定をおこなった。
試しに当方の携帯からテスト投稿し、それがメールボックスに収まった…ところまで確認すれど、時間になってもcronが動いた試しがない。あれ、と思って「cron動いたらメール送る」チェックをonにしてみたところ、なんと通知先に1分1回の割合でメールが届く羽目に…orz
慌ててチェックを外したのだが、どうも届いたメールの本文がおかしい。タイムスタンプらしいモノがついているのだが、1970/1/1…ん?

で、ぐぐったところ、どうもCoreServer側の制限で、cronの設定はWordPressの管理画面からだと通らないことが判明。
http://dxcode.com/archives/tag/coreserverjpを参考に、wp-shot.phpを叩くシェルスクリプトを書いて、CoreServerの管理画面上で、そいつを定期的に動かすように設定した。これで、cronによる自動投稿処理も動くようになった。

…とはいえ、cronジョブとして動かせるのは1時間1回のみらしい。
利用されるシチュエーションを考えると少なくとも30分に1回は反映されるようにならないと厳しそうなので、速報担当者には「すぐ反映させたいときはwp-shot.phpにアクセスしてちょ」と申し上げた次第。

これがどうも巧く動かなかったっぽい。携帯からアクセスしたようなのだが、もしかするとキャッシュかなぁ。
結局電池がタリネーとか言いつつ、Ktai Style管理画面経由での更新となった模様。

いろいろな代替案を含めてリベンジの所存。トップページにアクセスされたときに裏でwp-shot.phpをキックするかなぁとか、wpmobExpressを試してみようかなぁとか、wp-mtaはわちには敷居が高いかなぁとか、いろいろ。

WordPressではてなのキーワードを

WordPressはてなのキーワード(出来れば特定グループにしこしこつくりこんでいるキーワード)をリンクさせる仕組みはあるものか、と捜していたら、
jkondo blog | Just another WordPress.com weblog
にぶつかった。
ぶつかっただけ。
おなじじゃないのよ!

あ、はてなダイアリーキーワード自動リンクAPIとは - はてなキーワード
さらに
http://tamac.daa.jp/wiki/?%A4%CF%A4%C6%A4%CA%A5%C0%A5%A4%A5%A2%A5%EA%A1%BC%A5%AD%A1%BC%A5%EF%A1%BC%A5%C9%BC%AB%C6%B0%A5%EA%A5%F3%A5%AFAPI

CakePHPのセットアップにハマる

やっと落ち着いた。「趣味の環境設定」と化して、その後の作業に行くまでに時間がかかってしまうのはどうなのだろうと。

今後V-M-Sから枝分かれ新サービスとか他もろもろ考えていくうえで触っておこうと思い、CakePHP試行。

Fast CakePHP (LLフレームワークBOOKS)

Fast CakePHP (LLフレームワークBOOKS)

読みつつ、セットアップとテストアプリ作成を進めてみる。
が、本の通りに行かない。

インストールは確認出来たけど確認したサイトにCSSが効いてない

→テストサーバでmod_rewriteが効いてないっぽい

その後も強行してアプリつくってみようとしていたのだが、何故かつくったものにアクセスできず404エラーが出力される。

観念してちゃんとmod_rewriteの設定をすることにする(ってをい

UchinoテストサーバはUbuntuさんなので、まずは下記の通りmod_rewriteモジュール有効にして…

sudo a2enmod rewrite

これでApache再起動したら有効になる…と思っていたが違った。/etc/apache2/sites-available/defaultというファイルを開き、記述を修正しないといけなかった。"AllowOverride None"の「None」を「All」にしてから再起動〜

このあたりの手順はMovedが参考になった。

インストールしたCakePHPの初期画面のURLまで404が出てしまう。

…ン?。さっきまで初期画面はスタイル抜きでは出てたのに、いったい何ごとじゃ〜
もういちど本の記述(69ページ)とその他もろもろを見比べてみることに。
テストサーバに於いては、Apacheの設定ではドキュメントルートを/var/www にしていて、その直下にcakeというフォルダを掘ってCakePHP一式を入れている。
RewriteBaseの記述を、/cake/と、/cake/app/と、/cake/app/webroot/それぞれの.htaccessに記述するのだが、これを、

/var/www/cake/app/

…などと書いていたのが敗因だった。ドキュメントルートを基準にするので、正しくは

/cake/app/

…でいけるわけですな。と。
修正後、初期画面にアクセスしたらCSSも反映された形で表示された。嬉しかったぞ。

テスト用にテーブルへ突っ込んでおいたレコードが化けて表示される。

もろもろUTF-8で、と決めてつくりはじめた。ViewのthtmlファイルもUTF-8で保存した。MySQLの接続照合順序もutf8_general_ciにして、テスト用に何件かレコードを挿入しておいた。
これを表示しようとすると「V?????????」…Vリーグって書いたはずなのに、Vしかあってないぞ〜

これは、/cake/app/config/database.phpに1行入れたら解決。

'encoding' => 'utf8',

というのを追加しておくべし。

PHPMyAdminに入れなくなった(蛇足)

突如思い立ってテストサーバーのMySQLユーザーroot@localhostにパスワードを付加したら、PHPMyAdminにアクセスできなくなった。
現在使っているのはPHPMyAdminの2.10.2なのだが、コレ設定ファイル(の雛型)って/libraries/config.default.phpにあるんね〜これを修正してユーザーパスワード書き換えて、config.inc.phpにリネームして一階層上にアップしたら動いた〜あうあなにやっとるんだ〜>me

…ということで、これからいろいろアプリケーションをつくってみたりする。

携帯版改造ちう(ちと追記)

「時間の取れるウィークディ」がようやく捻出できたので携帯版改造に着手。

目玉はプラグインの変更。Mobile Eye+ → Ktai Style。諸事情により、コメント時はログインを必須にしているのだが、Mobile Eye+だとログイン→コメントがしづらいのが、変更を考えた理由。
Ktai StyleはPHP5専用だが、サーバーがPHP5なので問題なし。

テストサーバにプラグインを導入し、携帯シミュレータで動作を確認し始めたところ、一点問題点が。

Mobile Eye+だと表示/非表示で対処できた写真表示だが、Ktai Styleの場合は、メニューにそういう項目がない。マニュアルを読むと

携帯電話でも画像をそのまま表示させたい場合は、その img 要素に
class=”ktai”
という属性を追加してください。

とある。
最初それってどうするんだべと思った。確かに投稿の度に挿入したイメージに対して追記してあげればよいのだが、投稿人がわし以外だとどうするんだろうとかそういうことを考え始め、「class="ktai"」を投稿時自動的に付加する方法を調べ始め(そしていろいろな経緯があって)イメージについては別途プラグインIImage Browser」を導入してみることにした(…あ、そういえば日本語が出ない)。コレをテストサーバで動かそうとしてGDが入ってなかったというオチであるが、本番では全く問題茄子。

現存するイメージにががーっと「class="ktai"」をつけて、対応終了。

ところで、W-ZERO3[es]で見る場合、モバイル版とPC版の切り替えがスマートに行けるのがありがたいっす。あとは「かんたんログイン」実装を楽しみに。

GDでgdgd

自分の足下で(たまに)稼働中のテストサーバで画像アップロードのテストをしていたら、サムネイルがつくれない(メニューにも出ない)ことに気がついた(今更)。
いろいろ見てたらGD入ってぬ、ということがわかった(遅)ので、入れた。
ちなみにテストサーバはubuntu server 6.06LTS(LAMPインストール)にてやわらかく構築してある。

apt-get install php5-gd

で無事インストール。Apache再起動したらphpinfoにも反映。さらにテストサーバでもサムネイルツクレター…って対応遅すぎw。

デザインを微調整

CSSをいぢる。小手先の修正になって墓穴を掘らないように注意しながらいぢる。しばらくこれで様子を見る(確認できる他の環境があれば確認する)。
今後、ウィークディの時間のありそうなところで携帯版を調整する…つもり。