Documents and Media APIの使用開始

Documents and Media APIの使用開始

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

Documents and Media APIの使用を開始する前に、次のことを学ぶ必要があります。

主要なインターフェース

Documents and Media APIには、いくつかの主要なインターフェイスが含まれています。

  • ドキュメントおよびメディアサービス: これらのインターフェイスは、利用可能なすべてのドキュメントおよびメディア機能を公開します。

    • DLAppLocalService:ローカルサービス。
    • DLAppService:リモートサービス。 このサービスは、ローカルサービスメソッドを許可チェックでラップします。

    Liferayはこれらのサービスを作成するために Service Builder を使用したことに注意してください。 リモートサービスは、権限チェックが含まれているため、それはです のベストプラクティス ローカルサービスの代わりにそれを呼び出すこと。 サービス参照を取得する手順については、以下のセクションを参照してください。

  • エンティティインターフェイス: これらのインターフェイスは、ドキュメントとメディアライブラリのエンティティを表します。 使用する主なものは次のとおりです。

    • FileEntry:ファイルを表します。
    • フォルダー:フォルダーを表します。
    • FileShortcut:ファイルへのショートカットを表します。

サービス参照の取得

Documents and Media APIで何かをする前に、サービス参照を取得する必要があります。 あなたはOSGiのモジュールを使用している場合は、使用 @Reference に注釈を 宣言型サービスを経由してOSGiのコンポーネントでのサービス参照を取得。 たとえば、このコードは DLAppServiceへの参照を取得します。

@Reference
private DLAppService _dlAppService;

標準のWebモジュール(WARファイル)を使用している場合は、代わりに Service Tracker を使用してサービスへの参照を取得します。

この方法で参照を取得すると、OSGiの 依存関係管理 機能を確実に活用できます。 OSGiコンポーネントの外部(JSPなど)でDocumentsおよびMediaサービスを使用する必要がある場合、サービスのstatic * Util クラスを使用できます。

リポジトリの指定

Documents and Media APIの多くのメソッドには、操作が実行されるDocuments and Mediaリポジトリを識別する repositoryId パラメーターが含まれています。 サイト(グループ)は複数のリポジトリを持つことができますが、ポータルUIからアクセスできるリポジトリは1つだけです。 これは、サイト(グループ)リポジトリと呼ばれ、事実上サイトのデフォルトリポジトリです。 APIを介してこのリポジトリにアクセスするには、グループIDを repositoryIdとして指定します。

ファイル(FileEntry)、フォルダー(Folder)、およびファイルショートカット(FileShortcut)エンティティを介して repositoryId を取得することもできます。 これらの各エンティティには、リポジトリのIDを取得する getRepositoryId メソッドがあります。 たとえば、次のコードは FileEntry オブジェクト fileEntryのリポジトリIDを取得します。

long repositoryId = fileEntry.getRepositoryId();

リポジトリ オブジェクトが必要な場合もあります。 RepositoryProvider 参照を作成し、リポジトリIDをその getRepository メソッドに渡すことで取得できます。

@Reference
private RepositoryProvider repositoryProvider;

Repository repository = repositoryProvider.getRepository(repositoryId);

エンティティID(ファイルIDやフォルダIDなど)のみを持っている場合でも、 RepositoryProvider を使用して Repository オブジェクトを取得できます。 これを行うには、エンティティIDを引数として使用して、エンティティタイプの RepositoryProvider メソッドを呼び出します。 たとえば、次のコードは、フォルダーのIDを指定して RepositoryProvider メソッド getFolderRepository を呼び出して、フォルダーの リポジトリ 取得します。

Repository repository = repositoryProvider.getFolderRepository(folderId);

他のエンティティタイプのメソッドのリストについては、 RepositoryProvider Javadoc を参照してください。

特定のアプリ専用のリポジトリなど、リポジトリをプログラムで作成する方法があることに注意してください。 ただし、簡単にするために、ここのチュートリアルではデフォルトのサイトリポジトリにアクセスします。

フォルダーの指定

多くのAPIメソッドでは、操作を実行するフォルダーのIDが必要です。 たとえば、このようなメソッドには、 folderId または parentFolderIdなどのパラメーターが含まれる場合があります。 また、定数 DLFolderConstants.DEFAULT_PARENT_FOLDER_ID を使用して、現在のリポジトリのルートフォルダーを指定できることに注意してください。

関連トピック

サービスビルダー

OSGiサービスと宣言型サービスによる依存性注入

依存関係の活用

サービストラッカー

« ドキュメントとMedia APIファイル、フォルダー、およびショートカットの作成 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています