2009年4月14日火曜日

MantisのPluginを作ってみる(1)

MantisはBTS(BugTrackingSystem)ですが、単にバグを管理するだけでなく
ワークフローに入れてみると比較的小さな会社でも組織化させるにあたって有効です。
丁度前に勤めていた会社でそのような使い方をしていたのですが、元々のコードを
かなりいじったものを使っていたのでバージョンアップは時の運。

今時のMantis 1.2系ではプラグインで拡張できるようになっているらしいので、
しばらくコレをさわってみることにしました。

とりあえずはMantis 1.2.0a3をダウンロードしてセットアップ。
デフォルトではPluginは /path/to/mantis/plugins/ 以下に置くことになっています。
試しにTestingPluginを作成してみます。

# mkdir plugins/Testing
# vi plugins/Testing.php



// 基となるクラスファイルを読み込みます
require_once( config_get( 'class_path' ) . 'MantisPlugin.class.php' );

// MantisPluginを継承してクラスを作成
class TestingPlugin extends MantisPlugin {
// PluginをMantisに認識させるのに必要な情報をregisterメソッドで定義します
function register( ) {
$this->name = 'Test'; // Pluginの名称
$this->description = 'Just a testing plugin. under construnction.'; // Pluginの説明
$this->page = '';

$this->version = '0.1'; // このPluginのバージョン
$this->requires = array(
'MantisCore' => '1.2.0',
); // 依存するPluginとそのバージョン

$this->author = 'vegao'; // 作成者
$this->contact = 'vegao@sample.com'; // 作成者への連絡先
$this->url = ''; // 作成者のURL
}
}

単にPluginとして認識されるようにregisterのみ記述しているだけですが、
コレでも一応「システム管理」の「プラグイン管理」に表示されます。

ドキュメントを見る限り、MantisのPluginの仕組みはEventがどーのこーのと書かれていますが
徐々に紐解いて行くことにします。

0 コメント: