pukiwiki 構成の拡張 (複数のPukiWikiが同じコードを共有する)

  • ページ: BugTrack
  • 投稿者: merlin
  • 優先順位: 普通
  • 状態: 着手
  • カテゴリー: 本体新機能
  • 投稿日: 2003-07-08 (火) 14:17:28
  • バージョン: 1.5?/2.0?

メッセージ

PukiWikiをカスタマイズする作業には3種類あると考えられます。

  1. サイトの設定に関するカスタマイズ
  2. Skinなどのページデザインに関するカスタマイズ
  3. 機能拡張に関するカスタマイズ

1サイト1pukiwi か それぞれの Pukiwikiサイトの為に全ファイルをインストールしていれば 問題ないのですが、同一サーバ内では、大抵は同じ様なポリシーで構成されますので無駄が生じます。そこで提案なのですが、unix系のOSでは、/etc にデフォルトの設定が入っていて、各ユーザー側には、ユーザー固有の設定が入っていてデフォルトの設定をオーバーライドする形でソフトウェアが動作します。それと同じ様に PukiWikiデフォルトの設定の部分は直接変えないでサイト毎に設定が変えられるようにしたらどうでしょう? 現在のものでは、アップデート時などに差分を適用する形になり アップデートがちょっと面倒な感じがするのと、本体部分

WebSite -- User Site 1     - pukiwiki.php
        |                    pukiwiki.ini.php
        |                    default.php 
        |                    -backup,wiki 他 作業用ファイル
        |                    -image  : ユーザー固有イメージ
        |                    -face   : ユーザー固有フェイス
        |                    -plugin : ユーザー追加plugin
        |                    -skin   : ユーザー固有スキン
        |- User Site 2
        |- User Site 3
        |- PukiWiki Install Dir 

このようなイメージで、pukiwiki.ini.php 以外は、まず、Install Dir 側のファイルを読んでから ユーザーサイト 側のファイルを読むことにより設定をオーバーライドします。また、skinも同様です。また、plugin , image , face も同様です。同じファイル名のものがあった場合には、ユーザー側を優先するようにします。

このようにすれば、ユーザーサイトを増やす場合でも容易ですし、アップデートがあってもInstall Dir 側のファイルを変更するだけで全てに反映されます。

いかがでしょうか?


  • これってWikiFarmじゃないですか? -- Ratbeta? 2004-07-06 (火) 20:45:08
  • 設定をオーバーライドできるようにしたり、複数のPukiWikiで同じPHPファイルを共有したり、というアイデアは WikiFarm という概念(話題)とは別個に考えることができると思います。多くの人がイメージするWikiFarmというのは「Webベースで新しいWikiが作成できる」といったもので、その裏側でWikiがどのように構成されているのか、という部分の縛りはむしろ無いのではないでしょうか。例えば、新規にWikiを作成する部分について、裏側で一本分の新しいPukiWikiを物理的に丸コピーする形で実現されていたとしても、ユーザーはそれがWikiFarmであると認識するでしょう。 -- henoheno 2004-07-06 (火) 21:56:12
  • 本題ですが、既にCVS上では SUB_DIR と HOME_DIR を定義することができましたので、PHPファイルの共有、およびカスタマイズ要素を含めたデータ部分の分離はかなり実現しています。また、どちらもオーバーライド可能です。ステータスは着手としておきます。 -- henoheno 2004-07-06 (火) 22:02:07

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-12-09 (金) 03:33:00
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.179 sec.

OSDN