* HTML出力機能を実装して欲しい(PukiWikiをCMSとして使う) [#pb073f5b]

- ページ: [[BugTrack2]]
- 投稿者: [[akisa]]
- 優先順位: 低
- 状態: 却下
- カテゴリー: その他
- 投稿日: 2005-10-05 (水) 12:36:34
- バージョン: 

** メッセージ [#c077f2fb]
よろしくおねがいします。

PukiWikiを本来のWiki(複数人で編集)として利用せずに
個人で編集してCMSとしています。

そこで提案なのですが、
PukiWikiで編集したページをHTMLで出力し、
PukiWikiは編集する人しか見ないページにして
HTMLで出力したページを閲覧者に見せるようにはできないでしょうか?

PukiWikiのリードオンリーモードやセーフモードなどで一部の者しか
編集できなくすることができますが、サーバーへの負担を考えると
どうしてもPukiWikiよりHTMLのほうがいいとおもうのですが・・・-A
他にもSEO(動的なページではないので)の観点からや、
PukiWikiに対するスパムや荒らし行為の防止につながるので、
こういう機能?使い方?を選べるのはいいとおもうのですが。

**関連 [#fb6a6208]

-[[official:自作プラグイン/dump2html.inc.php]]
-[[official:自作プラグイン/pkwkdownloader.php]]

**コメント [#g2d779e2]

- WikiもCMSも編集する人数の上では違いが有りません。大抵のWikiやCMSは、どちらも一人でも複数人でも編集可能なはずです。 -- [[Ratbeta]] &new{2005-10-05 (水) 20:30:22};
-- と、細かい話は置いておいて。現状でのHTML出力を行うための方法は[[official:SEO]]にあるような方法でしょうね。 -- [[Ratbeta]] &new{2005-10-05 (水) 20:33:52};
---[[official:SEO]]はURLの書き換え?なので違います。 --[[akisa]] &new{2005-10-05 (水) 22:32:52};
- サマリでは「PukiWikiをCMSとして使う」となっていますが、実際に扱う話題は「PukiWikiでのページのHTML出力機能(かつリードオンリー)の(標準での)実装」ということでよろしいのでしょうか。 -- [[Ratbeta]] &new{2005-10-05 (水) 20:36:12};
--実際に使うときは、PukiWikiは編集する人しか見れない状態で、来客(普通の閲覧)者にはHTMLのページ(PukiWikiで出力した)を見せるようにしたいのです。<説明下手でスミマセン(T_T) --[[akisa]] &new{2005-10-05 (水) 22:32:52};
--------
- [[official:SEO]] とは、またちょっと別で、そういう仕組みを開発中です(学生さんに手伝ってもらって作ってます)。ある程度はできていて、うちの [[学科のWeb>http://www.ise.eng.osaka-u.ac.jp]] は、これで作成しました。もう少しこなれてきたら公開しようかと思ってます(って言うほど、複雑なものではないんですが)。[[official:SEO]] はよく見ていませんが、うちで作っているのは、完全にHTML化してしまいますので、かなり制約があります。 -- [[三浦克介]] &new{2005-10-05 (水) 21:03:58};
--「完全にHTML化してしまいます」というのが気になったんですが、プラグインなどが利用できなくなるとかですか? --[[akisa]] &new{2005-10-05 (水) 22:32:52};
-- プラグインを使用した結果、静的なHTMLになるだけのものは使えます。#refとか、&colorとかはOK。動的な処理が必要なプラグインは不可です。#searchとかはNG。 -- [[三浦克介]] &new{2005-10-05 (水) 22:40:30};
-- うちで作っている物の概要を説明しておきます。仕組みはいたってシンプルです。私の公開を待たなくても、ちょっと作業すれば、すぐに作れます。PukiWikiの機能を拡張した訳ではなく、PukiWikiとは別にツールを用意しました。~
2台のサーバーを用意します (1台でも可能)。一方は、編集用サーバーで、Webサーバ+PHP+PukiWikiを載せます。http://pukiwiki.foo.ne.jp/ とします。もう一方は公開用サーバーで、こちらはWebサーバーのみです (PHP、PukiWikiは不要)。http://www.foo.ne.jp/ とします。~
編集用サーバーは、普通のPukiWikiです。ちょっとだけ違う点は、index.php とは別に、HTML 化用の PHP (ここでは mkhtml.php とします) を用意し、mkhtml.php の方にアクセスすると、NAVBAR や TOOLBAR が消えるように細工をしておきます。そして、一つのページを用意し (ここでは、:config/HtmlTable とします)、公開するページ名と、それを公開する時の HTML ファイル名の対応表を記述しておきます。~
公開用サーバーに次のような処理をするプログラムを用意します。言語は何でも良いです。~
1) wget 等により、htt://pukiwiki.foo.ne.jp/mkhtml.php?:config/HtmlTable を取得、2) 上記のファイルをパースして、ページ名とHTMLファイル名を取得、3) 全ページについて以下を繰り返し、3-1) wget等により、http://pukiwiki.foo.ne.jp/mkhtml.php?ページ名 を取得、3-2) 上記のファイルの中の http://pukiwiki.foo.ne.jp/mkhtml.php?ページ名  というリンクを、対応する http://www.foo.ne.jp/HTMLファイル名 に置き換える。~
基本的な動作は、これだけです。これに、添付ファイルを取得する処理を付けたりしてます。このプログラムを手動で実行するも良し、cronで定期的に実行するも良し。現在、編集用サーバーのPukiWikiにボタンを付け、これを押すと、公開用サーバーのスクリプトが実行されて、サイト全体、あるいは現在表示中のページがHTML化されるようなプラグイン&仕組み (sshでリモート実行するだけですけど) を実装中。 -- [[三浦克介]] &new{2005-10-05 (水) 23:15:05};
---公開されるのはもう少しかな?楽しみに待ってます! --[[akisa]] &new{2005-10-06 (木) 14:10:52};
--- ということは、上記のような代物で良いのでしょうかね?  作ってくれた学生さんは、「公開するとは思っていなかったので、不完全ですよ」と消極的だったのですが、とりあえず、コードを整理して、α版としてなら出せそうな物になりました。 -- [[三浦克介]] &new{2005-10-06 (木) 21:27:50};
---自分が想像していたのとは少し違うような気がするのですが、チャレンジしたいので。是非。 --[[akisa]] &new{2005-10-06 (木) 22:32:24};
- devよりはofficialの話題かな、と思いましたが盛り上がっているようですね :) 三浦さんの仰るとおりで、仮に100%静的にしたいPukiWikiがあるとするならば、それは動的な要素を含めない前提でテキストを作って、スキンなどからも動的な/不確定な要素が含まれないようにする必要があると思います。でないと、例えばあるページに表示された #recent の結果が実態と合わなくなる、といった事態が起こります。MLでも言いましたがphp-cliを使う方法もあるのではないかと思います(逐次生成ではなくバッチ処理になりますが)。また、静的なファイルを生成する普通のPukiWiki(バックエンドは普通にPHPでPOSTを受け取る)、といったハイブリッドな案もあると思います。 -- [[henoheno]] &new{2005-10-05 (水) 23:03:16};
-- 後、つまらないコメントですがContent Management Systemという言葉にはWikiも入るのではないかと思います :) -- [[henoheno]] &new{2005-10-05 (水) 23:08:56};
--確かに、devネタではないですね。 -- [[三浦克介]] &new{2005-10-05 (水) 23:20:23};
---はじめからこういう機能を実装しているとなるとdevネタかなぁと思ったんですが、やっぱりofficialネタですね(^^;) --[[akisa]] &new{2005-10-06 (木) 14:10:52};
--つづきは、[[official:]] の方でやりましょうか。[[official:SEO]] ともちょっと違うようですし、どんなタイトルが良いでしょうかね? -- [[三浦克介]] &new{2005-10-06 (木) 21:27:50};
+++静的なHTMLファイル化
+++Webオーサリングツールとして使う
+++静的なサイトの管理ツールとして使う
--- 「静的なサイトの管理ツールとして使う」がいいと思います。 --[[akisa]] &new{2005-10-06 (木) 22:32:24};
--また、入れるとすると、どこの下? -- [[三浦克介]] &new{2005-10-06 (木) 21:27:50};
+++[[official:関連ツール]]
+++[[official:use Pukiwiki]]
--関連ツールのところがいいんじゃないでしょうか? --[[akisa]] &new{2005-10-06 (木) 22:32:24};
- では、つづきは、[[official:関連ツール/静的なサイトの管理ツールとして使う]] にて -- [[三浦克介]] &new{2005-10-08 (土) 11:25:51};
- とりあえず移行ですね。 -- [[akisa]] &new{2005-10-09 (日) 19:37:03};
- 更新停止ですかね?公開待ってます。 -- [[akisa]] &new{2005-10-16 (日) 19:04:40};
-- すみません。猛烈に忙しくって・・・ -- [[三浦克介]] &new{2005-10-17 (月) 08:12:06};
- この件の「つづきのページ」は書きかけの状態で止まっていますので、このページに引き戻します。Wikiにおいては、どんな段階でも良いので、「ある程度まとまった状態」を維持しながら編集される事をお勧めします (^^; それはCVSでソースを管理する時に「必ずコンパイルでき、動作する状態」を維持しながら作業するのと似たようなものです-- [[henoheno]] &new{2005-12-12 (月) 22:14:47};
-- 以下に移動させていただきましたので、余裕の空いた時にでもこちらでお続け下さい m(_ _)m それまでステータスは「却下」にしておきます。 -- [[henoheno]] &new{2005-12-12 (月) 22:19:23};

- ''[[official:自作プラグイン/dump2html.inc.php]]'' --  &new{2006-10-27 (金) 02:56:09};
--これを首長くして待ってました。1.44のバックアップ、160ページ程度でしたらさくらで一括出力できました。仕様書の保存もろもろ本当に助かります。涙して感謝します。将来的には、2バイトファイル名対策ですかね。現実的には、ファイル名と、ページ名を分けるようなオプションがpukiwiki側にあるとよいなとか思うんですけど。 -- [[tomix]] &new{2006-10-30 (月) 12:36:58};

#comment
//#comment


--------------------------
(以下、[[official:関連ツール/静的なサイトの管理ツールとして使う]] より移動)

* 関連ツール/静的なサイトの管理ツールとして使う [#v4c9e127]


本ページには、PukiWikiを静的なサイトの管理ツール=CMS (Contents
Management System) として使う為の情報が書かれています。Wiki本来の、不特定
多数の訪問者によるサイト構築という機能は失われます。企業や組織の公式
Webなど、外部からの書き換えを一切許さないサイトに適した内容です。
PukiWikiで作成したページをHTMLファイルに変換し、HTMLファイルを公開しま
すので、安全性のみならず、耐負荷性能も向上し、ミラーリングによる負荷分
散も容易です。ページ内容を書き換えるcomment, articleなどのプラグイン、
動的に内容を生成するsearchなどのプラグインは利用できなくなります。

&color(red){&size(24){作成中};};

*概要 [#h46d3726]

*必要なもの、スキル [#o0891a17]

※編集用サーバーと公開用サーバーは1台にまとめることも可能です。

**編集用サーバー [#x89b089b]
-Webサーバー (Apache等)
-PHP
-PukiWiki
-ssh

※PukiWikiを使うことを前提にしてますから、当然、あるでしょう。

※編集用サーバーと公開用サーバーを1台にまとめる場合は、sshは不要です。

**公開用サーバー [#s4337cb2]
-Webサーバー (Apache等)
-wget
-perl
-RCS (ci)
-cmp
-cp
-sshd

※多くのUNIX系システムでは、Webサーバー、wget以外は、標準でインストールされているコマンドです。

※編集用サーバーと公開用サーバーを1台にまとめ場合は、sshdは不要です。

**スキル [#lc6459d2]
-UNIXシステム管理、Webサーバー、PHP、PukiWiki、HTML、CSS に関する相応のスキルが必要です。

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

PukiWiki 1.5.4+ © 2001-2021 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.069 sec.

OSDN