読者です 読者をやめる 読者になる 読者になる

tohokuaikiのチラシの裏

技術的ネタとか。

Confluenceのプラグイン開発を承ります。ご連絡はこちらのホームページからお願いいたします。

今時のEthnaを使う

php Ethna

現時点でのEthnaを持ってきて使ってみる。
https://github.com/ethna/ethna/tree/release/2.6.0beta4

ずっと2.5くらいだったので。

インストール

Smarty3を使う。

Ethna_Renderer_Smarty3クラスを見ると、Smarty3/Smarty.class.phpを使うようになってる。えー、普通Smarty/Smarty.class.phpだよねー、そうしてよ・・・と思いつつ、Smarty3ディレクトリに変更したらプラグインとかないと言われる・・・そらそうよ。

Smarty3=>Smartyシンボリックリンクはってもいいかなと思ったけど、1分くらいコード見て

<?php
    'renderer' => array(
        'smarty3' => array(
            'path' => 'Smarty/Smarty.class.php',
            ),
        ),

って感じにした。

Pluginの設置に戸惑う

オレオレGeneratorを使いたかったのだけど、どうも今までの方法だとダメみたい。
http://ml.ethna.jp/pipermail/cvs/2009-April/000807.html
Σ(゚д゚|||)ガーン. Σ

さて・・・なんとなく
app/plugin/Generator/APPID_Plugin_Generator_Action.php

app/plugin/Generator/Action.php
とかにしたら読み込むみたいだが・・・・。generateメソッドを通らないorz

Ethna_Plugin::_searchPluginSrc()を読んで、更に命名規則Ethna_Plugin::getPluginNaming($type, $name)から命名側を・・・って、あああああ。これ、AppIDがEthna固定やん・・・。

気を取り直して、

Ethna_Pluginがクソだと思ったら、それをOverrideすればいい。
要するに、Controller::getPlugin();をごにょっと。Controller::classのpluginのところを変更。
自作のEthna_Pluginを継承したClassに書こう。

…と思ったけど、これがどうも駄目っぽい。

ソース追うのも疲れたので、ethnaコマンドにそういえばcreate-pluginっていうのがあったなと思い、作ってみると、Ethna_Plugin_Filter_****** みたいなのができた。

・・・ということは、ダメなんだ。


うーん。面倒なので、もうファイル交換で終わらせた。