====================================================
バージョン0.583からバージョン0.60へのアップグレード

Hidekazu Kubota
2008/01/12 ver 1.03
2008/01/07 ver 1.02
2007/12/26 ver 1.01
2007/12/16 ver 1.00
====================================================

---------------------------------
---------------------------------
A. アップグレードに際しての注意
---------------------------------
---------------------------------

　0.60は0.583から仕様が大きく変わっているため，アップグレードの際，元とページの見た目やスプライト間の関係が変わってしまう場合があります．

　次の(1)(2)(3)に一通り目を通して，条件が自分のページと当てはまるか確認の上，アップグレードするかどうかご選択ください．

---------------------------------
(1) 親子関係の変更
---------------------------------

　この変更は，コメントボタンを押して作成したスプライトや，連結されたスプライトを含むページに影響します．

　（参考）
　　コメントボタン
　　　http://positlog.storybook.jp/positlog.cgi?load=070618rQ
　　スプライトの連結
　　　http://positlog.storybook.jp/070323ev.html

　0.583までは複数のスプライトを連結する場合に親子関係を結んでいました．ここでは親スプライトの位置を動かすと子スプライトも一緒についてくる一方，子スプライトを動かしても親スプライトの位置は変わらないというルールでした．

　0.60では親子関係を廃止して，複数のスプライト間で対等なグループ関係を結ぶように変更しました．このため，0.60へアップグレードするとこれまでの親スプライトは子スプライトと対等のものとして，一つのグループ関係を結びます．グループ内のあるスプライトを動かすと，かならず他のスプライトも一緒についてきます．今後グループ内のスプライトの相互の位置関係を頻繁に変更するような場合は，グループは解除してしまって，0.60から実装された複数スプライト選択機能を使うのがお勧めです．

　*****************************************************************
　（実装面での注釈）0.583までスプライト同士の親子関係をul,li要素を用いたツリーで表現していたため，子要素を親要素よりも前面に表示することができませんでした．0.60からは全てのスプライトをdiv要素の兄弟として表現し，スプライト同士のグループ関係はJavaScriptの連想配列に格納しています．
　*****************************************************************

　自動配置調整が有効でないページでは，アップグレードによって位置が変化することはありません．ただし，前面と背面の関係が変わることがあります．0.583までは子が必ず親よりも前面に置かれてしまうという制約がありましたが，0.60ではこの制約が無くなりました．しかし，このためこれまで前面に見えていた一部のスプライトが，アップグレード後，背面に回ってしまう場合があります．0.583では子スプライトは「重なり変更ボタン」を押しても親より背面に回ることができませんでしたが，その場合，データ上は背面として記録されてしまっており，アップグレード後はボタンを押した結果がいまさらのように反映されてしまうためです．これはバグでした．ごめんなさい．

　自動配置調整が有効なページでは，親子関係にあったスプライトの相対位置は，アップグレードにより次の(2)で説明するような場合には変わってしまいます．


---------------------------------
(2)自動配置調整の変更
---------------------------------

　この変更はページのプロパティにおいて自動配置調整を有効にしているページに影響します．

　0.60では配置調整のルールを覚えやすいように簡単化しました．(1)で述べたように親子関係を廃止したため，グループ内のスプライト間の配置調整もグループ間の配置調整も兄弟のルールを適用します．また，ルールはSibling-TB(Top-Bottom)とSibling-BTのみとなりました．
（旧ルール）http://positlog.storybook.jp/positlog.cgi?load=070302FI

　新しいルールについてはむしろマニュアルをご覧ください．旧ルールと比べて文章面でも判りやすくしたつもりです．
（新ルール）http://positlog.org/071213nD.html

　0.583までのデータについて，スプライト間の配置調整データは解除されます．このため，アップグレード直後はフォントの大きさを変えたりブラウザの種類によって，位置を調整されることがなくなります．

　ページ内のスプライトをどれか一つでも動かすと再びページ全体が配置調整された状態で保存されますので，自動配置調整を有効にしているページでは大変お手数をかけますが配置の確認と再保存をお願いします．この作業はできるだけページ作成時のブラウザとフォントサイズで行ってください．作成時と環境が異なる場合には，見た目がアップグレード前といくらか変わってしまいます．不特定多数の利用者から書き込みがあったページはそのようになっている可能性が高いのでご注意ください．

　また，自動配置調整が有効である状態を「出版モード」と呼ぶように変更しましたのでご注意ください．


---------------------------------
(3)プラグインの変更
---------------------------------

　この変更はプラグインを用いたページに影響します．

　プラグインの処理方式を変更しました．

　アップグレード後には，プラグインでこれまでに作成されたキャッシュがあるならばキャッシュを元に生成されるスプライトが表示されますので，これは削除してください．

　また，これまでの生成型プラグインについては，新しい処理方法に基づいたスプライトが生成され，画面上に増えています．

　一旦配置したものが台無しになってしまい，またアップグレード直後は画面が散らかってしまい申し訳ありません．

　なお，0.60では，生成型プラグインで生成されたスプライトに個別に背景色や枠を設定することができます．生成されたスプライトは削除するとデフォルトの状態と位置で再生成されます．


・ブログ風新着記事・プラグインの廃止

　PositLogとしては実装面でも考え方の面でも例外的であるため，RecentSprites.pm を標準プラグインから外しました．利用されていた方には大変申し訳ありません．
　RSSlayouter.pmを使えば完全にではありませんが近いことが出来ますので，もしも可能ならばご代用ください．RecentSprites.pmとの大きな違いは，グループ化されたスプライトを一つのまとまりではなく，個別のスプライトとして認識し，配置する点です．また，RecentSprites.pmではスプライトの幅や枠が呼び出し先でも元のまま表示されましたが，RSSlayouter.pmでは呼び出し先で個別に設定した幅や枠の値を用いて表示されます．

　なお，RecentSprites.pmと同じようなプラグインは0.60でも作成可能だとは思います．



---------------------------------
---------------------------------
B. アップグレード方法
---------------------------------
---------------------------------

一通り手順を確認してから実際の作業を始めることをお勧めします．

---------------------------------
(1) バックアップ
---------------------------------

　まず，サーバ上の0.583関連のディレクトリを念のためどこか別の場所にバックアップしてください．
　特にページデータ保存用ディレクトリ（$datapath）と管理データ保存用ディレクトリ（$adminpath）をバックアップすることは忘れないでください．

　【注意！！】 管理データ保存用ディレクトリ内のファイルは.cgiという拡張子ですがバイナリファイルです．バックアップの際，FTPソフトでダウンロードする場合には，ASCIIモードではなくバイナリモードでダウンロード（あるいはアップロード）してください．


---------------------------------
(2) 残すファイルの選別
---------------------------------

　0.583関連のディレクトリのうち，
　・ページデータ保存用ディレクトリ（$datapath）
　・管理データ保存用ディレクトリ（$adminpath）
　・背景画像保存用ディレクトリ（$bgimagespath）
　として設定したディレクトリとその中のファイルを残して，他のファイルは全て削除してください．



---------------------------------
(3) 0.60用のPositLogConfig.pm
---------------------------------

　新しいPositLogConfig.pmはダウンロードした0.60の構成ファイルの中にあります．設定方法が変わっていますので次の点に注意して記述してください．

　・システムURL（$systemurl），背景画像保存用ディレクトリ（$bgimagespath），管理データ保存用ディレクトリ（$adminpath）の指定がなくなりました．いずれも設置位置はpositlog.cgiのあるディレクトリの直下で，名前も固定のものとなります．

　・背景画像保存用ディレクトリの名前は bgimages に固定ですので，異なる名前の場合はサーバ上のディレクトリ名を変更してください．設置場所はpositlog.cgiのあるディレクトリの直下へ移動してください．

　・管理データ保存用ディレクトリ（$adminpath）の名前は admindata に固定ですので，異なる名前の場合はサーバ上のディレクトリ名を変更してください．設置場所はpositlog.cgiのあるディレクトリの直下へ移動してください．

　（なお，$adminpathはPositLogConfig.pmの下のほうに隠れており，0.60では今まで通りに別の場所に設定することも可能ですが，今後断り無く動作しなくなる可能性があります．もしもこのあたりを自分で修正，管理してゆく場合は，とりあえずはpositlog.cgiのあるディレクトリからの相対パス指定のみとなった点にはご注意ください．）


　以上の結果，PositLogのルートディレクトリには，少なくとも次の2つのディレクトリがあることになります．

　PositLogルートディレクトリ
　|- admindata/
　|- bgimages/

　これに加えて，ページデータ保存用ディレクトリ（$datapath）が，あなたの指定した位置にあるはずです．



---------------------------------
(4) 0.60のインストール
---------------------------------

　install060.txtに従ってインストール作業をしてください．ただし次の3点に注意してください．

　・次のディレクトリは既にあるため，新たに作成せずそのまま用いてください．
　　- ページデータ保存用ディレクトリ（$datapath）
　　- 管理データ保存用ディレクトリ（$adminpath）
　　- 背景画像保存用ディレクトリ（$bgimagespath）

　・createadmin.cgiはアップロードしないでください．管理者の情報は自動的に引き継がれます．
　　また，インストール手順の最後にある，createadmin.cgiを開く手順は無視してください．

　・Perlのパスは，/usr/local/bin/perl ではなく， /usr/bin/perl を前提とするようになりました．もし異なるパスの場合は，.cgi ファイルを全て書き換えてください．


---------------------------------
(5) ファイル名の変更
---------------------------------

・admindata/ の下の 
 key.cgi を key.dat に
 homepage.cgi を homepage.dat に変更してください．


---------------------------------
(6) データのコンバート
---------------------------------

　・インストール作業が終わったら，convert05to06.cgi（このドキュメントと同じ場所にあるはずです）をPositLogのルートディレクトリにアップロードしてください．パーミッションを755に変更して，実行できるようにしてください．

　・Webブラウザからconvert05to06.cgiを実行してください．「Convert!」ボタンを押すと，処理が始まります．Succeeded! と表示されれば完了です．サイトの規模によってはしばらく時間が掛かる場合があります．



---------------------------------
(7) 後処理
---------------------------------

　convert05to06.cgiをサーバから削除してください．

　あとは install060.txtに戻って「５．PositLog の開始」の通りに進めてください．


以上です．データの変換にあたって問題があればご報告いただけると幸いです．

---------------------------------
(追記) PositLog0.5ベータ版からのアップグレード
---------------------------------

PositLog0.5ベータ版で描かれた絵はPositLog0.6でそのまま見ることは出来ません．
このため，それらの絵をPositLog0.6で見ることの出来る形式へ変換するツールを用意しました．

convertOldDrawings.cgi

0.5ベータ版を利用したことのない方，0.5ベータ版で絵を描いたことのない方は使用する必要はありません．

本ツールは convert05to06.cgi の適用後にご利用ください．

使い方：
１．PositLogのルートディレクトリへアップロードして，実行可能なパーミッションを与えてください（755など）
２．convertOldDrawings.cgiをウェブブラウザで開いてください．
３．変換対象のページのIDを入力して，Covert! ボタンを押してください．

以上です．





