* PukiWiki/WikiFarm [#bfcc5981]

------------------------
#contents
------------------------

* WikiFarm の実装について考える (2003/08) [#v24b2064]

[[PukiWiki2]] から引っ越してきました。

**関連項目 [#vc7c202d]

-複数のPukiWikiを飼う方法
-[[国際化>PukiWiki/国際化]]

**複数のPukiWikiを飼育する方法 [#o9c4333b]

複数飼うということは、以下のニーズから発生すると考えている。

-設置者が意味のある分類から、文書を分けて設置したいという(''文書の二重化'')
-開発者がテストなどの観点から、プログラムを分けて設置したいという(''プログラムの二重化'')
--複数プロジェクトに対してWikiを設置したい場合に、管理者のバージョンアップなどの手間を少なくしたい場合もありうる。

また、このことは、以下のメリデメが発生する。

|二重化|メリット|デメリット|h
|文書|URIから分離した分類ができる|各PukiWiki本体と密結合|
|プログラム|複数バージョンのPukiWikiが同居できる|保守が面倒|

***プログラムの二重化 [#n23e1f29]
>この場合の目的としては、文書に比重があるわけではないので、PukiWiki を単純に、二重設置すればよく、また、この手の用途がある場合の設置者は、それ相応の知識・技術を持ち合わせていると考えるので、あえて、細かく説明するまでもないのであろう。
<

***文書の二重化 [#zfdcefed]
>これに相当する考え方が、WikiFarm である。文書のみならず、スキンも二重化するという考え方が適切であろう。また、文書の管理方法によっては、[[国際化>PukiWiki/国際化]]とも関連する。
<

**収容ディレクトリ構成(案) [#vd23a823]
./wiki/ に、各農場毎にサブディレクトリを作成するのかなぁ?と思っていましたが、
スキンを各農場毎に対応することを考慮すると、文書とスキンが同居なの?という
ことになるので、やはり、現在あるサブディレクトリの下に各農場毎に必要となる
ファイルを、更にサブディレクトリを作成して管理する。というイメージかなぁ?


 ./
 │
 BASE_DIR (default 農場)
 ││
 │├─attach
 │├─backup
 │├─cache
 ││  └─html
 │├─counter
 │├─devel [B]
 │├─diff
 │├─face [B]
 │├─image [B]
 │├─plugin [B]
 │├─schedule
 │├─skin
 │├─trackback
 │└─wiki
 │
 BASE_DIR (別農場...)
 ││
 │├─attach
 │├─backup
 │├─cache
 ││  └─html
 │├─counter
 │├─diff
 │├─schedule
 │├─skin
 │├─trackback
 │└─wiki
 │

みたいな。~
物理構成と論理構成(仮想ディレクトリ)とは、イコールじゃないので、
どう見せるか?なども、まぁ、あるものの、最終的にはスマートかつ
最適な設置を考えていかないと。

----
前々から、複数飼うことを考えていましたが、農場という考え方が既にあったのねぇ。ということで分離させていただきました。-- [[upk]] &new{2003-08-19 (火) 01:00:11};

**参考 [#v014f794]
-[[YukiWiki:WikiFarm]]
-[[Hiki:HikiFarm]]

**状況 [#nd63c90d]

-WikiFarm の機能が欲しいなぁ。そうするとどうしても管理画面あたりがあってそこから作れるようにしないとだめだけど.  -- [[merlin]] &new{2003-08-18 (月) 16:28:14};
--ここで議論するのもなぁと思いますし、掘り下げて考えたいので [[PukiWiki/WikiFarm]] を作りました。-- [[upk]] &new{2003-08-19 (火) 00:30:37};

--国際化を考えると、この逆で、内容は同じ(LANGが違うので仕方が無い)なんだけど、違うページ名(LANGが違うんだから仕方が無いけど)で管理したい。みたいな感じを、どうしたもんか?と悩んでいました。-- [[upk]]
--管理画面が必要というところを理解していないんでした。なぜ?(あってもたいしたもんじゃないと思うけど)ただ、PukiWiki が1匹なのに、./wiki/ をいっぱい持ちたいだけ。と理解していますが。-- [[upk]]
--手元にサーバがあったりsshやtelnetできるときはいいんですが、FTPだけだと結構面倒。 FSWiki みたいに管理画面から作れるとインストールは一回なので便利だ思いました。 -- [[merlin]] &new{2003-08-18 (月) 19:24:31};
--入り口(URL)と skin,pukiwiki.ini.phpとデータ( ./wiki/)を自由に関連づけて配置できればいいのかな?各サイト側にpukiwiki.ini.phpとskinとwikiを置いて、本体 pukiwiki.phpはシンボリックリンクにして ./pukiwiki.ini.phpを読むようにしたらだめだろうか? -- [[merlin]] &new{2003-08-18 (月) 19:32:47};
---シンボリックリンクは、駄目です。プラットフォーム依存しますからねぇ。 -- [[upk]] &new{2003-08-19 (火) 00:48:19};
---ぐはっ。プラットホーム考えてませんでした。やはり pukiwiki.phpはコピーかぁ。 -- [[merlin]] &new{2003-08-19 (火) 11:00:00};
-設置者に関して : 企業内で使われるWebアプリの場合、往々にして設置者と管理者が別になることが多い。其の場合には、管理者は、Serverの構造にうとい場合が多いため Webからの管理などが必要とされる。サーバやWebアプリの構造知識が管理者に要求されると管理者と設置者を分離しにくくなり自由度が低下する。そのような用途においては直接設定ファイルをいじるのではなく管理ページから設定することが望まれると考えられる。 -- [[merlin]] &new{2003-08-19 (火) 02:23:46};
--すいません。設置者と管理者を何も考えずに使っていましたね。認識あわせの上では、用語の定義も重要ですからねぇ。-- [[upk]]
---いえいえ 確かに 用語定義って重要ですね。そこでも Wikiの強みが発揮されるような気がしています。 -- [[merlin]] &new{2003-08-19 (火) 11:12:35};
-[[Team]]にいる[[mizkaz]]さんが[[WikiRoom>http://www.wikiroom.com/]]っていうPukiWikiによるWikiFarmのサービスを結構前からやっていますね。タレこんじゃいます。勝手にすいません>[[mizkaz]]さん。%%あ、今見ようとしたら見れないです。落ちてるのかな・・・?%%自分のせいっぽいです。失礼しました。 -- [[tpircs]] &new{2003-08-19 (火) 16:22:16};
-ディレクトリ構成なんですが、backupや diff や cacheなんかもあるので、Farmごとにフォルダがある方が楽なのでは? で、プログラム本体とPluginを共用するしくみと新たなFarmを作るしくみを付け加えればいいのかなぁ?  -- [[merlin]] &new{2003-08-19 (火) 18:34:23};
--BASE_DIRのような定数を作って、DATA_DIRなどはdefine('DATA_DIR',BASE_DIR.'wiki/')みたいにしておくと楽ですね。 -- [[ぱんだ]] &new{2003-08-19 (火) 20:44:14};
-WikiRoom ではどうやっているかといいますと、各店子ごとにディレクトリを作り、php プログラムの方はシンボリックリンク、face, image, plugin, skin ディレクトリはシンボリックリンク、attach, backup, cache, counter, diff, wiki ディレクトリは店子ごとに作っています。そのうちソースを公開したいと思います。ちょっと数日待ってください。 -- [[mizkaz]] &new{2003-08-19 (火) 22:43:32};
--pukiwiki.ini.php をいじれば シンボリックリンクで無くてもいけますよね。本体にあまり手をいれずに思い付くのは mizkazさんの方法ですよね。それが、コマンドなんかで簡単に作れる(認証はいるけど)しくみができるといいなぁなんて思ってます。店子(子wiki - child wikiというらしい)間の関連が容易に付けられるようにするとか(自動でInterwikinameへ登録する) 横断的検索とか、コンテンツ的には標準的ポリシーの提供とか一歩踏み込んで検討するのもいいかもしれませんね。 -- [[merlin]] &new{2003-08-19 (火) 22:51:29};
--設定ファイルを分離してpukiwiki.php外部から指定させられれば、複数の./wiki/を設置しても本体・ライブラリは分離してひとつになりえますよね、pukiwiki.phpがwrapperになる感じで。ちょっと逆の、ひとつの./wiki/を2つのpukiwiki.phpから使うようカスタマイズした((公開ディレクトリはread-only、別途制限ディレクトリから編集など。))時に思いました。plugin は define じゃなく、[[:config]] 標準にしなきゃ駄目でしょうけれど。手順はそんな難しくなく、大体次のような感じでした。 -- [[morikawa]] &new{2003-09-08 (月) 08:57:37};
--- attache, counter の define 行をpukiwiki.ini.php で行っておく。
--- ディレクトリ定義に、HOME_DIR, DATA_DIR, LIB_DIR をくっつける。define("PLUGIN_DIR",LIB_DIR."/plugin");みたく。((DATA_DIR が ./wiki/ とかぶるので、DATAHOME_DIR とかだけど。))
--- wrapper から上記の HOME_DIR 等を定義してからpukiwiki.phpを読み込んでやる。もしくはpukiwiki.phpの先頭で定義する。
--- 余談。pukiwiki.php で[[閲覧認証>PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限]]かけても ./wiki/ が公開されてると意味ないので、DATA_DIRはごっそり上位へ移動できるべきという考え方もあるんじゃないかと。./data/wiki, ./data/bacup, ./data/diff など。そうするとWikiFarm的にもやりやすいですかね~。
---Farmで検討すべきことじゃないでしょ。そもそも漏れているなら、そこから正さないとと思いますよ。つまり、現実装に問題があるので、Farm の検討を待たずして考えないと駄目よねぇ。ということではありませんか?-- [[upk]]
---すみません、端折り発言で。そういう対策が必要なら現実装でも設定で上位に移動させればいいだけの話で、何も問題はありません。漏れてるよって言った覚えはないのであしからず。ただ、./wiki/が公開されてると意味ないの~と気づいて非公開にしたとして、でもdiffやbackupがそのままだったりするとどうよ?ってところから、その場合にどれがデータDirとして非公開ディレクトリ上に行くべきかという点では、データ関連だけをまとめといたら楽なんじゃん?という考え方もあるんじゃん?と思ったわけで。((例えば他のアプリケーションで./data/ディレクトリ以下にデータをまとめて収めているように。)) ただの配置上の問題ですが、はじめからそういう設定であれば、ついでにWikiFarm的にやりやすいんじゃ?という程度のことです。実際、どれが共通でどれが個別でと考えながら設置しているもんですから。((非公開でよい./wiki類と、公開されてなきゃいけない./skin, ./attach類の分けとかも。))このページにふさわしくなかったならごめんなさい。断言されたので移動させたいんですが、適切なページがあれば教えてください。 -- [[morikawa]] &new{2003-09-13 (土) 00:30:37};
---ちょっと違うような?とも思いますが、[[PukiWiki/権限/参照]] としました。-- [[upk]] &new{2003-09-13 (土) 16:08:49};
-大して参考にはならないかもしれませんが、[[BugTrack/147]] で、ちょっと関連したことをやってます。あと、jcode_1.34 の jcode_wrapper.php でやっているように、他ファイルをインクルードする際に、require(dirname(__FILE__) . '/included_file.php'); とするようにしておくと、WikiFarm 化する際に便利だと思います。 -- [[三浦克介]] &new{2003-08-22 (金) 16:05:58};
-使い方からの考えなのですが、WikiFarm って 小Wiki自体でRecentChangesや一覧が独立するので、BLOG 実装や用語集実装に役立つような気がしています。InterWikiがあるのでBLOG用プラグインやカテゴリで検索するRecentChanges や一覧という機能の実装((これはこれでいいかも))よりは、見通し良くなるような.. 小Wiki間の連携の問題もありますが、すでに msearchなんてpluginもあるのでなんとかなりそうな感あり..(というか 欲しいんですよね BLOGや用語集 :) ) -- [[merlin]] &new{2003-09-22 (月) 09:27:21};

//#comment

------------------------------------
*WikiFarm [#t779c720]
** しばらく議論停滞の後、再考察 & 叩き台 (2004/07) [#vf887e79]

-しばらく、議論が停滞していましたが、最近、[[henoheno]]さんの活躍で開発が活発化して来ましたので、再度、考えてみたいと思います。まだまだ、議論しないと行けない部分が多いですが、議論だけだとなかなかイメージしにくいので、作って見ました。&ref{pukiwikifarm_alpha1.tgz};、[[サンプル>http://www-ise3.ise.eng.osaka-u.ac.jp/miura/wikifarmtest/]]。以下の様なディレクトリ構成にしてみました。関連: [[BugTrack/509]], [[BugTrack/147]] -- [[三浦克介]] &new{2004-07-04 (日) 15:30:55};

|トップディレクトリ|サブディレクトリ|内容|h
|index.php||最初に読込むPHP|
|config/||設定関連ディレクトリ|
||pukiwiki.ini.php|主な初期設定ファイル|
|contents/||コンテンツ関連ディレクトリ|
||attach|添付|
||backup|バックアップ|
||cache|キャッシュ|
||counter|カウンタ|
||diff|差分|
||trackback|トラックバック|
||wiki|Wikiテキスト(主要言語)|
||wiki.en|Wikiテキスト(英語)|
|design/||デザイン関連ディレクトリ|
||face|フェイスマーク|
||image|アイコン、イメージ|
||lang|言語ファイル|
||skin|スキン|
|program/||プログラム関連ディレクトリ|
||core|本体|
||plugin|プラグイン|
-おおー、すごい、動いているサンプルまであるんですね :D こうして見ると、index.php あるいはコンフィギュレーションのレベルでプラグインの on/off(禁止) ができた方が便利そうですね。・・・いや、PLUGIN_DIRをcontents/ に移して、個別コントロール(不要なプラグインを個別に削除)する解もありますから、今の時点でも実現できるか :) -- [[henoheno]] &new{2004-07-04 (日) 16:54:41};
--henohenoさんの整理([[BugTrack/509]])のおかげで、変更点は驚くほどわずかでしたよ。 -- [[三浦克介]] &new{2004-07-04 (日) 17:18:35};
-lngファイルを共有データにするかどうかは私も悩んだのですが、現状はconfig/あるいはcontents/のような(役割の)場所に置くべきかと思っています。といいますのは、どのようなメッセージを出すのかもPukiWiki1本ごとのカスタマイズ対象になりえるという点(中身の問題)。もう一つは、jaでもenでもない言語の登場を困難にしてしまう懸念です(外側の問題)。lngがカスタマイズ可能であれば、多少強引あっても、どちらのニーズもこなせるのではないかと思うのです。 -- [[henoheno]] &new{2004-07-04 (日) 17:05:39};
--コンテンツ(上の例で contents/ にある物)の一部を共有できる仕組みがあればいいんですかね。例えば、:config や ヘルプは共有したいといったニーズはありそうですよね。言語ファイルを :config の下に入れてしまい、手軽に各言語向けのカスタマイズができそうですよね。 -- [[三浦克介]] &new{2004-07-04 (日) 17:27:09};
-1.4にDATA_HOMEを実装しました。 ([[開発日記/2004-07-05]]) -- [[henoheno]] &new{2004-07-05 (月) 20:34:40};
-単なる思いつきなのですが。&br;使い方という点で、一人が一つ子Wikiを持ち blogを書くようになると、PukiWikiがグループウェアになるのではないでしょうか。&br; 今までPukiWikiはコンテンツドリブンの方向性なので「人の管理」を意識する場合はXOOPSや他のWiki使ってね、という流れでした。&br;現状PukiWikiであまたの個人サイトが稼動してる例を見るに、個人を切り口にした管理はできているという認識です。で、あれば。WikiFarmで個人を束ねたグループウェアもさほど無理せずに実現できるんじゃないのかという…。 -- [[にぶんのに]] &new{2004-09-05 (日) 02:53:31};

//#comment

---------------------------------------
** mizkaz版 WikiFarm (2004/07) [#vb8a3316]

-前にちょっと作って試していたものを公開します。WikiRoomでやっている方法とは違いシンボリックリンクは使っていません。なので、Windows環境でも動作します。 -- [[mizkaz]] &new{2004-07-07 (水) 01:20:42};

''設置方法''

+PukiWiki 1.4.3 をインストールします。((最近のCVSは追いかけていなかったので、1.4.3をインストールしてください。))インストールしたディレクトリを pukiwiki/ とします。
      pukiwiki/*
+&ref(farmkit.tar.gz); を解凍します。次のように解凍されます。
      readme.txt
      initial_wiki/*
      pukiwiki/*
+ 1.4.3 をインストールしたディレクトリ pukiwiki/* に、解凍した pukiwiki/* を上書きして下さい。
+ディレクトリ initial_wiki/* を pukiwiki/* と同じディレクトリ(<FARM_DIR>)にコピーします。
      initial_wiki/*
      pukiwiki/*
+Web サーバが書き込めるようにディレクトリのパーミッションを変更します。
      chmod 0777 <FARM_DIR>
      chmod 0777 <FARM_DIR>/pukiwiki/shared_cache
+大家の設定。pukiwiki/plugin/regist.inc.php をインストール環境に合わせて編集します。
      // WikiFarm ディレクトリ (編集必須)
      define('FARM_DIR', '/home/hogehoge/public_html/farm/');
      // WikiFarm URL (編集必須)
      define('FARM_URL', 'http://your.wiki.site/~hogehoge/farm/');
+大家にアクセスします。
     http://your.wiki.site/~hogehoge/farm/pukiwki/
+regist プラグインを大家の適当なページに設置します。
     #regist

''店子のカスタマイズ''

各店子のカスタマイズは :config/preference ページからできます。((pukiwiki.ini.php で設定できる項目そのまんまなので、分かり難いと思います。今後の課題かな。))

//#comment
---------------
** 最近の話題: PukiWiki 1.4.4以降 (2004/09~) [#g723a2e0]

- PukiWiki 1.4.4以降は、「index.phpや画像やCSS(Webサーバーから露出させなければならないもの)」、「プログラム本体」「PukiWiki一本ごとに固有のデータ」を分割・共有しやすい様に再構成されています。
-- [[official:PukiWiki/Download/1.4.4#ad540199]]
-- [[official:WebTrack/28]]
-- なおプラグイン(どのプラグインを利用するか)はデフォルトでは「PukiWiki一本ごとに固有のデータ」に分類されています。全てのPukiWikiに同じ plugin ディレクトリを共有させる構成は、管理者の自己責任で行って下さい。
--- 関連:複数のサイト間でプラグインを共有したり、個々のサイト毎に設置をすることに関する議論... [[(BugTrack2/41)プラグインを二分する>BugTrack2/41#x8a9ed7b]] ((設定ファイルに関する議論も興味深いと思います))  --  &new{2005-06-09 (木) 00:50:59};

//#comment
---------------
** WikiFarmもどき (構成例 by [[Yoshii]]) [#z3ead64d]
-PukiWikiでWikiFarmもどきを作ってみました。希望するWikiFarmとは違うと思いますが、サイト作成者が自分のために複数のWikiに分けたい要望には答えられるかもしれません。第三者に作成させるにはサイトを作る許可をする管理画面や一般ユーザーがブラウザからスキンなどを変更できる管理画面を作る必要があると思いました。 -- [[Yoshii]] &new{2005-06-12 (日) 20:09:46};
-[[WikiFarmもどき:http://www.aksum.jp/pukiwiki/index.php?%A5%AB%A5%B9%A5%BF%A5%DE%A5%A4%A5%BA%2FWikiFarm%A4%E2%A4%C9%A4%AD]] -- [[Yoshii]] &new{2005-06-12 (日) 20:10:47};
-[[サンプルサイト:http://aksum.jp/sample/]] -- [[Yoshii]] &new{2005-06-12 (日) 20:11:10};
- 更新されたのでついでですが、上記URLのサンプルは容量の関係で削除しました。 -- [[Yoshii]] &new{2006-09-07 (木) 00:08:41};

//#comment

---------------
** コメント [#ga05baf5]
-結局、現在WikiFarmはどういう状態になってるんでしょうか? -- [[うずまき]] &new{2005-02-28 (月) 12:31:00};
-この件、私も気になっているのですがどういう状態でしょうか? -- [[ゴン太]] &new{2005-05-08 (日) 22:51:17};
-わたしも知りたいです -- [[はるほ]] &new{2005-06-03 (金) 21:49:58};
-とりあえず(このページが)今まで時間を意識していなかったようであり、また途中経過と結果の切り分けができていないようであり・・・要は話を追い辛い形になっていたようなので、まずは見出しの内容と階層を整理してみました。 -- [[henoheno]] &new{2005-06-04 (土) 19:30:37};
-- 1.4.4以降の情報を追加しました。 -- [[henoheno]] &new{2005-06-04 (土) 19:55:25};
-お疲れさまです。 -- [[はるほ]] &new{2005-06-04 (土) 21:17:24};
--hawk's nest さんのところでもfarmを作成されてました。
http://www.tom.sfc.keio.ac.jp/~hawk/ ~
--Linkage Note! さんがカスタマイズに挑戦されてます。
http://diary.sakura.ne.jp/?date=20050322

-やっぱりよくわかりません。まず、本体機能で実現する予定はあるのでしょうか? -- [[まるまる]] &new{2005-06-07 (火) 21:05:16};
-ロードマップによると1.6で実装する予定みたいですよ -- [[はるほ]] &new{2005-06-09 (木) 00:03:08};
-それは、merlin案ですよ。henohenoさんは、特に触れてませんよ。 -- [[ぷすま]] &new{2005-06-09 (木) 23:05:15};
-- 本来のWikiFarmとWikiFarmEngineの関係を誤解されていないのであれば、WikiFarmEngineのような機能は本体と独立して考える(作る)事ができると気付かれると思います。後は、どこまでをWebサイトから許すかという部分のトレードオフ(安全性と''危険性''、単独の状態との性能的な点や管理の楽さ加減、安易な利用をどのように防ぐか等)を、それぞれがどれだけ考えるかによると思います。 -- [[henoheno]] &new{2005-06-10 (金) 00:25:09};
--- ここで危険性と言いますのは、例えば率直に実装したとして、wiki/diff/attach/backup などのディレクトリをPHPから(Web経由で)作成させるようなハックを行った場合、PHPからの操作を許してしまうがゆえに、それらをディレクトリごと削除ないしリネームする攻撃が可能になるというような話です。通常のPukiWikiだとファイル・ディレクトリの所有者が明確に分かれるため、いたずらのできる範囲はより限られています。 -- [[henoheno]] &new{2005-06-10 (金) 00:34:37};
-- 上で[[はるほ]]さんが挙げられているのは PukiWiki による WikiFarmEngineの実装例で、Linkage Noteの leva さんはどういう方かというとFirefoxまとめサイトの管理者の方です。つまり上記 WikiFarmEngine 実装は一時期それらのまとめサイトで利用されていたのですが、若干の負荷的な要因があったようで、現在はそれを利用されていないはずです。当時((まとめサイトが別件+αでダウンした当時))まとめサイトをシェイプアップされる過程でそのようなお話を伺いました。 -- [[henoheno]] &new{2005-06-10 (金) 00:28:25};
-で、結局はWikiFarmは実装されないのでしょうか?危険性に関しては重々理解できますがオプションで選択できるなどの改造は無理かな? -- [[ゴン太]] &new{2005-06-10 (金) 18:02:30};
-- 「WikiFarm」に必要な要素は既に実装されています。「WikiFarmEngine」のための外部プログラムは、まず「WikiFarm」を構築するプログラムや手法について検討した上で、必要な人が作って下さい。 -- [[henoheno]] &new{2005-06-13 (月) 00:08:42};
- pkeGhoNqzA -- [[hauhrts]] &new{2014-06-24 (火) 20:24:32};

#comment
--------------
*** コメント: 関連性のない複数のWikiを立ち上げる件 [#r253294a]
-だれでも作れるのがWikiFarmEngine、通常のwikifarmは管理者のみと理解してたんですけど違いました?たぶん、ほとんどの人は、1つのシステムで関連性のない複数のwikiを立ち上げたいという理由でwikifarmを求めてると思っていたのですが、違うのですか?Pukiwikiの利用は、イントラでもけっこうあるというか私はそうなんですけど。だから、別にweb上でそういった危険な操作を出来るようにすることではないというのが私の意見です。 -- [[ぷすま]] &new{2005-06-10 (金) 23:12:38};
->1つのシステムで関連性のない複数のwikiを立ち上げたいという理由でwikifarmを求めてる~
これ、私もです。 -- [[はるほ]] &new{2005-06-11 (土) 00:22:51};
-- こんにちは :) 基本的なところから確認しましょう。「関連性のない複数のWikiを立ち上げる」ことは、どんなWiki実装でも、はるか以前から、管理者の責任において自由に実現できます。単純なところでは、複数個Wikiを設置すれば良いのです。既にそうしている方は沢山いらっしゃいます。 そうする行為は、WikiFarmやWikiFarmEngineという語句とは何の関係もなく可能です。 -- [[henoheno]] &new{2005-06-12 (日) 23:53:42};
-- とは言っても、丸ごとコピーまたは展開する方法で複数個のWikiの集まりを作るというのは、数個程度であればまだしも、数十個から数百個のレベルともなると面倒です。 (1) プログラム本体など、共通に使えるはずの部分も複数個生じますから、冗長です。 (2) 増築したり、READONLYにしたり、削除するようなことが簡単にできないのは手間です。 -- [[henoheno]] &new{2005-06-12 (日) 23:56:32};
-- ですから、 (1) 冗長な部分がなるべく生じない・・・つまり共有できる部分は共有できるように構造を改める のと、 (2) サポートプログラム という二つの改良の余地が見えてくるわけですが、(1) は既に実現しています。(2)はプログラム本体の仕事ではありません。また、どれだけの規模でどの位の事をしたいのかによって手段が変わります(上にある様々な例を参照のこと)。 -- [[henoheno]] &new{2005-06-13 (月) 00:01:26};
-- (1) は実現していますから、知っている方なら数個のWikiでも要素を共有できます。 -- [[henoheno]] &new{2005-06-13 (月) 00:04:38};
-- というのが現状です。 -- [[henoheno]] &new{2005-06-13 (月) 00:04:56};
--- (お、[[Yoshii]]さんとこで、(1)についてほとんど同じ事が書いてあるじゃないか -- [[henoheno]] &new{2005-06-13 (月) 00:24:07};
-- 「だれでも作れるのがWikiFarmEngine、通常のWikiFarmは管理者のみ」という認識は正しいと思います。 -- [[henoheno]] &new{2005-06-13 (月) 00:07:13};
-- みんな「誰でも別個のWikiが作れるのは便利そうだ」という部分に長い事心を奪われている様ですが、そろそろその安易さ((単純な実装ほどケアが足りないので、安易な行為・又貸し・無管理・逃避・脆弱な体制を助長する))と、ソレとは別に「複数のWikiのデータを密に置く」状態の本来の意味と可能性に気付いている管理者の方が出られる事を期待しています。 -- [[henoheno]] &new{2005-06-13 (月) 00:16:46};
-本来のWikiFarmと目的が異なるのかもしれませんが、スキンとdefaultpageだけを指定して擬似的に分け、コンテンツを共有できるような形にしておいた方がWikiらしく((BracketNameを他の誰かが定義してくれたり、AutoLinkされる、等))て良いような気がしています。 -- [[teanan]] &new{2005-06-14 (火) 03:53:31};
--・・・簡単に実現できるような気がしますが (^^; -- [[teanan]] &new{2005-06-14 (火) 03:59:13};
--ただ、この「Wikiらしい」というのはあまり必要とされてないんですかね (^^; -- [[teanan]] &new{2005-06-14 (火) 04:01:49};
-- デスクトップPCと携帯電話でFrontPageを別のページにするなんてのはそこそこ認識されていると思います。また、特定のグループで共同利用しているWikiで、それぞれの日記ページや、興味のある入り口をそれぞれがブックマークしているというのもあると思います。元々どのページも基本的な立場が同じなので、設定上の $defaultpage という形態かどうかはさておき、そのような使い方はされていると思いますよ :) -- [[henoheno]] &new{2005-06-14 (火) 22:44:22};
- そろそろ、このページも整理してみては?議論の余地なく、Wikifarmが構築できるのであれば、こうすれば出来る!!っていう解説をわかりやすく書けばいいだけだと思うんですけど。 --  &new{2005-11-11 (金) 19:21:47};
-- そうですね。いままでは要求ベースで動いていて、最低限の実装と、質問に対する応答のみになっていますね (^^; ([[official:WebTrack/28]] など)。とりあえず WikiFarm と WikiFarmEngine は違う、という事も含めて全部一箇所にまとめると、とりあえず一山越えますかね :) -- [[henoheno]] &new{2005-11-13 (日) 23:15:47};

//#comment

** WikiFarmもどき 1.4.7 出来る限り共用版試験中 [#da8a03e6]
pukiwiki.ini.php以外のすべてを共用する方針で検討中
-ディレクトリ構成
 ./
 ├common
 │├─image
 │├─lib
 │├─plugin
 │├─skin
 │├.htaccess
 │├default.ini.php
 │├keitai.ini.php
 │├rules.ini.php
 │├en.lng.php
 │└ja.lng.php
 ├wiki1
 │├─attach
 │├─backup
 │├─cache
 │├─counter
 │├─diff
 │├─trackback
 │├─wiki
 │├.htaccess
 │├.htpasswd
 │├index.php
 │└pukiwiki.ini.php
 ├wiki2
 │├─attach
 │├─backup
 │├─cache
 │├─counter
 │├─diff
 │├─trackback
 │└─wiki

-../common/を追加
--index.ini.php
2箇所
 define('COMMON_DIR','../common/'); // Common directory
 define('LIB_DIR',	COMMON_DIR . 'lib/');
-COMMON_DIRを追加
--pukiwiki.ini.php
3箇所
 define('PLUGIN_DIR',    DATA_HOME . COMMON_DIR . 'plugin/'   ); // Plugin directory
 	
 /////////////////////////////////////////////////
 // Directory settings II (ended with '/')
 
 // Skins / Stylesheets
 define('SKIN_DIR', COMMON_DIR . 'skin/');
 // Skin files (SKIN_DIR/*.skin.php) are needed at
 // ./DATAHOME/SKIN_DIR from index.php, but
 // CSSs(*.css) and JavaScripts(*.js) are needed at
 // ./SKIN_DIR from index.php.
 
 // Static image files
 define('IMAGE_DIR', COMMON_DIR . 'image/');
 // Keep this directory shown via web browsers like
 // ./IMAGE_DIR from index.php.
--pukiwiki.skin.php
2箇所
 <link rel="stylesheet" href="<?php echo SKIN_DIR ?>pukiwiki.css.php?charset=<?php echo $css_charset 
 ?>" type="text/css" media="screen" charset="<?php echo $css_charset ?>" />
 <link rel="stylesheet" href="<?php echo SKIN_DIR ?>pukiwiki.css.php?charset=<?php echo $css_charset 
 ?>" type="text/css" media="print" charset="<?php echo $css_charset ?>" />
--lib/init.php
4箇所
 define('LANG_FILE_HINT', DATA_HOME . COMMON_DIR . LANG . '.lng.php');	// For encoding hint
 define('LANG_FILE',      DATA_HOME . COMMON_DIR . UI_LANG . '.lng.php');	// For UI resource
 
 define('UA_INI_FILE', DATA_HOME . COMMON_DIR . UA_PROFILE . '.ini.php');
 
 // 初期設定(ユーザ定義ルール読み込み)
 require(DATA_HOME . COMMON_DIR . 'rules.ini.php');
- 少しためしてみたのですが、wikifarmってこういうことでいいんでしょうか?たしかに、結構簡単でした。ただ、このパターンの場合、書き換える場所が分散してるなぁって感じもしました。あと、lngファイルなんかも共用させたいんですけど、いじる場所が。。。 -- [[うずまき]] &new{2005-11-14 (月) 13:01:49};
- 以前に見たときは良く理解できませんでした。ソース部分を分離したいな、と思い分けたところ、そう言えばと思い見返しますと、そう、これでFarmが実現できるじゃないですか。後は設定関連ですねぇ。ちょっとトライしてみようかな。 -- [[Yoshii]] &new{2006-01-10 (火) 23:51:57};
- 言語ファイルの共用化とCOMMON_DIRを追加。でも、ぜんぜんスマートじゃない。あとは、iniファイル関係かな -- [[うずまき]] &new{2006-01-17 (火) 19:23:39};
- 一応完了。COMMON_DIRにこだわらず、ライブラリ関係(lib,plugin)ディレクトリとwiki1ディレクトリが同一階層にしとけば、こんなに面倒にならなかったと後で気づきましたが、1つのディレクトリにまとめたかったという好みの問題です。 --  &new{2006-01-30 (月) 14:25:22};
- こっそりと1.4.7に対応。 --  &new{2006-09-05 (火) 16:33:29};
- ↑thx!! --  &new{2006-09-21 (木) 21:17:10};
- ってやってみたらエラーが・・。上のpukiwiki.skin.php 2箇所のとこ記述がおかしかったので訂正しておきました。 -- [[yamasan]] &new{2006-09-21 (木) 21:45:15};
-- 関連: [[BugTrack/691]] --  &new{2010-12-11 (土) 18:58:00};

#comment


----
*WikiFarmEngine [#d02d3e16]
** 1.4.6 で WikiFarmEngine を作成したい! [#oee2906d]

Yoshiiです。PukiWiki 1.4.6 でWikiFarmEngineを作成したいと思い、同サイトに公開されている情報とmizkazさんのソースを元に作成してみました。詳細とファイルは申し訳ありませんが、以下の私のサイトをご参照ください。

[[PukiWikiでWikiFarmEngineを考える。:http://www.aksum.jp/pukiwiki/index.php?%A5%CF%A5%C3%A5%AF%2F04-WikiFarmEngine]]

結論としては入力したID名で子供サイトを作成する事が出来るようになりました。プログラム部分とデータ部分をうずまきさんの説明のように分離しています。

課題は子供サイトの設定をどうやって変更しようか?と言う部分です。どなたかご協力いただけますと幸いです。
- よろしくお願いします。 -- [[Yoshii]] &new{2006-01-12 (木) 00:46:11};
- 良く見たらmizkazさんのWikiFarmに管理部分がありました。そのままでは動かなかったのでちょいと手直し。(PukiWikiの仕様変更による為みたい)でも、管理画面が丸見えです。管理ページにアクセスするときに認証できるようにしたいなぁ。あとパスワードをmd5で渡したいのと、パスワードを変更できるようにしたいなぁ。 -- [[Yoshii]] &new{2006-01-13 (金) 23:29:40};
- 管理画面を作成する事ができました。サイト別の設定は最低限となっています。次はスキンだ。 -- [[Yoshii]] &new{2006-01-15 (日) 17:35:51};
- 私が欲しかった機能は一通り実装しました。日曜プログラマレベルですが。。サンプルサイトも公開しています。ただ、いつ閉鎖するかわからないサイトなので上記URLより飛んだ中ほどにリンクがあります。なくなっていたら閉鎖したって事です。ごめんなさい。 -- [[Yoshii]] &new{2006-01-17 (火) 23:56:42};

//#comment

** WikiFarmEngineを作成してみました。 [#j7ae7f0d]

http://netmemo.ath.cx/

kawと申します。なぜか突然WikiFarmEngineを作ってみました。
-PukiWikiを用いてますが、WikiFarmEngine自体はPukiWikiとは独立した別個のPHPプログラムです。
-複数Wikiで共有できる部分はシンボリックリンクで共有しています。
-PHPで書いてるとタルい部分はシェルスクリプトで書いてあります。よって、プラットフォーム依存しまくりです。
-作成されたURLの一部には入力情報のハッシュから生成された文字列を含みます(よって非公開サイトを総当たり的に探すのは、ちょっとだけ困難です((秘匿性が担保されているわけではないのは勿論ですが)))。
-ユーザが入力した情報を忘れてしまった場合のリマインダを実装しています。
-ユーザの希望により、あるいは長期間放置されているサイトに対して、サイト全体を自動削除する機能があります(この部分もUnixのcron使ってますのでバリバリ環境依存です)。
-サイト作成時、スキンを選択できます。

プログラム書いてから、こことかを見に来たのですが、みなさんの目指してるものとはちょっと違うのかな。でも一応紹介させて頂きました。
URLは、http://netmemo.ath.cx/ です。
- こんにちは。既に存在するWikiを見ることはできないのですね。ある意味(運営側も利用者も)まったりできるかもしれませんね。既存の3rd partyのスキンや、tDirayスキンを使うとデザインのバリエーションが増やせますよ。 -- [[henoheno]] &new{2006-02-26 (日) 17:39:06};
- サンプルで作成しようとしたのですが「メールアドレスが正しく記入されていません。」と表示されて登録できませんでした。 。・゚・(ノД`)・゚・。  -- [[Yoshii]] &new{2006-02-27 (月) 19:28:10};
- >henohenoさま; コンセプトとしては、「ネット上で気軽に作って使える雑記帳。個人のメモや覚書にも、みんなが書き込める寄せ書きとしても使えます」みたいな感じです。作成したWikiのFrontPageには、管理用のサイトのURLが紹介されているので、自分のURLを公開したい人は、そこに書くことができます。3rd partyのスキンについては、pukiwiki.ini.phpを書き換えちゃうものとかあるみたいですね。あと、スキンの数が多いと、登録時、サムネイルをスマートに表示するのが結構むずかしそうなので、現在様子見です。もうすこし増やそうとは思ってますが‥。 --  [[kaw]] &new{2006-03-02 (木) 00:44:45};
- >Yoshiiさま; メールアドレスをチェックするための正規表現に誤りがありました。修正しましたのでご確認いただけますか。 -- [[kaw]] &new{2006-03-02 (木) 00:47:38};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.056 sec.

OSDN