ユーザが、フォルダ、サブフォルダ、およびファイルで、構造を含む.zipファイルをドロップできるようにします。ZIPファイルがアップロードされると、.zipファイルを格納する「ファイル」ドキュメントを作成する代わりに、アーカイブは実際に階層構造を持つファイルを作成します。

Zip File Import

この機能を必要とする場合、ユーザ用の最適なプラグイン:nuxeo-unzip-file(1)が用意されています。

インストールすると、プラグインによって、上述の機能を正確に実行することができます。階層化されたファイルを含む.zip fileを用意し、Nuxeoアプリケーションにインポートすると、自動的に該当のファイルが抽出され、全く同じ階層が作成されます

またおそらく、皆さんはお使いのアプリケーションをもっときめ細かくしたいとお考えでしょう。ユーザはドキュメントを作成したい時もあれば、ZIPファイル(通常は、「ファイル」ドキュメント)を保存したい時もあります。

この目的には、次のことを実行する必要があります。

  • 自動の動作を無効にする
  • 「オンデマンドで」ファイルの抽出をする

上記の2点は、当社が誇る画期的なNuxeo Studioオンライン構成ツールを使用して実行することができます。

自動の動作を無効にするには、プラグインで「FileManager」サービスに追加するデフォルト設定をオーバライドする必要があります。Studioで、Advanced Settings > XML Extensionsへ進み、新しいものを作成します。希望する名前を付け、次のXMLをペーストします。その場合、設定の正確な名前を使用して、無効化します。

<extension target="org.nuxeo.ecm.platform.filemanager.service.FileManagerService" point="plugins">
  <plugin name="UnzipToDocuments" <strong>enabled="false"</plugin></strong>></plugin>
</extension>

ここで、変更をデプロイし、.zipファイルをドロップすると、Nuxeo Platformは、「File」ドキュメントを作成します。

「オンデマンドで」抽出するには、プラグイン「Document.UnzipFileToDocuments」が提供する操作を使用します。この操作は、「ドキュメント」または「ブロブ」を受け入れます。インプットがドキュメントの場合、「file:content」フィールドを使用して、ブロブを取得します(オプションの「xpath」パラメータを使用して、別のフィールドを指定することができます)。デフォルトでは、現在のコンテナでドキュメントを作成しますが、この操作でも、希望する場合は「target」パラメータを設定することができます。したがって、基本的には、必要なときに操作を呼び出します(例えば、イベントハンドラで、UIのボタンを提供することによって)。


(1) このプラグインは、素晴らしいNuxeoソリューションアーキテクトチームが提供するものです。このプラグインには、私たち一人ひとりが必要とした機能をそれぞれに追加しました(立ち上げて抽出を構築した者、オプションのパラメータを追加した者、ユニット試験を追加した者、バグを修正した者など。完全にチームワークです!)