上へ

PukiWiki 1.4.3以前から1.4.4以降への移行

このページの目的

PukiWiki 1.4.3→1.4.4の改訂の過程で機能追加・ロジックの整理・バグ取りもさることながら、大掛かりなファイル配置の整理が行われています。
ここは1.4.3以前の版をお使いの方への変更概要+移行方法のまとめページです。
なお、1.3.x系をお使いの方は../1.3系からの移行も併せてお読みください。

まずはバックアップ

例によってバックアップは非常に大切です。以下の作業を行う前に、*.phpやスキン、プラグイン、attach,backup,counter,diff,wikiディレクトリを含む全てのデータをバックアップしてください。(やり方はお任せします :) )

ファイルの配置整理

概要

  1. PukiWikiの各フォルダのディレクトリ配置は定数宣言されているのですが、推奨設定以外を設定するとうまく動かないなど徹底されておらず、懸案事項として挙げられていました(BugTrack/147,BugTrack/480,BugTrack/509)。更に PukiWiki/WikiFarmPukiWiki/国際化 の議論もあり、整理が必要との判断から大幅な配置変更が行われました。
  2. 従来携帯電話への対応はi-mode, J-Phone限定でしたが au,TU-KA,AirH" Phoneなど未対応のキャリアやNetFrontといった組み込みブラウザにも対応しました。その過程で設定ファイルの整理統合が行われました。
  3. 主だった対応内容のリンク先
    1. デバイス/ユーザーエージェント ハンドリングの単純化 - 開発日記/2004-07-05
    2. 各ディレクトリにindex.htmlを追加 開発日記/2004-07-11
    3. エントリ用のpukiwiki.php(index.php)を作成 - 開発日記/2004-07-24
    4. pukiwiki.png/gif を IMAGE_DIR (./image/) に移動 - 開発日記/2004-07-24
    5. face 画像を face/ から image/face に移動 - 開発日記/2004-07-28
    6. ライブラリとして使われうる phpファイル を全て LIB_DIR (lib/) に移動 - 開発日記/2004-08-01

各ファイルの移動元・移動先一覧

1.4.3以前→1.4.4 のファイルの移動元・移動先をまとめた一覧です。

移動元dirファイル名移動先dir
(なし)index.html追加 -> ./lib*1
.htaccess
./auth.php移動 -> ./lib
backup.php
config.php
convert_html.php
diff.php
file.php
func.php
html.php
init.php
link.php
mail.php
make_link.php
mbstring.php
plugin.php
proxy.php
pukiwiki.php
trackback.php
pukiwiki.gif移動 -> ./image
pukiwiki.png
i_mode.ini.php削除 -> keitai.ini.phpに統合
jphone.ini.php
*.lng変更なし
*.ini.php
(なし)keitai.ini.php追加 -> ./
(なし)pukiwiki.php追加*2 -> ./
(なし)index.php追加*3 -> ./
./face*移動 -> ./image/face へ
(なし)worried.png追加 -> ./image/face
./plugindir.txt削除
(なし)index.html追加 -> ./plugin
.htaccess
clear.inc.php追加 -> ./plugin*4
setlinebreak.inc.php
topicpath.inc.php
./attach*基本変更なし*5
./backup
./cache
./counter
./diff
./image
./skin
./trackback
./wiki
./wiki.en
./devel削除*6
./*.txt変更なし*7

内部的な変更

  • ディレクトリの定数化 - BugTrack/480
    • 独自プラグイン、skin等で特定のディレクトリを参照している場合は、直書きを止めて定数を使う事を推奨します。
  • チェック前の文字列/怪しい文字列をメモリに置かない - BugTrack/586派生、開発日記/2004-06-30
    • 独自プラグイン等で入力値の取得は $get, $post でなく、$varsの使用が推奨されています。
  • 管理者パスワードのためのシステム関数を追加 - 開発日記/2004-07-18
    • 独自プラグイン等での管理者パスワードのチェックはpkwk_login()を利用する事が推奨されています。
  • 「汗」のface画像を追加/顔文字を新たに追加/携帯電話の絵文字対応 - 開発日記/2004-07-13
    • 追加された顔文字でface画像を呼び出す場合、(従来の顔文字と同様に)顔文字の直前にスペースを入れる必要があります - 開発日記/2004-07-24
  • 無駄な空白の除去等、コードの調整 - 開発日記/2004-07-31
    • バグ対応、機能追加以外にも各所で変更が加わっています。

移行の手順

CVSを使う方法

LIB_DIR (./lib/) に移動したファイルに関して: お手元でこれらのファイルをカスタマイズされており、CVSを用いてマイグレートされる方のために、移動前の最後のバージョンに、タグ pkwk14_2004-08-01_moved-before を打ってあります。このタグを(移動前の最新の状態に)マージするためのターゲットにお使い下さい。

CVSを使わない方法

方法はいろいろありますが、あくまで一例として。

  1. CVSから1.4.4と最後に自分が持ってきた版に一番近い版を持ってくる。cvs:/の一番下のタグを切り替えてた後にDownload
  2. 自分のPukiWikiとCVSのファイルとのdiffを取り、自分が変更した箇所を特定する
  3. 1.4.4のファイルを適当のディレクトリに展開して、自分のPukiWikiからattach, backup, cache, counter, diff, trackback, wiki, wiki.en を全てコピーする。
  4. 1.4.4のファイルに対して自分が変更した箇所、パッチを当てた箇所を反映する
    1. 主に*.ini.php、lib/ や plugin/ だが skin/ なども忘れずに
  5. 独自プラグインや顔画像など、配布ファイルに含まれていないものを追加する
  6. 配布ファイルに含まれているファイルで不要なものを削除する
    1. *.txtや、imageの中の画像、devel、初期状態で用意されているページ、使わないプラグインなど必要に応じて、適宜。

  • 冒険者募集中 :) CVSの方の記述は、誰かよろしくです。 -- にぶんのに 2004-08-03 (火) 18:28:06
  • うーん、一夜でここまでできるとは。ちょっと感動しています。ありがとうございます。今気づいた所は修正しました。(1) 新規追加分の顔文字に関して (2) pkwk14_2004-08-01_moved-before のタグは、それが必要なファイルにしか打っていませんん -- henoheno 2004-08-03 (火) 19:24:19
  • 1.4.3 で追加された plugin への言及と、develの削除 -- にぶんのに 2004-09-04 (土) 21:39:03


*1 1.4.4で新規に追加されたフォルダです。パーミッションはpluginディレクトリと同じにしてください
*2 来訪者のエントリ用となるプログラムであり、/libにあるpukiwiki.phpとは別物である点に注意。従来pukiwiki.phpをindex.phpにしており、今後もpukiwiki.phpでアクセス不要の場合は不要
*3 来訪者のエントリ用となるプログラム。pukiwiki.phpでのみアクセスを許す人は不要
*4 1.4.3で追加されたファイルです。1.4.2以前を使っている方のみ該当
*5 pukiwikiの動作に直接関係はしませんが、dir.txtが削除されてindex.html, .htaccessが追加されています
*6 pukiwikiの動作には必要ないので、実運用環境には作成していないと思いますが、一応
*7 pukiwikiの動作には必要ないので、実運用環境には作成していないと思いますが、一応

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

OSDN