OpenPNE3プラグインの作り方#1
OpenPNE3プラグインの作り方#1
11 / 17 月曜日 2008
この記事は OpenPNE3.0.x のものです。現在の最新安定版では動作しない箇所が存在します。
OpenPNE3では、プラグインとしてあらゆる機能を追加することができます。
ただいま、自分が実装を手掛けているOpenSocialの機能もプラグインとして作成しています。
OpenPNE3はsymfonyフレームワークを利用していますが、
symfonyのプラグインとは違ったプラグインの構造を持っています。
さらに、プラグインの骨組みを作成するためのタスクも用意されているようです。
今回は、そのタスクを利用してプラグインの骨組みを作成してみます。
コンソールでOpenPNE3がインストールされたディレクトリに移動します。
* 以下、「/var/www/OpenPNE3」にOpenPNE3をインストールした想定で説明します。
$ cd /var/www/OpenPNE3
次に、プラグイン作成タスクを実行します。
今回は「opSamplePlugin」という名前でプラグインを作成することにします。
現状ではプラグイン名の命名規則は未定ですが、
「opなんやらかんやらPlugin」
という方向で考えられているようです。
以下のタスクを実行することにより、 OpenPNE3の「plugins」ディレクトリ下に
「opSamplePlugin」が追加されるはずです。
$ symfony opGenerate:plugin opSamplePlugin
新しく追加された「opSamplePlugin」ディレクトリの中には、4つの空のディレクトリが作られます。
apps
conf
i18n
lib
symfonyプラグインとの大きな違いは、「apps」ディレクトリを配置できることにあります。
この下に、アプリケーションごとのモジュールを配置することができます。
これらの作成を自動的に行うためのタスクも用意されているようです!
PCからのSNSメンバーが利用するpc_frontendアプリケーションに
「hello」モジュールを追加してみます。
以下のタスクで「apps」ディレクトリ下に
空の「modules」ディレクトリが含まれた「pc_frontend」ディレクトリが作成されます。
$ symfony opGenerate:app opSamplePlugin pc_frontend
さらに、「pc_frontend」に「hello」モジュールを追加します。
以下のタスクで「pc_frontend/modules」ディレクトリ内に「hello」ディレクトリが作成されます。
$ symfony opGenerate:module opSamplePlugin pc_frontend hello
http://sns.example/
がOpenPNE3のURLであったとき、
http://sns.example/hello
にアクセスして以下のページが出れば完了です!
次回の投稿では、今回作成した骨組みを利用して実際にアプリを作っていきます。