Confluence 6.0 への準備

_development_releases_archive

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

このドキュメントでは、既存のプラグインおよびアドオンに Confluence 6.0 との互換性があるかどうかを確認したい、Confluence 開発者向けの情報をご案内します。また、Confluence 6.0 でアドオンを開発するための新しい機能についても説明します。

共同編集 

待望の機能をテストできるようになりました。共同編集の機能についてご確認ください。また、内部処理およびアドオンの互角性を確認する方法について「Confluence 6.0 の準備」をご確認ください。 

これらはアーリー マイルストーンであり、本番サイトには適していません。テスト サイトでのみ実行してください。
 

その他の情報...
メモリ要件

以前の Confluence リリースよりも多くのリソースをテスト サーバーに提供する必要がある場合があります。この EAP リリースでは、Synchrony の最大ヒープ サイズは 1 GB です。Confluence 6.0.0-m77 では、これは reza.memory.max システム プロパティ経由で設定可能です。

ポートとファイアウォール / プロキシ

以下を許可するようにファイアウォール / プロキシを設定する必要があります。

  • WebSocket 接続 (NGINX を使用している場合は詳細について「WebSocket プロキシとして NGINX を使用する」を参照してください)。Confluence 6.0.0-rc2 では、実験的な XML HTTP Request (XHR) フォールバック機能を、システム プロパティ synchrony.enable.xhr.fallback=true を設定することで利用できます。この機能は、一部のユーザーが WebSockets 経由で Confluence にアクセスできない事象が本番環境で確認された場合に使用できます。XHR フォールバックには、Confluence 経由での Synchrony プロキシの使用との互換性はない点にご注意ください。CONF-44250 を参照してください。
  • ポート 8091 は Synchrony の接続用です。現在、内部 Synchronyプロキシを開発中です。これが実現すると、お客差がポート 8091 を使用する必要はなくなります。これは今後のマイルストーンで利用できるようにする予定です。
  • Confluence 6.0.0-m77 では、リバース プロキシを使用した Confluence の実行をサポートしています。Synchrony を含める方法の例については、「NGINX を使用して Confluence へのリクエストをプロキシする方法」を参照してください。
HTTP と HTTPS
  • 初期の EAP リリースでは、既定の HTTP コネクタ構成のみがサポートされていました。Tomcat コネクタの構成をカスタマイズした場合 (例: 「SSL または HTTPS 上で Confluence を実行する」)、共同編集が失敗する可能性があります。これは後のマイルストーンで解決されました。
  • Confluence 6.0.0-m77 では、SSL とリバース プロキシを使用した Confluence の実行をサポートしています。詳しくは、「SSL を使用して NGINX の背後で Confluence を実行する」を参照してください。Apache mod_proxy 用の最新ドキュメントを近日中に公開予定です。
データベースの検討事項

次の場合、共同編集でエラーが発生し、失敗します。

Data Center ではまだ利用できません。

この EAP リリースはまだ Confluence Data Center には対応していません。今後のマイルストーンで利用できるようにする予定です。

ドキュメント用テーマ

Confluence 6.0.0-m77 に含まれているアップグレード タスクでは、ドキュメント テーマが削除され、ドキュメント テーマを使用しているすべてのスペースがデフォルトのテーマに切り替えられます。詳しくは、ドキュメント用テーマの移行に関する FAQ を参照してください。 

Guava のアップグレード

Confluence 6.0.0-m68 には、Guava 18.0 へのアップグレードが含まれます。これまで製品で使用されていたのは Guava バージョン 11.0.2 であり、これは 2011 年にリリースされた非常に古いバージョンです。 

バージョン 11 から 18 の完全なリリース ノートは https://github.com/google/guava/wiki/ReleaseHistory にあります。

重大な変更

11.0.2 から 18.0 の間に多数の大きな変更がありました。特に次のものをご確認ください。

  • Cache が LoadingCache に
    Cache は 11.0.2 で廃止されていましたが、引き続き使用できていました。これは完全に削除され、すべての使用箇所を LoadingCache または CacheBuilder.build() に置き換える必要があります。詳しくは、https://github.com/google/guava/wiki/Release11 を参照してください。
  • Cache で MapMaker のサポートを終了
    MapMaker から標準の LoadingCache への移行の詳細については、https://github.com/google/guava/wiki/MapMakerMigration をご確認ください。
  • Stopwatch の変更
    Stopwatch.createStated() および Stopwatch.createUnstarted() メソッドのため、Stopwatch コンストラクタは削除されました。また、すべての elapsedXXX メソッドも stopwatchInstance.elapsed(TimeUnit) のために削除されました。https://github.com/google/guava/wiki/Release15 をご参照ください。

Hibernate のアップグレード

Confluence 6.0.0-m68 には、Hibernate 5.2.2 へのアップグレードが含まれます。これまで製品で使用されていたのは Hibernate バージョン 2.1.8 であり、これは 10 年以上前にリリースされた非常に古いバージョンです。

hibernate 2 インターフェイスを hibernate 5 に適用させ、HQL クエリをトランスパイルして一般的な非互換性を回避できるよう、互換性レイヤーが導入されました。

バージョン 2.1.8 から 5.2.2 への完全な変更履歴は、https://github.com/hibernate/hibernate-orm/blob/4.3/changelog.txt および https://github.com/hibernate/hibernate-orm/blob/master/changelog.txt で確認できます。

その他のライブラリのアップグレード

次のライブラリおよびプラグインをアップグレードしました。

  • Hibernate 5
  • Google gson 2.7
  • Atlassian gzipfilter 3.0
  • AUI 5.10.1
  • Atlassian Gadgets 4.2.7
  • SLF4 1.7.21
  • JSON 0.11
  • Atlassian http 1.1.4
  • commons codec 1.10 
  • commons validator 1.5.1
  • Botocss 6.3
  • Atlassian beehive 0.2.1
  • Active Objects 1.2.2

非推奨の機能の削除予定 

Confluence 6.0 では、これまでに非推奨にした多数の機能を削除する予定です。作業が完了次第、こちらで詳細をお知らせします。 

plugin license storage プラグインへの変更

com.atlassian.upm:plugin-license-storage-plugin:2.15.3 が実現する機能は現在は完全に UPM によって提供されており、古いプラグインは Guava 18 との互換性がなかったため、これを Confluence 6.0 から削除しました。

Could not initialize class com.atlassian.upm.osgi.impl.Versions などのエラーが表示される場合、サードパーティ製ライセンス API の現在のバージョンを提供している UPM のバージョンに応じてアドオンを更新する必要があります。Confluence 6.0 のアドオンにライセンス サポートを追加する方法については、https://developer.atlassian.com/market/add-on-licensing-for-developers/tutorial-adding-licensing-support-to-your-add-on をご参照ください。

別の理由で com.atlassian.upm.osgi.impl.Versions などのクラスを使用している場合、次の依存関係経由で引き続き利用できます。

pom.xml
<dependency>
    <groupId>com.atlassian.upm</groupId>
    <artifactId>upm-common</artifactId>
    <version>2.21.3</version>
    <scope>provided</scope>
</dependency>


プラグインで Atlassian Gzip Filter を使用できなくなった

com.atlassian.gzipfilter* をプラグインで利用できなくなりました。Shade バージョンの com.atlassian.gzipfilter.org.commons.lang を使用しているプラグインは、Apache Commons Web サイトの標準アップグレード ガイドに従い、commons-lang3 にアップグレードする必要があります。これは一般に、 com.atlassian.gzipfilter.org.commons.lang からのインポートを、Confluence によってエクスポートされる org.apache.commons.lang3 に変更するだけです。

slf4j internals への変更

org.slf4j.impl および org.slf4j.bridge はエクスポートされなくなりました。プラグインでは slf4j internals の使用箇所を削除できるほか、pom.xml で maven-confluence-plugin 構成の <Import-Package> セクションでの internals のインポート宣言も削除できます。これは、slf4j はプラグインなしで完全に機能するためです。

XML API の変更 

  • Confluence は JAXB の com.sun.bind 実装の使用 (com.sun.xml.bind:jaxb-impl から) を終了し、Java 8 にバンドルされているバージョンのみを使用するようになりました。プラグインで実装パッケージをインポートする必要がなくなりました。また、Confluence は javax.xml.bind:jaxb-api で依存関係をエクスポートしなくなりました。プラグインは、Java でバンドルされているバージョンによって異なります。
  • batik jar がプラグインから使用できるよう、Confluence では org.w3c.dom から十分なパッケージをエクスポートするようになり、org.w3c.dom.xpath が bootstrap ローダーから正常にエクスポートされるようになりました。この変更の一環として、Confluence は xml-apis:xml-apis で依存関係をエクスポートしなくなり、代わりに org.apache.xmlgraphics:batik-ext をエクスポートします。一部のプラグインでは、この変更により、コンパイル エラーが発生する場合があります。
  • Confluence は org.w3c.css:sac をエクスポートしなくなりましたが、代わりに xml-apis:xml-apis-ext をエクスポートします。
  • Confluence は、net.sourceforge.cssparser:cssparser からインターフェイス org.w3c.css.sac.Parser の実装を提供しなくなりました。デフォルトでは、org.apache.xmlgraphics:batik-css:1.7 の実装のみをシステム バンドルで利用できます。

非推奨の javascript グローバル

Confluence 5.9 では、Confluence が提供するすべての javascript グローバルの使用を非推奨にしました。 

window グローバル
Confluence
AJS
WRM

更新: これらの非推奨の javascript グローバルは 6.0 では削除されていませんが、将来のリリースで削除される予定です。この変更が発生する前に、適切な AMD モジュールへの移行に役立つ詳細情報を提供します。 

リマインダー: 依存関係の要求について

フロントエンド リソースのモジュラー デザインが進むにしたがい、プラグインが必要としているすべての依存関係を確実に提供することがさらに重要になります。過去にページに偶然追加されたリソースが、そのリソースを必要とする個々の機能やコンポーネントに対して非同期に読み込まれるために、ページに含まれなくなったり、正常に動作しなかったり、後から含まれたりする場合があります。これにより、ページの読み込み時間が短縮され、常に必要ではないリソースの読み込みが回避されるため、パフォーマンス上のメリットが実現されます。

つまり、リソースに必要な依存関係を atlassian-plugin.xml で常に明示的に定義する必要があります (特に Core に含まれていない AUI コンポーネントの場合)。たとえば、https://docs.atlassian.com/aui/latest/docs/date-picker.html の場合、この依存関係を atlassian-plugin.xml ファイルで「<dependency>com.atlassian.auiplugin:aui-date-picker</dependency>」のように、明示的に必須にする必要があることがわかります。すでに定義済みの場合、特別な操作は不要です。

最終更新日 2018 年 4 月 24 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.