Plone 2.0 サイトの Plone 2.1 への移行

Plone 2.0 から Plone 2.1 への以降

takanori

この文書について

この文書は Migrating a Plone 2.0 site to Plone 2.1 という plone 2.0 から plone 2.1 に移行するためのさまざまな情報を含んだ文書を、鈴木たかのりが翻訳したものです。

翻訳レベルが低いので、読みづらい部分や実は間違っている部分とかもあるかもしれませんので、そのあたりご了承ください。

「ここがおかしいよ」みたいな指摘があれば、コメントとして書き込んでいただければと思います。

Plone 2.0 から Plone 2.1 への以降

移行を行う前にこの文書を読んで、Plone サイトを移行することによる影響を理解する必要があります。 特に「一般的な問題点と課題」の箇所は全て読んでください。 私たちは以下の標準的な手順を提案します:

移行とバージョン番号についてのメモ

plone は 2.0 から 2.1 へのバージョンアップで、かなり基盤の部分を変更しました。 plone 2.1 は18ヶ月間の活発な開発と改善により、よりスケーラブルで協力なプラットフォームとなっています。

一部の人々は低いバージョン番号の増加に混乱し、それがマイナーなアップグレードであると誤解しています。 実際にはそうではなく、かなり大幅なアップグレードになっています。

plone 2.1 までは(標準的なフレームワークのポリシーの変更のような)メジャーなリリースでは、バージョン番号を 0.1 させるという方針でした。 しかしこれは混乱を招くと考え、方針を変更しました。 plone チームは6ヵ月ごとに新しいバージョンをリリースする予定なので、重要なリリースごとにバージョン番号 0.5 増加するように方針を変更しました。

私たちはそれぞれのリリースに含まれる膨大な作業量を反映し、また、このリリースでなにが行われるかを理解してもらいやすくするためにこのようにしました。

ここでのポイントは、たとえ 2.0 から 2.1 へのアップグレードがマイナーなものに感じられたとしても、実際にはそうではないということです。 コンテントタイプの基盤は書き直され、全てのコンテンツは新しいタイプに変換する必要があります。 その作業の上で若干の痛みを伴う可能性があります。 ― サードパーティのプロダクトやテンプレートの再カスタマイズ、もしくは移行ツールのバグによるものかも知れません。 (バグの大部分は 2.1 と 2.1.1 のリリースで解決されました。)

移行(migration)について

私たちはあなたがどのように移行対象のシステムに手を加えたのかわからないため、移行ツールがどれだけ動作するかを予測することが難しいという点に注意してください。 plone は非常に柔軟なシステムです。 しかし、システムにどのような変更を加えたかによって、移行の結果に大きな影響を与えます。

移行ツールは大部分のケースを処理することができます。 しかし、あなたのところでは違うかもしれません。 かなりカスタマイズされたサイトでは、移行に際し考慮に入れるべき点があります。

将来 plone 2.5(次のリリース)のために、移行を簡単に行うために構造に大幅な改善を行います。 そのため、コンテンツと設定をエクスポートしてインポートするためのよりよいツールを提供します。

plone 2.1.2 移行のリリースでは人々からのフィードバックを元に、移行ツールに重要な改善が含まれています。 そのため plone 2.1 や 2.1.1 のリリース時に移行に失敗した場合でも、新しいバージョンで再度移行を試みてください。

移行の実施

移行を実際に始める前に、あなたはどちらの方法で移行作業を行うかを決めなければなりません。 移行の手順として2つの一般的な方法があります。:

  1. あなたのサイトのコンテンツ、プロダクトとカスタマイズをその場所(in-place)で行う。
  2. コンテンツをエクスポートして、新しく作成した plone 2.1 サイトにインポートする。

in-place 移行手順はより包括的な手順のため、あなたが無作法なサードパーティ製のプロダクトを使用していたり、とても古い plone のインスタンスを使用している場合にはエラーを起こしやすいです。 もしコンテンツがもっとも重要ならば、全てのコンテンツをフォルダごとにエクスポートして、きれいなインスタンスにインポートして、設定と簡単なカスタマイズを再度行うほうがよいかも知れません。 この手順は importing Plone 2.0 content into 2.1 FAQ に記述されています。 問題が発生している場合に最後の手段としてのみ、この手順を行うということに注意してください。 (もしくはクリーンなサイトから初めてコンテンツだけを移行したい場合に) ― 大部分の人にとっては in-place 手順が移行に適した方法です。

in-place 手順は plone を移行するための標準的な手法です。 手順の概要を示します。:

  1. あなたがこの移行作業で zope 2.7 から zope 2.8 にアップグレードしたい場合は、 plone の移行を完了させるまでは zope 2.7 のままで作業を行い、 それから zope 2.8 にアップグレードしてください。 zope 2.8 は大きな変更と改善点を含んでいます。 そのため、zope と plone のアップグレードを一度に行うことはおすすめできません。 zope 2.7 と zope 2.8 は共に plone 2.1.x をサポートしています。 経験則として、アップグレードは上位層からはじめて、それがうまく動いてからその下の層をアップグレードしてください。 ― 最初にプロダクト、次に plone、次に zope、そして python をアップグレードしてください。
  2. 使用しているサードパーティ製のプロダクトが plone 2.1 で動作することを確認してください。 あなたが使用しているプロダクトが plone 2.1 をサポートしていない場合、plone 2.1 に移行することはいろいろと問題が発生する可能性があります。
  3. なにもない場所に新しいバージョンの plone をインストールしてください。 その際、zope は同じメジャーバージョンのものを使用してください。 (例えば、zope 2.7.3 から zope 2.7.5 に変更するのは問題ありません。 しかし、2.7.x から 2.8.x に変更することは plone の移行が終了するまではおすすめできません。)
  4. 新しいインスタンスに、Data.fs とすべてのプロダクト、External Methods をコピーします。
  5. 新しい zope と plone を立ち上げます。
  6. ZMI に Manager ユーザでログインします。
  7. portal_migration に移動します。
  8. migrate ボタンをクリックして移行プロセスが終了して画面になにか表示されるまで待ちます。 ここでは全てのコンテンツを新しいコンテンツ型で再作成し、検索用の再カタログ化も行われます。 そのため、あなたのサイトのコンテンツの数などによって、実行にかなりの時間がかかる場合があります。

一般的な問題点と課題

付記

ティップス: テンプレートを再カスタマイズする方法

もしあなたが plone 2.0 のテンプレートに対して重要な変更 (機能的に、CSS のクラスは 2.0 とほとんど同じです。) を行っている場合、 2.1 のテンプレートに対しても同様のカスタマイズを適用しなければならないかもしれません。 そのためのもっとも最良の方法は:

追伸

この資料は 2.0 から 2.1 への移行に関連する情報をまとめるために作成されました。 この資料を作成するにあたって、まず第一に移行のためのコードを作成した(退屈で複雑な作業です) Plone チームの勤勉なメンバーと、 多くの人々の移行を成功させた Plone Setup メーリングリストのメンバーの助けなしには不可能でした。 You all rock!

関連コンテンツ