Category::Plugin

ページの保存時に、プラグインが実行されるようになりませんか?

  • ページ: BugTrack2
  • 投稿者: choi?
  • 優先順位: 低
  • 状態: 却下
  • カテゴリー: 本体新機能
  • 投稿日: 2005-07-10 (日) 19:22:14
  • バージョン:

メッセージ

お世話になります。プラグイン機能の拡張に関してですが、現在 plugin_xxx_init, plugin_xxx_convert, plugin_xxx_inline, plugin_xxx_action の4通りの方法でプラグイン実行されますが、これに新しくページ保存時にプラグインが実行される機能が欲しいと思いました。

というのも、ページにカテゴリ(タグ)を付けるというプラグインを作成した時に(→official:欲しいプラグイン/168)、ページの保存時に実行できればいいものを、ページの読み込み時に毎回実行するようにしかできなかったからです。他に現在考えている機能として、関連したページの表示をrelatedではなくより高機能なものにできないかと考えています。そのためにもページ保存時に実行されるような仕組みが欲しいです。

プラグインの作成の幅も広がると思いますし、それに詳しくはわかりませんが、RecentChangesの更新やlinks_update()といった処理が本体に書かずに完全にプラグイン化できてすっきりなるのではないでしょうか。

ご検討のほどよろしくお願いします。


  • こんにちは :) コメントありがとうございます。想定通りのものかどうか、それ以上ないし副作用があるかどうかは実装に依存しますので、いじって見て下さい :) -- henoheno 2005-07-10 (日) 20:10:36
  • RecentChangesやlinks_update()の部分は証拠がありませんので現段階で気にされる必要はありません。 -- henoheno 2005-07-10 (日) 20:12:06
  • 実行されるタイミング、という観点は分かりやすいですし、私も欲しいな~と思います。 たぶんchoiさんの目的とするところは速やかにplugin_xxx_convertの実行を完了させる点にあると思います。 もう少し進めて実行不要とするぐらいの機構と絡めて(その一部分として)提示した方が本体には取り込まれやすいような気がします*1。いずれにせよ昨今のリリースの流れを見るに実際動くコードがないと状況は進展しない雰囲気です。 -- にぶんのに 2005-07-10 (日) 21:29:23
    • ええ、本体の見直しが大変*2すぎて、検討前のものについてはリソースが割けそうにありません (^^; 他の案件と同じ様に、足りないものは(興味のある方が)このページに補いましょう。 -- henoheno 2005-07-10 (日) 22:49:04
    • そうですね。とりあえず自分でやってみます。 -- choi? 2005-07-11 (月) 01:22:39
    • はずしているかもしれませんが、保存する直前にテキストを動的修正しているのは cvs:lib/file.php にある make_str_rules() です :) 一応さらなる拡張の余地を残したつもりでっす -- henoheno 2005-07-11 (月) 21:11:33
  • こんな感じで作りました(http://www.edu.kutc.kansai-u.ac.jp/circle/banditz/blog/index.php?PukiWikiHack%2F%CA%DD%C2%B8%BB%FE%A4%CB%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%BC%C2%B9%D4 )けど、どうでしょう?よかったらどうぞ使ってやって下さい -- choi? 2005-11-10 (木) 00:50:59
  • 応用例(http://www.edu.kutc.kansai-u.ac.jp/circle/banditz/blog/index.php?PukiWikiHack%2Fcategory.inc.php_hacked )です。 -- choi? 2005-11-10 (木) 00:52:45

*1 henohenoさんがどこかで書いていましたが最終的にはページ全体の変換結果をキャッシュできると素敵ですね
*2 多量・・・なのは、今まで定期的に見直す動きが無かった事の反動

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-11-10 (木) 00:52:45
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.207 sec.

OSDN