この記事のタイトルにあるとおり、Nuxeoでは、JSFの使用をまもなく終了し、Web UIに切り替えていきます。JSFは、コンテンツ管理のバックオフィスツールとして旧式化しつつあり、先頃リリースしたLTS 2019では推奨されません。事実、弊社が2018年に着手した新しいプロジェクトのほとんどは、Web UIに基づく開発でした(Web UIはNuxeoの新しい設定可能なコンテンツ管理アプリケーションです)。ですから、この記事は「公式発表」とも言える位置付けです。

JSFをWeb Components/Polymerベースのアプリケーションに切り替えてWeb UIの開発サイクルに着手する理由はいくつかあります。

  • 基本のJSFがすでにメンテナンスを終了していること。このため、新しいブラウザにJSFを対応させるのは、今後どんどん難しくなっていくでしょう。
  • スキルという観点からエントリーコストを下げたいと思ったこと。HTML/JSの開発は、特殊性があるJ2EE標準に比べてより取り組みやすくなっています。
  • クライアント側に立って、より良いエクスペリエンスを実現したいと思ったこと。

終了

JSFアプリを終了することに不安はありません。基本機能(コンテンツのキャプチャとエクスポート、ワークフロー、検索、レンディション、パブリッシュ、ディスカッション、アノテーション、プレビューなど)のWeb UIへの移行はすでに完了しているためです。また、JSFアプリの利点であった細かな機能もすでに移行済みです。JSFアプリの開発には過去10年以上の時間を投資してきましたし、この「秘密の設定のコツ」の多くは今後もしばらくキープするつもりです。しかし、ここ数年はJSFアプリの機能スコープをほぼ凍結させる一方で、Web UIに独自の機能を多数追加してきました。

##「推奨しない」とは具体的に何を意味するのか?
推奨しないということは、このアプリケーションを基本として機能を開発したりプロジェクトを立ち上げたりすることはお勧めしないという意味です。将来のどこかのバージョンで、弊社によるサポートが終了するためです。新しいプロジェクトを開始するのであれば、Web UIをお使いください。

##リリース終了の見通しは?
Nuxeoが何かを推奨しないことにした場合、それは将来のどこかの時点でリリースを終了する意向であることを意味します。JSFアプリ(とその関連アドオン)に関しては、技術的な問題が生じたりCore APIやブロッカーの大きなリファクタリングが行われたりしないかぎり、またある程度の透明性があるコスト枠内で可能なかぎり、リリースし続けていくことになりました。この決定の理由は2つあります。

  1. LTS 2016 JSFで開発をされたお客様が、たとえそのJSFアプリを使い続けても、LTS 2019(あるいは将来の2020)へのアップグレードができるようにしておきたいからです。こうすることで、多数のパフォーマンス向上機能や新しいAPIを提供できるようになります。
  2. JSFアプリはIE 11をサポートしていますが、今後のブラウザバージョンのサポートには多少の問題が生じるかもしれません。

##JSFのサポートは継続されるのか?
NuxeoはJSFアプリをサポートし続けますが、以下のとおり、いくつかの制約が加わります。

  • 今後は機能変更を行いません。現在のJSFが抱えている制限は、アプリが完全に廃止されるまでそのままとなります。
  • ブロッカーのバグとセキュリティにかかわる問題点のみを修正します。エバーグリーンのブラウザに関しては、「最善の努力」を尽くすというポリシーで対応します。すでにメンテナンスが終了したJSFライブラリを活用する必要がある場合など、なかにはソリューションの見つからない問題が出てくるかもしれないということです。

今後は毎年1回、評価を行って、JSFのサポートを継続するかどうかを決めていきます。このため、御社のプロジェクトにIE 11の縛りがないかぎり、できるだけ早いタイミングでWeb UIに移行されることをお勧めします!

##JSFからWeb UIへの移行
Web UIの詳細を知るには、もちろんダウンロードしてテストしていただくことができます。また、ユーザマニュアルやNuxeo Universityの「クイックイントロダクション」ビデオもご覧いただけます。さらに、ユーザフレンドリーな比較ページ「JSFからWeb UIへの移行」もぜひご覧ください。

ベータ版の移行ツールをNuxeo Studioにリリースしました。Nuxeo Studioで設定したプロジェクトをWeb UIに移行するだけでなく、ドキュメントのフォームとワークフローの画面を必要なHTMLに変換するのに役立ちます。かなりの時間節約になるでしょう。もう少し進展した段階であらためて公に発表しますが、ご興味がある場合、Nuxeoサポートにご連絡いただければ、今からでも御社のプロジェクトで使えるようにすることができます。