(WikiEngineとは例えばMediaWiki、PukiWikiなど)
プラグインの解説や開発方法ならそれぞれの公式サイトで説明されていますが、WikiEngine自体の解説は無いようでした。
■WikiEngine
5年前ぐらい
自前でWikiもどきを作ろうとしたとき調べましたが
なかった気がします。
PukiWikiは、オブジェクト指向で書かれていて
解析するのには難しくはなかったです。
結構きちんとした構造をしてました。
解析だけならPukiWikiの古いソースのほうが、
骨格だけなので、参考になると思います。
perlなので、オブジェクト指向でない書き方ですが
http://www.hyuki.com/yukiwiki/
の最もシンプルなWiki(YukiWikiMini)のソースをみて
大体の機構を学びました。
■WikiEngine
5年前ぐらい
自前でWikiもどきを作ろうとしたとき調べましたが
なかった気がします。
PukiWikiは、オブジェクト指向で書かれていて
解析するのには難しくはなかったです。
結構きちんとした構造をしてました。
解析だけならPukiWikiの古いソースのほうが、
骨格だけなので、参考になると思います。
perlなので、オブジェクト指向でない書き方ですが
http://www.hyuki.com/yukiwiki/
の最もシンプルなWiki(YukiWikiMini)のソースをみて
大体の機構を学びました。
機能や利用者向けの説明なら山ほどあったのですが、結局ソースコードに当たるのが良いようですね。手始めにPukiWikiを読んでみました。
一部WikiEngine開発に使える書き込みがありました。
http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B...(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)
DecoratorやFactory Method、PrototypeはWikiEngineに使えそうです。
wikiエンジンはWebアプリケーションの中では特に複雑なものでは無いと思います。骨格だけならむしろ簡単な部類に入ります。ですので、WikiEngineを作るにあたって特別な知識やノウハウ・理論などは必要ないと思います。
それがwikiの内部構造についての解説が無い理由ではないでしょうか。
ですから、Webアプリケーション作成についての基本的な知識があればWikiEngineは独力で作れると思います。
もちろん、実際に稼動するアプリケーションを書こうと思えばそれなりに悩むこともありますし、MediaWikiのように豊富な機能を作成するのはそれなりに大変な作業です。参考ソースが必要であれば、回答者1の方が書かれているように実際に稼動しているソースを読むのが良いと思います。
仰るとおりで、例えばPukiWikiはWikiとしての機能をすべてプラグインにしていました。
その他の部分はWebアプリ全般と共通することばかりです。
そうなるとプラグインの仕組みについての資料が欲しくなるわけですが、やはりソースコードを読むしかなさそうです。
機能や利用者向けの説明なら山ほどあったのですが、結局ソースコードに当たるのが良いようですね。手始めにPukiWikiを読んでみました。