Symfony 1.2にアップデート

自宅サーバのWebアプリで使っているPHPのフレームワークであるsymfonyのバージョンを1.2にあげました。

kwLabsのSandbox
x-jukebox.com
walkmanlog.com
などに影響があります。

下記を参考にやりました。

http://www.symfony-project.org/installation/1_2/upgrade
symfonyというか、Propelの1.2->1.3の変更でそこそこ影響をうけました。symfonyのModelをちゃんと使っていればPropelの変更などには影響をうけないんですが、複雑なSQLをModelでがんばるのが面倒で、中途半端にPropelを直接使っていたのでいくつか変更が必要でした。

PropelのUpdateにはこちらが参考になります。

http://propel.phpdb.org/trac/wiki/Users/Documentation/1.3/Upgrading
symfonyの変更でいうと、
Modelの日付型の属性を取得するときにformat=nullで指定してUnixTimeStampを取得するような感じにしていたのだけど、symfony 1.2ではformat=nullで日付型の属性を取得するとDateTimeオブジェクトが返ってくるようでした。素直にformat=’U’でTimeStampをとるように変更。はまったのはそれくらい。

WALKMAN.LOG β版

え、えーと。すみません。な、なんと7ヶ月ぶりの更新です。

残念ながらほとんど使われていないもので。今回のリリースも使ってみたいフレームワークの勉強がてらの作り直しです。

依然としてアクセス制限はかかっているのでキャプチャだけの紹介となりますが、エセWebアプリが見た目Webアプリっぽくなった感じです。とはいえ、実際動いているところを見ないとアプリっぽいことは伝わらないんですが・・・

α版:

                   ↓
β版:

応援していただいている外部の人には申し訳ないんですが、ソニーさんがAPI公開とかちゃんとしてくれないとこのアプリの公開は厳しいのです。

ソニー社員の心が揺れ動くような機能を追加していかないといかんなぁと思っています。いくつかアイディアはあるんですけど、、、実装はいつになることやら。地道にやっていくしかないです。

自宅サーバのsymfonyを1.1.4にアップデート

自宅サーバのsymfonyのバージョンを10/4にリリースされた1.1.4にアップデートしました。なんか(x-jukeboxとかWALKMAN.LOGとか)動かなくなってたらごめんなさい。

「symfonyで開発日記」が全然1.1系のバージョンアップの記事を書いてくれないので、購読をやめて普通に本家のブログを追っかけることにした。(というか最初からそれで良かったのでは・・・)
マイルストーンだと今月に1.2が出るっぽいんだけど、どうなんだろう。チケットまだ半分以上残ってるだけど。

symfony 1.1にアップデート

自宅サーバのsymfonyを1.0から1.1に更新しました。

x-jukebox(atunes/mradio)
walkmanlog
のプロジェクトも更新しました。

普通はバージョンをあげるメリットを見極めてあげるもんなのですが、勉強がてらつくってるWebサービスなのでなるだけ新しいものを使おうかと思った次第です。なんとなく軽くなんないかなーという淡い期待はあります。

1.0と1.1の互換性のない部分の更新のためプロジェクトのアップデートに数分かかったのですが、symfony(PHPの1ライブラリ)のアップデートでapacheを止めるわけにもいかないので一旦メンテナンス画面にした上で更新しました。

symfonyプロジェクトのwebフォルダの下に
maintenance.htaccess
maintenance.html
の二つを用意。

maintenance.htaccessはこんなん。

Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ maintenance.html [QSA,L]
</IfModule>

maintenance.htmlはメンテナンスです。を表示するただのhtml。

でsymfonyプロジェクトのwebディレクトリで下記コマンドを実行し、.htaccessを置き換え

mv .htaccess symfony.htaccess; mv maintenance.htaccess .htaccess

アップデートが終わったら

mv .htaccess maintenance.htaccess; mv symfony.htaccess .htaccess; cd ..; symfony cc;

で元に戻す。

WALKMAN.LOG + AtomFeed

なんとなくWALKMAN.LOGにてAtom Feed配信してみた。Feedは汎用性があってイイ。たとえばGoogle Ajax Apiに食わすとこんな感じ。

Loading…





ただ肝心のWALKMAN.LOGの一般公開は難しそうなんですよね。。。吉岡さんから攻めようかと思ってたのにもうオーディオ事業部長じゃなくなってるし、、、timを攻めれば良いのか?でも向こうがこっち覚えてるわけがない。

WALKMAN.LOGその後

期待を集めているのか、集めていないのか全くよくわからない「WALKMAN.LOG」ですが、今のところまだアクセス制限はつけたまま、一部の限られた日としか使えない状態が続いており申し訳ない限りです。

正直なところ、制限がかかっていて世の中に見せびらかせないので、ますます再生履歴アップしたけど、だから何なの?という状態に陥っているわけなのですが、それではまずいということでブログパーツを作成して外に公開してみました。

kwLogにも貼り付けてありますが、ブログパーツにはアクセス制限をかけていないので誰でもみることはできます。

それ以外に変わったところといえば・・・ぽつぽつとした変更のみ。

mixi musicに対応しようかと思ったらどうも古いmixstationを使わないといけないらしいような情報を見つけてかなり面倒そうな感じでやる気が99%ダウンしています。元々mixi使ってないし・・・、なぜAPI公開しないのかわからないけれどmixi自体がある意味オープンなインターネットにおける閉じたclosedな世界という一見矛盾した世界をつくっているところなので世間のAPI公開の流れとは無縁なのかもしれません。そう考えると残り1%しかないやる気もますますダウンします。。。

PLAYLOGに対応しようかと思いましたが、SonicStageとかぶるし何なら二重投稿になりかねないしこちらもいまいち進めるべきと思えず・・・
ちょっとWALKMAN.LOGから離れて別のアプリを作ろうと思っています。

ウォークマンの再生履歴をLast.fmにアップロードするWebアプリを作った

makoto_kwのソロプロジェクト第2段WALKMAN.LOGというWebアプリを公開しました。といってもまだαバージョンとして認証をかけているので知り合い限定で公開というところからはじめようかと。

walkmanlog_20080228.gif

もともとの開発の動機はAudioscrobbler(Last.fm)にウォークマンの再生履歴をアップロードしたい。と思ったから。だってパソコンで音楽聞かないんだもん。iPodの履歴を送信するツールもあるけど、最近聞いたプレイリストを利用しているだけで純粋な履歴じゃなかったりするんですよね。

WALKMAN.LOGでは純粋なウォークマンの再生履歴をアップロードしています。これを実現するためにウォークマンの再生履歴を読み出すCOMを作りました。それをJavaScriptから呼び出して送信します。

再生履歴は直接Last.fmに投げるのではなく、いったんWALKMAN.LOGで履歴を管理して、そこから送信しています。これは同じ再生履歴を何度も送信しないためにどれが送信済みなのかを管理したかったため。あとはLast.fmに送信する・しないを公開・非公開として設定できたりもします。

しかし自分で作っておいて何だけど他にこれを使いたい人がいるのか不明。Last.fmユーザじゃなければ、再生履歴をアップロードしてもだから何なの?で終わってしまう。。。

自分としてはそれまで500曲程度だったLast.fmの履歴が一気に3000曲も追加されて、今週は毎日ウォークマンの履歴をWALKMAN.LOGにアップロードしてLast.fmに送信してます。かなり自己満足モードです。