Wiki Markup から XHTMLベース ストレージフォーマットへのテンプレートの移行
旧バージョン(Confluence 4.2.x 以前)から Confluence 4.3 以降へのアップグレードを行うと、アップグレードの間にテンプレートは自動的に移行されます。破壊的なプロセスではありません。既存のデータは上書きされません。代わりに、移行プロセスで各スペースのテンプレートとグローバルテンプレートご利用の Confluence に作成します。新しいバージョンは XHTML ベースのストレージフォーマットを使用するため、Confluence のテンプレートはリッチテクストエディターでの編集が可能になります。
注意:それでもなお、Confluence アップグレードにおいても推奨するように、新しいバージョンの Confluence を起動させる前にデータベースとホームディレクトリのバックアップを確実に行う必要があります。
アップグレード中に移行ログを見る
サイトの移行の進行状況を監視するには、アプリケーションログのアウトプットを見ます。
通常のログの進行状況は、INFO レベルで以下のようなフォーマットで複数のログエントリによって表示されます:
WikiToXhtmlMigrationThread-n - Migrated 22 of 29 PageTemplates.
個々のテンプレートからのメッセージログは複数アレイになるかもしれませんが、すべてのコンテンツの処理が完了すると、表示されるエラーが 1 件の移行レポートに収集されます。レポートの典型的な例:
Wiki to XHTML Exception Report:
Summary:
0 settings values failed.
2 PageTemplates failed.
0 ContentEntityObjects failed.
Content Exceptions:
1) Type: page, Id: 332, Title: Release Notes 1.0b3, Space: DOC - Confluence 4.0 Beta. Cause: com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro link is unknown.. Message: The macro link is unknown.
2) Type: comment, Id: 6919, Title: null, Global Scope. Cause: com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro mymacro is unknown.. Message: The macro mymacro is unknown.
レポートの各エントリは移行の例外を引き起こしたコンテンツを特定し、その例外も表示します。
ほとんど場合、エラーとして報告されるコンテンツは新しい XHTML ベースのストレージフォーマットに移行されますが、実際には XML 'unmigrated-wiki-markup' マクロにラップされた wiki マークアップのコンテンツで成り立っています。このコンテンツは Confluence で閲覧可能となり、Confluence エディターで編集可能になります。
しかし、実際には移行に失敗するコンテンツも多く出てきます。これは通常、データベース トランザクションのロールバックが引き起こす、処理できない例外が原因となります。このような場合、以下のようなメッセージと共にログが記録されます:
Unable to start up Confluence. Fatal error during startup sequence: confluence.lifecycle.core:pluginframeworkdependentupgrades (Run all the upgrades that require the plugin framework to be available) - com.atlassian.confluence.content.render.xhtml.migration.exceptions.MigrationException: java.util.concurrent.ExecutionException: org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only
Confluence はこのようなシナリオに対し、これ以上のレポートを提供せず、移行を再試行せずに通常通り Confluence を再起動させます。移行されなかったテンプレートを見たり編集したりする場合は、wiki テンプレエディターを使用できます。
解決するには、下記の記述のように、再起動後にサイトの移行を手動で再実行する必要があります。
移行の再実行
テンプレートの移行に失敗した場合、Confluence 管理者はサイトの移行を再起動できます(前述のセクションを参照)。まだ wiki マークアップのフォーマットの状態のテンプレートのみが移行されます。通常、最初の移行に比べ再移行の所要時間は短くなります。
移行を手動で再実行するには:
- ブラウザで次の URL を開きます:
<Confluence Address>/admin/force-upgrade.action
- 実行するアップグレード タスクのドロップダウンリストからpageTemplateWikiToXhtmlMigrationUpgradeTaskを選択します。
- アップグレードを強制を選択します。
スクリーンショット:Confluence 管理コンソールの「アップグレードを強制」スクリーン
注意
Confluence の保存形式は、「XHTML ベース」といいます。正確を期すためには XML と呼ぶべきでしょう。というのも、Confluence の保存形式はXHTML 定義に準拠していないからです。特に、Confluence ではマクロなどにカスタム要素が含まれています。アトラシアンでは、保存形式で HTML が大部分を占めていることを示すために「XHTML ベース」という用語を使用しています。