KnowledgeTreeプラグイン作成2

| コメント(0) | トラックバック(0)

引き続きボチボチやってる。

プラグイン作成とかで難しいのは、そのプラットフォームの仕組みを理解する事。いったん仕組みが分かっちゃえば後は普通のプログラミング。KnowledgeTree (KT)の場合はPHP。

今回はプラグインに関連するテーブルの簡単な解説。

1つめはpluginsテーブル。プラグイン一覧できるテーブル。主なフィールドは以下の通り。

namespace
前回の例で行くと、DocumentDiffPluginクラス内、$oPluginRegistry->registerPluginの第2引数
path
pluginの実体のPHPファイル。$oPluginRegistry->registerPluginの第3引数
friendly_name
DocumentDiffPlugin参照

このテーブル内のレコードははpluginsディレクトリ内にあるファイルから自動される

2つめはplugin_helperテーブル。プラグインの動作などを規定するっぽい。主なフィールドは以下の通り(順番は前後する)。

classtype
プラグインの種別。今回作成してるのはaction
namespace
前回の例で行くと、DocumentDiffActionクラスのnamespaceが入る(kz.documentdiff.plugin.document.diff)
plugin
今回の例で言うと、actionを登録したpluginのnamespaceであるkz.documentdiff.plugin
classname
クラス名。DocumentDiffAction
path
今回の場合、actionが定義されているPHPファイル。plugins/docdiff/DocumentDiffAction.php
object
他のフィールドの値を「|」でつないだだけもの? documentaction|DocumentDiffAction|kz.documentdiff.plugin.document.diff|plugins/docdiff/DocumentDiffAction.php|kz.documentdiff.pluginという値が入っていた。

これらのテーブルの値は、プラグインの管理画面の「Reread plugins」と「Update」を押した時に追加・更新されると思うけど、一度登録されたプラグインのnamespaceなどはプラグインの無効化・有効化とかしても変更されないので、pluginが画面に現れない、呼び出されないと言った時にはこれらのテーブルの値を確認すべき。

自分はこれで結構ハマった...No such action exists in KnowledgeTreeとか出た時があったけど、最終的にはDBのデータを直接修正した。

トラックバック(0)

トラックバックURL: http://www.kazu.tv/blog-mgr/mt-tb.cgi/721

コメントする

このブログの作者

名前:kazu
仕事:IT関係の何でも屋
メール:kazu 後幕 kazu どと tv
詳しくはこの辺

このブログ記事について

このページは、kazuが2008年12月21日 00:38に書いたブログ記事です。

ひとつ前のブログ記事は「おいおい」です。

次のブログ記事は「ダブルクォーターパウンダーチーズ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ