27 | | 指示がない限り、メジャーバージョンをアップグレードする (例えば 0.8 から 0.9) ときは、データベーススキーマの変更と、おそらく [wiki:TracEnvironment TracEnvironment のディレクトリ] 構成の変更が生じます。幸運なことに Trac は自動アップデートのスクリプトを提供しているので、負担が軽減されるでしょう。これらのスクリプトは [wiki:TracAdmin trac-admin] を通して起動されます: |
| 26 | また、 `share/trac` (正確な位置はプラットフォームに依存しますが一般的にはこの位置です。) ディレクトリ内の `cgi-bin`, `htdocs`, `templates`, `wiki-default` といったディレクトリを削除してもかまいません。 (訳注: 0.11 では、これらのディレクトリは `site-packages/trac` の配下に移動しています) |
| 27 | |
| 28 | このクリーンアップは必須ではありませんが、あとでトラブルシュートを行う場合の切り分けが容易になります。すでに使われていない前のリリースのコードやテンプレートを見るなどという時間の浪費をしたくないのであれば、削除しておく方が楽です。もちろん、ファイルを削除する前にバックアップを作成する方が良いでしょう。 |
| 29 | |
| 30 | === 2. TracEnvironment をアップグレードする === #UpgradetheTracEnvironment |
| 31 | |
| 32 | Environment のアップグレードは、マイナーバージョンアップに特別な注意書きがない限り、不要です。 |
| 33 | |
| 34 | アップグレードした Trac がロードされると、アップグレードする必要があるインスタンスが表示されます。アップグレードはオートメーションされたスクリプトを手で実行します。これらのスクリプトでは [TracAdmin trac-admin] を使用します。 |
50 | | 新しい Trac コードをリロードするために、 Web サーバを再起動する必要があります。 (古い [wiki:TracCgi CGI] プログラムを使用しているときは必要ありません。) |
51 | | |
52 | | == 特定のバージョン間のアップグレードについての付記 == |
53 | | |
54 | | 以下のセクションでは Trac の特定のバージョンにアップグレードするときにやらなければならないことについて記述します。 |
55 | | |
56 | | == 0.9 から 0.10 へのアップグレード == |
57 | | |
58 | | Wiki シンタックスでいくつかの変更があったため、いくつかのページでは期待通りに動かないことに気づくでしょう: |
59 | | * バージョン 0.9 以前、画像ファイルへのリンクはページの中に組み込まれていました。 0.10 以降では、画像ファイルへのリンクは単なる画像ファイルへのリンクとなります。もし、そのページに画像ファイルを組み込みたいならば、 `[[Image]]` マクロを使用して下さい。 |
60 | | * wiki のリンクでスペース文字をエンコードするのに、 `%20` を使用しなくてもよくなりました。その代わり、スペースを含んでいる名前を括って下さい。 (例えば、`wiki:My%20page` の代わりに `wiki:"My page"` を使用することができます。) |
61 | | |
62 | | いくつかの拡張機能がバージョンコントロールサブシステムに追加されました。特にスコープつきのリポジトリの対応が向上しました。 |
63 | | これらの機能をうまく利用するために、 '''`resync`''' 操作を [TracAdmin#対話モード trac-admin] で実行することを推奨します。 |
64 | | |
65 | | [TracAdmin trac-admin] の '''`initenv`''' コマンドの引数リストが変更になったことに注意して下さい: バージョンコントロールシステムの種類を設定するための新しい引数が追加されました。古い使用方法は以下の通りです: |
66 | | {{{ |
67 | | initenv <projectname> <db> <repospath> <templatepath> |
68 | | }}} |
69 | | 新しい使用方法ではこうなります: |
70 | | {{{ |
71 | | initenv <projectname> <db> <repostype> <repospath> <templatepath> |
72 | | }}} |
73 | | TracEnvironment を自動で生成するスクリプトを使用している場合は、アップデートする必要があります。もし、 Subversion を使用しているならば、 `<repostype>` 引数に `svn` を指定して下さい。 |
74 | | |
75 | | == 0.9.3 から 0.9.4 へのアップグレード == |
76 | | |
77 | | レポートのクエリで `LIKE` 節での "%" や日付のフォーマットを使用すると落ちるというバグが Pysqlite 1.x に存在します。パーセント文字を使用するときは、もう一つパーセント文字を付けてエスケープする必要があります: "%%" |
78 | | |
79 | | == 0.9.x から 0.9.3 以降へのアップグレード == |
80 | | |
81 | | もし、プラグインを使用しているならば、それらをアップグレードする必要があるでしょう。詳細は http://trac.edgewall.org/milestone/0.9.3 を参照して下さい。 |
82 | | |
83 | | == 0.9-beta から 0.9 へのアップグレード == |
84 | | |
85 | | 静的リソース (CSS, javascript, 画像ファイル) のインクルードは機能しません。 trac.ini の `htdocs_location` を確認してください。 [wiki:TracModPython mod_python], [wiki:TracStandalone Tracd], [wiki:TracFastCgi FastCGI] を使用している場合、単にオプションを削除してください。 [wiki:TracCgi CGI] を使用している場合、 Trac の `htdocs` ディレクトリへの URL マップを修正しなければいけません (以前の記述を削除し、 [wiki:TracCgi#静的なリソースをマッピングする 静的なリソースをマッピングする])。オプションを削除した後でも問題が残っている場合、ファイル `trac/siteconfig.py` のパスを確認し、誤っていれば修正してください。 |
86 | | |
87 | | Trac 0.9 のベータリリースでプラグインを使用しているか、組み込みコンポーネントの無効化を行っていたら、 [wiki:TracIni trac.ini] でコンポーネントの無効化 / 有効化のルールを更新しなければならないかもしれません。特にグローバルにインストールされたプラグインは、現在では明示的に有効化する必要があります。詳しくは TracPlugins と TracIni を参照して下さい。 |
88 | | |
89 | | タイムラインでチケットの全ての更新を表示させたい ("チケットの詳細" オプション) 場合も、 [wiki:TracIni trac.ini] での明示的な有効化が必要です: |
| 58 | Trac でソースコードをブラウズしているときに "[http://trac.edgewall.org/ticket/6120 リポジトリにチェンジセット ??? が存在しません]" のようなエラーが出る場合は、それぞれの [TracEnvironment Trac environment] のソースコードリポジトリと再同期をする必要があります。 |
100 | | from: PythonHandler trac.ModPythonHandler |
101 | | to: PythonHandler trac.web.modpython_frontend |
| 68 | trac-admin /path/to/env deploy /deploy/path |
| 69 | }}} |
| 70 | このコマンドは、新しい Trac のバージョンとそのプラグインから `/deploy/path` に静的リソースと CGI スクリプト (`trac.wsgi`, など) を抽出します。 |
| 71 | |
| 72 | いくつかのウェブブラウザは、 CSS や Javascript ファイルをしつこくキャッシュしているので、ユーザにはこれらのブラウザのキャッシュの中身を手動で削除するように指示したほうがいいかもしれません。 |
| 73 | |
| 74 | === 6. 特定の Trac バージョンでの特記事項 === #a6.StepsspecifictoagivenTracversion |
| 75 | ==== Trac 0.11 から Trac 0.12 にアップグレードする ==== #UpgradingfromTrac0.11toTrac0.12 |
| 76 | ===== Python 2.3 サポート ===== #Python2.3nolongersupported |
| 77 | 現在 Python 2.4 以降 をサポートします。 |
| 78 | |
| 79 | ===== SQLite v3.x ===== #SQLitev3.xrequired |
| 80 | SQLite v2.x のサポートは終了しました。もしいまだに Trac で SQLite v2.x のデータベースを使用しているようならば、まず最初に SQLite v3.x に変換する必要があります。詳細は [http://trac.edgewall.org/wiki/PySqlite#UpgradingSQLitefrom2.xto3.x] を参照して下さい。 |
| 81 | |
| 82 | ===== [http://trac.edgewall.org/wiki/PySqlite PySqlite] 2 ===== #PySqlite2required |
| 83 | [http://trac.edgewall.org/wiki/PySqlite PySqlite] 1.1.x のサポートは終了しました。可能であれば、バージョン 2.5.5 以降のバージョンをインストールして下さい。 (下記 [#Tracdatabaseupgrade Trac データベースのアップグレード] を参照して下さい。) |
| 84 | |
| 85 | ===== 複数のリポジトリのサポート===== #MultipleRepositorySupport |
| 86 | 最新のバージョンでは複数リポジトリの取り扱いをサポートしています。Trac に複数のリポジトリを追加する予定であるならば、今では複数のリポジトリを扱えるようになっています。詳細については、 [TracRepositoryAdmin#Migration 単一リポジトリからの移行手順] を参照して下さい。 |
| 87 | |
| 88 | もし単一のリポジトリでの運用を行なっていたとしてもこの手順は興味深いものとなるかもしれません。なぜなら、この方法によってリクエスト毎に発生する潜在的に負荷の高い再同期のチェックを避けることができるからです。 |
| 89 | |
| 90 | ===== 向上したリポジトリの再同期 ===== #Improvedrepositorysynchronization |
| 91 | 複数のリポジトリをサポートするのに加えて、今では Trac と リポジトリの同期でより効果的な方法があります。 |
| 92 | |
| 93 | バージョン 0.11 と同様に post-comit フックを使用した同期方法を続けることもできますが、[TracRepositoryAdmin#Synchronization リポジトリの同期方法] や [TracRepositoryAdmin#ExplicitSync 明示的な同期] に書かれている方法の方が、より効果的な同期を行なうことができ、多かれ少なかれ、複数のリポジトリを扱う際に必須となります。 |
| 94 | |
| 95 | Note: もし、 `trac-post-commit-hook` を使用していたならば、上記を参照して、新しいフックに ''アップグレードすることを強くお勧めします'' 。なぜなら、古いフックはデフォルトのリポジトリ以外では動きません。そしてこの場合、適切な通知のトリガーとなりません。 |
| 96 | |
| 97 | ===== Authz のパーミッションチェック ===== #Authzpermissionchecking |
| 98 | authz のパーミッションチェックが粒度の細かいパーミッションポリシーとしてマイグレートされました。もし authz パーミッションを使用しているならば、 ( `[trac] authz_file` や `authz_module_name` を参照)、 `[trac] permission_policies` で定義するパーミッションポリシーの先頭に、 `AuthzSourcePolicy` を追加しなければなりません。また、グローバルのパーミッション設定から `BROWSER_VIEW`, `CHANGESET_VIEW`, `FILE_VIEW`, `LOG_VIEW` を削除しなければなりません (`trac-admin $ENV permission remove` コマンドまたは、管理パネルの "権限" から削除されます。) |
| 99 | |
| 100 | ==== マイクロ秒のタイムスタンプ ==== #Microsecondtimestamps |
| 101 | データベースのテーブルにある全てのタイムスタンプ (セッションテーブルは除く) は "エポックからの秒数" から "エポックからのマイクロ秒数" へ値を変更しました。この変更はカスタムレポートを除いて、ほとんどのユーザは意識せずにすむはずです。レポートで計算に日付/時刻カラムを使用するような場合 (例えば、`datetime()`に渡す場合)、データベースから取り出した値を 1,000,000 で割る必要があります。同様に、もしレポートで日付/時刻と表示される計算された値 (カラム名が "time", "datetime", "changetime", "date", "created" や "modified") をマイクロ秒のタイムスタンプで用いる必要がある場合には、先の計算を1,000,000倍して下さい。 |
| 102 | |
| 103 | ==== Trac 0.10 から Trac 0.11 へのアップグレード ==== #UpgradingfromTrac0.10toTrac0.11 |
| 104 | ===== テンプレート と スタイルシート ===== #SiteTemplatesandStyles |
| 105 | テンプレートエンジンが Trac 0.11 から Genshi に変わりました。詳細については、 TracInterfaceCustomization を参照して下さい。 |
| 106 | |
| 107 | もし、TracEnvironment の `templates` ディレクトリの中のカスタマイズされた CSS や 修正したテンプレートを使用しているならば、 Genshi のスタイルに変換する必要があります。カスタマイズしたスタイルシートを使い続けるためには、[TracInterfaceCustomization#SiteAppearance サイトの外観] の手順に従ってください。 |
| 108 | |
| 109 | ===== Trac マクロプラグイン ===== #TracMacrosPlugins |
| 110 | [http://trac.edgewall.org/wiki/ClearSilver ClearSilver] と HDF が使用されなくなったことで、古いスタイルの Wiki マクロ は使用できなくなります。そのため Trac マクロを適応させる必要があるでしょう; 新しいスタイルのマクロに変更する必要があれば WikiMacros を参照してください。新しいスタイルにコンバートした後、配置するディレクトリは wiki-macros ではなく、 plugins を使用してください。 wiki-macros ディレクトリからマクロやプラグインを探すことはもうありません。 |
| 111 | |
| 112 | ===== FCGI/WSGI/CGI を使用する場合 ===== #ForFCGIWSGICGIusers |
| 113 | CGI で Trac を起動している場合、以下のコマンドを実行して trac.*gi ファイルを取得してください: |
| 114 | {{{ |
| 115 | trac-admin /path/to/env deploy /deploy/directory/path |
123 | | 0.8 では追加のパーミッションを必要とする新しい機能が加わりました。 |
124 | | 新規にインストールを行なった場合は、 anonymous に ROADMAP_VIEW と MILESTONE_VIEW パーミッションがデフォルトで与えられますが、 |
125 | | 既存の trac をアップグレードしたときは、 |
126 | | これらのパーミッションを手動で与えなければなりません。: |
127 | | {{{ |
128 | | $ trac-admin /path/to/projectenv permission add anonymous MILESTONE_VIEW |
129 | | $ trac-admin /path/to/projectenv permission add anonymous ROADMAP_VIEW |
130 | | }}} |
| 132 | === Wiki のアップグレード === |
| 133 | `trac-admin` は新しいバージョンでは存在しない以前のバージョンの Wiki ページを削除や移動しません。 |
| 134 | |
| 135 | === Trac データベースのアップグレード === #Tracdatabaseupgrade |
| 136 | |
| 137 | 既知の問題として、PySqlite のいくつかのバージョン (2.5.2-2.5.4) では、 trac-admin upgrade スクリプトを使用してデータベースを更新することができません。このエラーを避けるために、 sqlite の python バインディングのバージョンをより新しいものかより古いバージョンを使用することを推奨します。詳細については、 [http://trac.edgewall.org/ticket/9434 本家チケット 9434] を参照して下さい。 |
| 138 | |
| 139 | == Python のアップグレード== #UpgradingPython |
| 140 | |
| 141 | Python を新しいバージョンにアップグレードすると Python パッケージの再インストールが必要となります: Trac も例外ではないですし、 [http://pypi.python.org/pypi/setuptools easy_install] も然りです (もし使用しているならばですが)。 Subversion を使用しているならば、 Subversion の Python のバインディングもアップグレードする必要があります。 |
| 142 | |
| 143 | === Windows と Python 2.6 === #WindowsandPython2.6 |
| 144 | |
| 145 | もしあなたが、 !CollabNet の Subversion のパッケージを使用しているならばアンインストールする必要があるかもしれません。というのも、 [http://alagazam.net/ Algazam] に気軽に使える Python バインディングがあるからです。 ([http://trac.edgewall.org/wiki/TracSubversion TracSubversion] 参照) いいニュースとして、調整なしに動作します。 |
| 146 | |
| 147 | == データベースの変更 == #ChangingDatabaseBackend |
| 148 | === SQLite から PostgreSQL へ === #SQLitetoPostgreSQL |
| 149 | |
| 150 | [http://trac-hacks.org trac-hacks.org] の [http://trac-hacks.org/wiki/SqliteToPgScript sqlite2pg] は SQLite のデータベースを PostgreSQL に移行するためのサポートをするスクリプトです。 |
| 151 | |
| 152 | == より古いバージョン == #OlderVersions |
| 153 | |
| 154 | さらに前のバージョンからのアップグレードについては [trac:wiki:0.10/TracUpgrade#SpecificVersions] を最初に参照してください。 |