OpenPNE3開発風景#2
10 / 31 金曜日 2008
開発チームの川原です。
※ところで今日川原君が開発していたのは、 OpenPNE3 にとってすごく大事な機能です。これについては川原君本人から近々発表があると思うので、お楽しみに!
という、フリがあったので、それについていろいろと書いてみます。
1、templatesファイルが動かない!
plugin_root
├config
├lib
├web
├i18n
└apps
└*
├config
├lib
├templates
└modules
└*
├config
├lib
├actions
├templates
└i18n
OpenPNE3では、symfonyのプラグインとは違ったディレクトリの構造の
プラグインを追加することによって、簡単なプラグインの追加を実現しています。
本来のsymfonyであれば、Pluginの直下におけるのは、
modulesディレクトリで、そこにモジュールを追加して
さらに、本体のアプリケーションの設定で特定のモジュールを有効にするという
面倒な設定を必要とします。
そんな設定の必要がない!
海老さんすげー!な機能です。
そんなこんなで、プラグインをつくっていると
そのアプリケーションのテンプレートの設定が働くので
OpenPNEのタイトル部分(↓でいえばMySNSの部分)が出てしまいました。
真っ白なページに結果を書き出す必要があったので、
独自のテンプレートを 「plugin_root/apps/*/templates」に追加!
view.ymlで設定!
と作業を行ったところで、動かなかった。
どうやら、今までは対応していなかったようです。
昨日の、やりとりで対応するようになったので、
タイトルも何もないページテンプレートや、プラグイン独自のメニューなどを追加できるようになりましたよ。
2、プラグイン独自のキャッシュはどうする?
キャッシュをなぎ払うための「symfony cc」コマンド。
symfony開発者にとっては、おなじみだと思います。
ですが、使うライブラリによっては、プラグイン独自のキャッシュが必要になってきたり
する場合があると思います。
(現在作成中のOpenSocialプラグインは、使用ライブラリの関係で使わなくてはいけません。)
昨日の対応で、「cache/*/*/plugins」のディレクトリ内のファイルも
削除してくれるようになりました。
今のところ、キャッシュの先は「sfConfig::get(‘sf_app_cache_dir’).’/plugins/プラグイン名’」
といった具合に設定しています。
——-
こういった感じで、プラグイン開発のためにOpenPNE3を利用してみると、
こんな機能があると便利なんじゃないか(必要なんじゃないか)、というのが見えてきます。
すばらしいSNSを作るために、ぜひたくさんの人に開発に参加してもらいたいです。