-オープンソースのSNSエンジン OpenPNEプロジェクト-

OpenPNE3開発風景#2

10 / 31 金曜日 2008

開発チームの川原です。

OpenPNE3開発風景#1

※ところで今日川原君が開発していたのは、 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の部分)が出てしまいました。

ws000000.JPG

真っ白なページに結果を書き出す必要があったので、
独自のテンプレートを 「plugin_root/apps/*/templates」に追加!
view.ymlで設定!

と作業を行ったところで、動かなかった。
どうやら、今までは対応していなかったようです。

昨日の、やりとりで対応するようになったので、
タイトルも何もないページテンプレートや、プラグイン独自のメニューなどを追加できるようになりましたよ。

2、プラグイン独自のキャッシュはどうする?

キャッシュをなぎ払うための「symfony cc」コマンド。
symfony開発者にとっては、おなじみだと思います。

ですが、使うライブラリによっては、プラグイン独自のキャッシュが必要になってきたり
する場合があると思います。

現在作成中のOpenSocialプラグインは、使用ライブラリの関係で使わなくてはいけません。)

昨日の対応で、「cache/*/*/plugins」のディレクトリ内のファイルも
削除してくれるようになりました。

今のところ、キャッシュの先は「sfConfig::get(‘sf_app_cache_dir’).’/plugins/プラグイン名’」
といった具合に設定しています。

——-

こういった感じで、プラグイン開発のためにOpenPNE3を利用してみると、
こんな機能があると便利なんじゃないか(必要なんじゃないか)、というのが見えてきます。

すばらしいSNSを作るために、ぜひたくさんの人に開発に参加してもらいたいです。

ページの先頭に戻る