KG Software Library

リモートWikiへのページ更新

Page :: FSWiki / Tips / wiki page update to remote-wiki

このエントリーをはてなブックマークに追加


概要

編集用Wiki、公開用Wikiと分けて利用している方へ便利な利用方法の提案!

私の場合、当サーバのWikiとコンテンツがまったく同じものをローカルPCに構築しています。バックアップ目的でもあるのですが、普段は次のような使い方をしています。

  1. ローカルWikiにてページ作成/編集
  2. スペル・チェック
  3. 公開Wikiを別ウィンドウで開いてログイン
  4. 該当ページの作成/編集画面を表示
  5. ローカルWikiで作成/編集したページのソースを表示
  6. ソースのコピー(ローカルWiki)&ペースト(リモートWiki)

結構手順が多くて面倒です。この作業を軽減できる方法があります。軽減後の作業手順は以下の通り。

  1. ローカルWikiにてページ作成/編集
  2. スペル・チェック
  3. 再度、編集画面を表示
  4. 「公開サイトへ保存」ボタンをクリック
  5. 別ウィンドウが開いてリモートWikiページの作成/更新
    1. この時、ログインしないと編集できない環境では、参照権限がありません・・・と表示されるので、「ログイン」メニューよりログインする
    2. ログイン後、再度ローカルWikiより「公開サイトへ保存」ボタンをクリック

以上。注意点として、公開WikiとローカルWikiの差異がある場合は上書きされると言うこと。この為、公開Wikiの編集を複数人で行う場合には適用できない。管理者一人でメンテナンスする場合にのみ適用できるでしょう。

では、修正箇所を公開します。

修正箇所

基本的には、ローカルWikiの方だけ修正すればOKです。

plugin/core/EditPage.pm
1
2
3
4
5
6
7
8
9
10
11
12
--- org/fswiki/plugin/core/EditPage.pm Sat Jun 05 17:14:36 2004
+++ new/fswiki/plugin/core/EditPage.pm Wed Feb 01 16:04:29 2006
@@ -126,7 +126,8 @@ LAST_MODIFIED => $time, ACTION => 'EDIT', EXISTS_PAGE => $wiki->page_exists($pagename),
- SAGE => $sage});
+ SAGE => $sage, + PATH_INFO => $cgi->path_info()});
if($artno ne ""){ $tmpl->param(OPTIONAL_PARAMS=>[{NAME=>'artno',VALUE=>$artno}]);
tmpl/editform.tmpl

公開サイトのwiki.cgiへのURL 部分を書き換えて利用してください。

例) http://kgsoft.jf.land.to/fswiki/wiki.cgi

1
2
3
4
5
6
7
8
9
10
--- org/fswiki/tmpl/editform.tmpl Wed May 25 09:59:05 2005
+++ new/fswiki/tmpl/editform.tmpl Wed Feb 01 16:12:54 2006
@@ -11,6 +11,7 @@ <!--/TMPL_IF--> <input type="submit" name="save" value=" 保 存 "> <input type="submit" name="preview" value="プレビュー">
+ <input type="submit" name="save" value="公開サイトへ保存" onClick="this.form.target='_RemoteWiki';this.form.action='<<公開サイトのwiki.cgiへのURL>><!--TMPL_IF 'PATH_INFO'-->/<!--TMPL_VAR NAME="SCRIPT_NAME"--><!--/TMPL_IF-->';">
<input type="hidden" name="action" value="<!--TMPL_VAR NAME="ACTION"-->"> <input type="hidden" name="lastmodified" value="<!--TMPL_VAR NAME="LAST_MODIFIED"-->"> <input type="hidden" name="page" value="<!--TMPL_VAR NAME="PAGE_NAME" ESCAPE="HTML"-->">

この修正後、編集画面には「公開サイトへ保存」というボタンが追加されます。

Comment(3)
  • これ、ずっと気になってたんですが、『編集用Wiki』の方はローカルじゃなきゃいけませんか?(って、実際自分でやってみればいいだけなのですが…。まあそう仰らず回答頂けると幸いです) 非公開の外部サーバに『編集用Wiki』を設置すれば問題無い気がします。非公開でも見つかった場合怖い、ということであれば、『編集用Wiki』側だけ『ログイン時のみ編集可』にしておけば良い気がします。認識が誤っていればご指摘頂けると嬉しいです。 - あき (2006/09/04-13:51:58)
  • 改造ソースを見る限り、問題はなさそうですね。CMS拡張パックでも話題に挙がってたワークフローってのに流用できないかなぁと考えてます。可能なら、本体のバージョンアップやプラグイン設定の変更なんかも、編集用Wiki側で予め行っておいて安定した時点で全設定を含め公開用Wiki側に反映、なんてことができるよう考案中です。 - あき (2006/09/04-16:11:12)
  • 遅くなりました。ローカル限定ではないです。Wikiページ転送の考案時に取り合えず簡単に別のWikiに転送できるようにしたいなぁなんて思ってボタンを一個追加しました。あと同時に利用しているのが、リモート(転送先)Wikiの同一ページとの差分表示機能です。これは未公開なんですが、ローカルのページ編集前に整合性の確認に利用しています。 - KG (2006/09/04-18:31:52)
お名前: コメント:

最終更新時間:2006/02/01-17:49:11