CodeIgniterをつかってMIXIアプリを作る(0)

久しぶりのブログ投稿です。
ずっとしこしことCodeIgniterを使ったフレームワークの拡張を行っておりましたが、現在は次のような感じ

1)MatchBoxライブラリを辞めて、HMVCを使ってモジュール化を実現。
これに関しては、速度の問題、CORE本体に手を入れなくて済むという問題をクリアしてくれました。
※メモリの利用率はMatchBoxより気持ち使うようです。
※移植で一番問題がでたのは、コントローラがHMVCの独自になってますが、ここにバグが。(最新バージョンでは
直っているかも知れません。作者に変な英語でバグの部分と再現方法、パッチを送りましたので)
簡単にいうと、Controllerの_outpu()メソッドが使えなかったんです。また、CIのオブジェクトを利用するとき、
独自のアプリケーション用共通コントローラをつかっていたのですが、そのメソッドやプロパティを参照しませんでした。
こちらに原因があるのかと思って調べたところ、そもそものCIオブジェクトの保持の仕方が違ってました。
_outputを使わなかったり、モジュールのコントローラからアプリのコントローラのメソッドを利用する場合はきがつかないのですが、
codeigniter.phpが最終出力を行う際、outpu.php、アウトプットクラスを見てそこから出力をおこなうので、
CIオブジェクトに_output()があれば、というのがCIのつくりです。つまり、コントローラはCIのオブジェクトとして動くんですが、
HMVCの場合、コントローラを独自にHMVCが用意しており、そこでのCIオブジェクトの保持方法に不具合があったということですね。

とりあえずアウトプットクラスをアプリにおいてそこで処理するようにしました。。

2)MyNETS2という名称をSNSに限定
現在触っているものはSNS、ということではなくCodeIgniterを使ったプリケーション開発フレームワークです。
ですので、あくまでも開発ツールという位置づけ。
そこから作り出されたアプリと名称を分けることにしました。

MoonBASEという名称に決定。(どこかで聞いたことありますが)。
で、Usagi Project、USAGIから連想する月、の基地、ベースということでMoonBASE。
でそこから作り出される、現状のMyNETSの新バージョンを「KAGUYA」とすると思います。

3)本題に入りますがw
そのMoonBASEで簡単にMIXIアプリを構築する事ができるようにしています。
MIXIアプリはフラッシュをつかったゲーム、が多いのですが、MoonBASEでは既存のWEBサイトを構築するようにして
オープンソーシャルアプリ、MIXIアプリを構築することが可能です。
OpenSocial RESTfull API を使ってowner_idなどを取得し、それを元にアプリ側のDBと照合します。
認証はOAuthを使いますが、これもライブラリを入れてコンシューマーキーやアプリIDを設定保存するだけで動きます。
フラッシュで作る場合はデザインなど高いスキルが要求され、自分には太刀打ちできませんが、
WEBサイト構築を行うようにつくれば、そのままMIXIアプリとしてうごかせるので、今までの経験が無駄になりません。

現在、セッション処理をMIXIアプリのowner_idを使うことで行うように手を入れている状況です。

出来上がれば、これでいくつかMIXIモバイルアプリを作る予定。
PCもいけますね。