2008年01月06日
HTTP::MobileAgentのプラグインいくつか上げました。
CPANやオープンソース開発に関する自縄自縛の思い込みが解けたので、内輪で作ってたHTTP::MobileAgentのプラグイン3つ、CPANに上げました。
各端末がXHTML対応か否かを確認するプラグインです。
次のHTTP::MobileAgent::Plugin::IDでの判定に、XHTML対応機種か否かの判定が必要だったので作りました。XHTML判定自体は本家にあるのですが、未知の機種の場合にXHTML非対応になってしまうのが気に入らなかったので、プラグインとして追加しました。
各端末からのユーザID(取得できないものは端末シリアルID)を取得するためのプラグインです。
HTTP::MobileUserIDと似ていますが微妙に欲しかったユースケースと違うので作りました。
ケータイ位置情報を扱うためのプラグインです。
codereposのHTTP::MobileAgent::Plugin::Locatorと似たようなのですが、こちらでできないこと:
位置情報取得時のクエリストリングの持ち回り(各端末の仕様に基づいた持ち回り数しか持ちまわれません。EZWeb:0、DoCoMo iエリア:2) mova iエリアからの経緯度取得(エリアメソッドと経緯度メソッドを分けたので、エリアしか返さないI/Fではエリアしか取れません。経緯度を返さない仕様で経緯度を生成するのは止めました)こちらでできること:
経緯度オブジェクトとしてGeo::Coordinates::Converter、Location::GeoToolの双方が利用可能 利用する位置情報の精度を変更可能(GPS対応機でも簡易位置情報やiエリア利用可能) 位置情報の精度取得可能(基地局精度、混合測位、GPSの3段階) 経緯度からiエリアの生成可能あたりに差があります。
ただ今Yappoさんにcodereposのアカウント申請中ですので、それが終わればcodereposにも上げますのでツッコミよろしくお願いします。
::XHTMLと::ID、どちらも html_version がわからないときに 1 を返しているのは、未知の場合にそうしたいという意図はわかりますが、本家がそもそも未知を検出できないのが問題なのであって、それをプラグインで無理やりなおすのはなにかベクトルが間違っている気がしないでもありません。
あと、1つの.pm に複数の package を書くとPAUSEが混乱します(CPANのリンク先参照)。その上、HTTP::MobileAgent のメンテナシップを持っていないので UNAUTHORIZED が表示され、CPAN index 上も問題があります。sub HTTP::MobileAgent::XXX {} のようにするか、 package のあとに改行をいれてください。
Posted by: miyagawa at 2008年01月06日 22:07いろいろご迷惑をおかけしましたのにアドバイスをいただきましてありがとうございます。
> ::XHTMLと::ID、どちらも html_version がわからないときに 1 を返しているのは、未知の場合にそうしたいという意図はわかりますが、本家がそもそも未知を検出できないのが問題なのであって、それをプラグインで無理やりなおすのはなにかベクトルが間違っている気がしないでもありません。
patchかテストケースで本家に送った方がよいということでしょうか。
> あと、1つの.pm に複数の package を書くとPAUSEが混乱します(CPANのリンク先参照)。その上、HTTP::MobileAgent のメンテナシップを持っていないので UNAUTHORIZED が表示され、CPAN index 上も問題があります。sub HTTP::MobileAgent::XXX {} のようにするか、 package のあとに改行をいれてください。
subで書くのは面倒くさそうなので、改行の方で対応したいのですが、現コードでpackageの後に改行は入っているように思います。
UNAUTHORIZEDが出ていないHTTP::MobileAgent::Flashのソースを見ますと、packageの後に改行は入ってないようなのですが、そのようにすればよいでしょうか。
> subで書くのは面倒くさそうなので、改行の方で対応したいのですが、現コードでpackageの後に改行は入っているように思います。
package Foo の package と Foo の間に改行をいれる、という意味です。PAUSE のパーサが理解しなくなります。
でも、sub で書き直すのは面倒だとは思わないですけどね。あるいはグロブを使ってメソッドを生やす方法でもできます(redefine するやつではそうしていますよね?)
Posted by: miyagawa at 2008年01月06日 23:41こんにちは。
http://www.google.co.jp/codesearch?q=package+hide+from+PAUSE+lang%3Aperl
検索したらpackage宣言内に改行いれているサンプル結構ありました。参考になれば。
大変遅くなりましたが、miyagawaさんに指摘されました対策済みのものをCPANに挙げました。
ただしXHTMLのみ、今後の扱いをどうするか思案中なのでまだ前のままおいてあります。
![[ここギコ!]](http://kokogiko.net/logo.png)



・国連人権委、アイヌ・琉球文化の保護を日本に勧告(ほるほる)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(okumula)
・人員がクラスタ化できている職場と言うのはうらやましい そろそろ限界です(「ま」のつく人)
・もうAmazonクレジットカードは使いません...楽天カード一本で。(名無し)
・ジオメディア忘年会 新年会から始まり東京1、2、関西と続いたジオメディア2008の締めくくり(ぴかぴか)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(kokogiko)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(かやま)
・なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(大阪府民)
・なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(kokogiko)