AEM Formsリポジトリの操作

Repository Serviceについて

Repositoryサービスは、リソースのストレージおよび管理サービスをAEM Formsに提供します。 開発者は、AEM Forms​アプリケーションを作成するときに、ファイルシステムではなく、リポジトリにアセットをデプロイできます。 アセットには、XML 形式、PDF 形式(Acrobat 形式を含む)、フォームのフラグメント、画像、プロファイル、ポリシー、SWF ファイル、DDX ファイル、XML スキーマ、WSDL ファイルおよびテストデータなど、任意のタイプのコラテラルが含まれます。

例えば、次のFormsアプリケーション​Applications/FormsApplication​を考えてみましょう。

ww_ww_formrepository

FormsFolder内にLoan.xdpという名前のファイルがあることに注意してください。 このフォームデザインにアクセスするには、次の操作を行います(バージョンを含む)。Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.

メモ

Workbenchを使用したFormsアプリケーションの作成について詳しくは、Workbenchヘルプを参照してください。

AEM Formsリポジトリ内のリソースへのパスは次のとおりです。

Applications/Application-name/Application-version/Folder.../Filename

次に、URI値の例を示します。

  • Applications/AppraisalReport/1.0/Forms/FullForm.xdp
  • Applications/AnotherApp/1.1/Assets/picture.jpg
  • Applications/SomeApp/2.0/Resources/Data/XSDs/MyData.xsd
メモ

Webブラウザーを使用して、AEM Formsリポジトリを参照できます。 リポジトリを参照するには、Webブラウザーhttps://[server name]:[server port]/repositoryに次のURLを入力します。 「AEM Formsリポジトリでの作業」セクションに関連付けられているクイック開始の結果は、Webブラウザーを使用して確認できます。 例えば、コンテンツをAEM Formsリポジトリに追加すると、Webブラウザーでコンテンツを表示できます。 (クイック開始(SOAPモード)を参照):Java APIを使用したリソースの書き込み)。

リポジトリAPIは、リポジトリに情報を格納したり、リポジトリから情報を取得したりするために使用できる操作を多数提供します。 例えば、リソースのリストを取得したり、アプリケーションの処理の一部としてリソースが必要な場合にリポジトリに格納されている特定のリソースを取得したりできます。

メモ

リポジトリAPIを使用してContent Services(非推奨)とやり取りすることはできません。 Content Services(非推奨)とやり取りするには、ドキュメント管理APIを使用します。

RepositoryサービスAPIを使用して、次のタスクを実行できます。

  • フォルダーの作成. 「フォルダーの作成」を参照してください。
  • リソースとそのプロパティを書き込みます。 リソースの書き込みを参照してください。
  • 特定のコレクション内のリストリソース、または他のリソースに関連付けられているリソース。 リソースの一覧表示を参照してください。
  • リソースとそのプロパティを読み取ります。 リソースの読み取りを参照してください。
  • リソースとそのプロパティを更新します。 「リソースの更新」を参照してください。
  • 履歴、関連するリソース、プロパティなどのリソースを検索します。 リソースの検索を参照してください。
  • リソース間の関係を指定します。 「リソースの関係の作成」を参照してください。
  • リソースのロックとロック解除、アクセス制御リスト(ACL)の読み取りと書き込みなど、リソースアクセス制御を管理します。 リソースのロックを参照してください。
  • リソースとそのプロパティを削除します。 「リソースの削除」を参照してください。
メモ

リポジトリAPIを使用して、リソースアクセス制御の管理、リソースの検索、ECMリポジトリを使用したリソースの関係の指定を行うことはできません。

メモ

暗号化されたPDFがリポジトリに書き込まれると、自動関係抽出機能は使用できません。 それ以外の場合は、暗号化されたPDFをリポジトリに保存し、後で取得できます。 取得者は、PDFがリポジトリから取得された後に、そのPDFを復号化することを選択できます。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

フォルダーの作成

フォルダー(リソースコレクション)は、オブジェクト(ファイルまたはリソース)を整理されたグループに格納するために使用します。 フォルダーには、リソースやサブフォルダーとも呼ばれるその他のフォルダーを含めることができます。 リソースは一度に1つのフォルダーにしか保存できません。

ファイルはアクセス制御リストー(ACL)をフォルダーから継承し、サブフォルダーはACLを親フォルダーから継承します。 したがって、子フォルダーを作成する前に、親フォルダーが存在している必要があります。 IDEでは、フォルダごとの操作のみが可能で、ファイルごとの操作はできません。 フォルダのバージョンを変更することはできません。また、バージョンを変更する必要はありません。フォルダーには、データ自体が含まれていません。 データを含むリソースのコンテナにすぎません。 デフォルトのACLはシステムレベルの権限です。つまり、ユーザーが特定のフォルダーに対する権限を付与するまで、ユーザーはシステムレベルの権限(読み取り、書き込み、トラバース、ACLの管理)を持つ必要があります。 ACLはIDEでのみ機能します。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

フォルダーを作成するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. サービスクライアントを作成します。
  3. フォルダーを作成します。
  4. フォルダーをリポジトリに書き込みます。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムによってリソース収集を作成する前に、接続を確立し、秘密鍵証明書を指定する必要があります。 これは、サービスクライアントを作成することで実行されます。

フォルダーの作成

Repositoryサービスメソッドを呼び出して、リソースコレクションを作成し、UUID、フォルダー名、説明などの識別情報をリソースコレクションに入力します。

フォルダーをリポジトリに書き込みます

Repositoryサービスメソッドを呼び出して、リソースコレクションを書き込み、ターゲットフォルダーのURIを指定します。

関連トピック

Java APIを使用したフォルダーの作成

WebサービスAPIを使用したフォルダーの作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java APIを使用したフォルダーの作成

RepositoryサービスAPI(Java)を使用してフォルダーを作成します。

  1. プロジェクトファイルを含める

    Javaプロジェクトのクラスパスにプロジェクトファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. フォルダーの作成

    リソースコレクションを作成するには、まずcom.adobe.repository.infomodel.bean.RepositoryInfomodelFactoryBeanオブジェクトを作成する必要があります。

    repositoryInfomodelFactoryBeanオブジェクトのnewResourceCollectionメソッドを呼び出し、次のパラメーターを渡します。

    • リソースに割り当てるcom.adobe.repository.infomodel.Id UUID識別子。
    • リソースに割り当てるcom.adobe.repository.infomodel.Lid UUID識別子。
    • リソースコレクションの名前を含むjava.lang.String。 例: FormsFolder

    このメソッドは、新しいフォルダーを表すcom.adobe.repository.infomodel.bean.ResourceCollectionオブジェクトを返します。

    setDescriptionメソッドを使用してフォルダーの説明を設定し、次のパラメーターを渡します。

    • リソース収集を記述するString。 この例では、"test Folder".として使用されています。
  4. フォルダーをリポジトリに書き込みます

    ResourceRepositoryClientオブジェクトのwriteResourceメソッドを呼び出し、フォルダーとResourceCollectionオブジェクトのURIを渡します。 例えば、フォルダーへのURIは次の値/Applications/FormsApplication/1.0/にすることができます。

    メソッドは、新しく作成されたcom.adobe.repository.infomodel.bean.Resourceオブジェクトのインスタンスを返します。 例えば、com.adobe.repository.infomodel.bean.ResourceオブジェクトのgetIdメソッドを呼び出すことで、新しいリソースの識別子の値を取得できます。

関連トピック

フォルダーの作成

クイック開始(SOAPモード):Java APIを使用したフォルダーの作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用したフォルダーの作成

RepositoryサービスAPI(Webサービス)を使用してフォルダーを作成します。

  1. プロジェクトファイルを含める

    • base64を使用してリポジトリWSDLを使用するMicrosoft .NETクライアントアセンブリを作成します。
    • Microsoft .NETクライアントアセンブリを参照します。
  2. サービスクライアントの作成

    Microsoft .NETクライアントアセンブリを使用して、RepositoryServiceServiceオブジェクトを作成します。その場合は、デフォルトのコンストラクタを呼び出します。 ユーザー名とパスワードを含むSystem.Net.NetworkCredentialオブジェクトを使用して、Credentialsプロパティを設定します。

  3. フォルダーの作成

    ResourceCollectionクラスのデフォルトのコンストラクターを使用してフォルダーを作成し、次のパラメーターを渡します。

    • Idオブジェクト。Idクラスのデフォルトのコンストラクターを呼び出して作成され、Resourceオブジェクトのidフィールドに割り当てられます。
    • Lidオブジェクト。Lidクラスのデフォルトのコンストラクターを呼び出して作成され、Resourceオブジェクトのlidフィールドに割り当てられます。
    • リソースコレクションの名前を含む文字列。この名前はResourceオブジェクトのnameフィールドに割り当てられます。 この例で使用される名前は"testfolder"です。
    • リソースコレクションの説明を含む文字列。これはResourceオブジェクトのdescriptionフィールドに割り当てられます。 この例で使用される説明は"test folder"です。
  4. フォルダーをリポジトリに書き込みます

    RepositoryServiceServiceオブジェクトのwriteResourceメソッドを呼び出し、次のパラメーターを渡します。

    • フォルダーを作成するパスです。
    • フォルダーを表すResourceCollectionオブジェクトです。
    • 他の2つのパラメーターに対してnullを渡します。

関連トピック

フォルダーの作成

Base64エンコーディングを使用したAEM Formsの呼び出し

リソースの書き込み

リポジトリ内の特定の場所にリソースを作成できます。 自然なファイルサイズは、データベースの制限やセッションタイムアウトの影響を受けます。 デフォルトの設定では、ファイルのサイズは25 MBに制限されます。 最大ファイルサイズを増減するには、データベース設定を変更する必要があります。

リソースを書き込むことは、リポジトリにデータを格納することと同じです。 リポジトリにリソースを書き込むと、リポジトリエコシステム内のすべてのクライアントがそのリソースにアクセスできるようになります。 XMLスキーマ、XDPファイル、XSDファイルなどのリソースをリポジトリに書き込むと、そのコンテンツはMIMEタイプに基づいて解析されます。 MIMEタイプがサポートされている場合、パーサーは他のコンテンツとの暗黙の関係があるかどうかを判定します。 例えば、カスケーディングスタイルシート(CSS)に共通のCSSを参照する相対URLがある場合、共通のCSSもリポジトリに送信する必要があります。 2つのリソース間の関係は、調整不可能な30日間の保留中の関係として保存されます。 共通のCSSをリポジトリに30日以内に送信すると、関係が形成されます。

リソースを作成すると、アクセス制御リスト(ACL)は親フォルダーから継承されます。 ルートフォルダーには、最初のリソースまたはフォルダーが作成されるまで、システムレベルの権限があります。その時点で、リソースまたはフォルダーにデフォルトのACL権限が付与されます。

RepositoryサービスJava APIまたはWebサービスAPIを使用して、プログラムによってリソースを書き込むことができます。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

リソースを書き込むには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Repositoryサービスクライアントを作成します。
  3. 読み取るリソースのURIを指定します。
  4. リソースを読み取ります。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムでリソースを読み取る前に、接続を確立し、秘密鍵証明書を提供する必要があります。 これは、サービスクライアントを作成することで実行されます。

リソースのターゲットフォルダーのURIを指定します

読み取るリソースのURIを含む文字列を作成します。 構文には、次の例のようにスラッシュが含まれます。"/パス/フォルダー"

リソースの作成

Repositoryサービスメソッドを呼び出して、リソースを作成し、UUID、リソース名、説明などの識別情報をリソースに入力します。

リソースコンテンツの指定

Repositoryサービスメソッドを呼び出して、リソースコンテンツを作成し、そのコンテンツをリソースに格納します。

リソースをターゲットフォルダーに書き込みます

ターゲットフォルダーのURIを指定してリソースを書き込むには、Repositoryサービスメソッドを呼び出します。

関連トピック

Java APIを使用したリソースの書き込み

WebサービスAPIを使用したリソースの書き込み

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java APIを使用したリソースの書き込み

RepositoryサービスAPI(Java)を使用してリソースを書き込みます。

  1. プロジェクトファイルを含める

    JavaプロジェクトのクラスパスにクライアントJARファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. リソースのターゲットフォルダーのURIを指定します

    リソースのターゲットフォルダーのURIを指定します。 この場合、testResourceという名前のリソースはtestFolderという名前のフォルダーに保存されるので、フォルダーのURIは"/testFolder"です。 URIはjava.lang.Stringオブジェクトとして保存されます。

  4. リソースの作成

    リソースを作成するには、まずcom.adobe.repository.infomodel.bean.RepositoryInfomodelFactoryBeanオブジェクトを作成する必要があります。

    RepositoryInfomodelFactoryBeanオブジェクトのnewResourceメソッドを呼び出します。これによりcom.adobe.repository.infomodel.bean.Resourceオブジェクトが作成されます。 この例では、次のパラメーターが提供されます。

    • com.adobe.repository.infomodel.Idオブジェクト。Idクラスのデフォルトのコンストラクターを呼び出して作成します。
    • com.adobe.repository.infomodel.Lidオブジェクト。Lidクラスのデフォルトのコンストラクターを呼び出して作成します。
    • リソースのファイル名を含むjava.lang.String

    リソースの説明を指定するには、ResourceオブジェクトのsetDescriptionメソッドを呼び出し、説明を含む文字列を渡します。 この例では、説明は"test resource"です。

  5. リソースコンテンツの指定

    リソースのコンテンツを作成するには、RepositoryInfomodelFactoryBeanオブジェクトのnewResourceContentメソッドを呼び出します。このメソッドは、com.adobe.repository.infomodel.bean.ResourceContentオブジェクトを返します。 <a0追加/>オブジェクトの内容。 ResourceContentこの例では、次のタスクを行うことで実現します。

    • ResourceContentオブジェクトのsetDataDocumentメソッドを呼び出してcom.adobe.idp.Documentオブジェクトを渡す
    • ResourceContentオブジェクトのsetSizeメソッドを呼び出して、Documentオブジェクトのバイト数でサイズを渡す

    追加ResourceオブジェクトのsetContentメソッドを呼び出し、ResourceContentオブジェクトを渡すことで、リソースの内容を指定します。 詳しくは、AEM FormsAPIリファレンスを参照してください。

  6. リソースをターゲットフォルダーに書き込みます

    ResourceRepositoryClientオブジェクトのwriteResourceメソッドを呼び出し、フォルダーのURIとResourceオブジェクトを渡します。

関連トピック

リソースの書き込み

クイック開始(SOAPモード):Java APIを使用したリソースの作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用したリソースの書き込み

RepositoryサービスAPI(Webサービス)を使用してリソースを書き込みます。

  1. プロジェクトファイルを含める

    • base64を使用してリポジトリWSDLを使用するMicrosoft .NETクライアントアセンブリを作成します。
    • Microsoft .NETクライアントアセンブリを参照します。
  2. サービスクライアントの作成

    Microsoft .NETクライアントアセンブリを使用して、RepositoryServiceServiceオブジェクトを作成します。その場合は、デフォルトのコンストラクタを呼び出します。 ユーザー名とパスワードを含むSystem.Net.NetworkCredentialオブジェクトを使用して、Credentialsプロパティを設定します。

  3. リソースのターゲットフォルダーのURIを指定します

    リソースのターゲットフォルダーのURIを指定します。 この場合、testResourceという名前のリソースはtestFolderという名前のフォルダーに保存されるので、フォルダーのURIは"/testFolder"です。 Microsoft .NET Frameworkに準拠した言語(C#など)を使用する場合は、URIをSystem.Stringオブジェクトに格納します。

  4. リソースの作成

    リソースを作成するには、Resourceクラスのデフォルトのコンストラクタを呼び出します。 この例では、次の情報がResourceオブジェクトに格納されます。

    • com.adobe.repository.infomodel.Idオブジェクト。Idクラスのデフォルトのコンストラクターを呼び出して作成され、Resourceオブジェクトのidフィールドに割り当てられます。
    • com.adobe.repository.infomodel.Lidオブジェクト。Lidクラスのデフォルトのコンストラクターを呼び出して作成され、Resourceオブジェクトのlidフィールドに割り当てられます。
    • リソースのファイル名を含む文字列。このファイル名はResourceオブジェクトのnameフィールドに割り当てられます。 この例で使用される名前は"testResource"です。
    • リソースの説明を含む文字列です。このリソースはResourceオブジェクトのdescriptionフィールドに割り当てられます。 この例で使用される説明は"test resource"です。
  5. リソースコンテンツの指定

    リソースのコンテンツを作成するには、ResourceContentクラスのデフォルトコンストラクターを呼び出します。 次に、ResourceContentオブジェクトにコンテンツを追加します。 この例では、次のタスクを行うことで実現します。

    • ドキュメントを含むBLOBオブジェクトをResourceContentオブジェクトのdataDocumentフィールドに割り当てます。
    • BLOBオブジェクトのResourceContentフィールドにsizeオブジェクトのサイズをバイト単位で割り当てます。

    追加ResourceContentオブジェクトをResourceオブジェクトのcontentフィールドに割り当てることで、リソースの内容を指定します。

  6. リソースをターゲットフォルダーに書き込みます

    RepositoryServiceServiceオブジェクトのwriteResourceメソッドを呼び出し、フォルダーのURIとResourceオブジェクトを渡します。 他の2つのパラメーターに対してnullを渡します。

関連トピック

リソースの書き込み

Base64エンコーディングを使用したAEM Formsの呼び出し

リソースのリスト

リソースを一覧表示することで、リソースを見つけることができます。 リポジトリに対してクエリが実行され、特定のリソース収集に関連するすべてのリソースが検索されます。

リソースを整理したら、オペレーティングシステムで行うのと同じように、構造の特定のブランチを表示して、作成した構造を調べることができます。

リソースのリストは、次の関係によって機能します。リソースは、フォルダーのメンバーです。 メンバーシップは、「メンバー」のタイプの関係で表されます。 特定のフォルダー内のリソースをリストする場合、「メンバー」の関係によって特定のフォルダーに関連するリソースを照会します。 関係は方向性を持ちます。関係のメンバーには、ターゲットのメンバーであるソースがあります。 その出所は資源である。ターゲットは親フォルダーです。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

リストリソースを作成するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. サービスクライアントを作成します。
  3. フォルダーパスを指定します。
  4. リソースのリストを取得します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムによってリソース収集を作成する前に、接続を確立し、秘密鍵証明書を指定する必要があります。 これは、サービスクライアントを作成することで実行されます。

フォルダーパスの指定

リソースを含むフォルダーのパスを含む文字列を作成します。 構文には、次の例のようにスラッシュが含まれます。"/パス/フォルダー"

リソースのリストの取得

ターゲットフォルダーのパスを指定して、リソースのリストを取得するには、Repositoryサービスメソッドを呼び出します。

関連トピック

Java APIを使用したリストリソース

WebサービスAPIを使用するリストリソース

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java APIを使用したリストリソース

RepositoryサービスAPI(Java)を使用したリストリソース:

  1. プロジェクトファイルを含める

    JavaプロジェクトのクラスパスにクライアントJARファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. フォルダーパスの指定

    照会するリソースコレクションのURIを指定します。 この場合、URIは"/testFolder"です。 URIはjava.lang.Stringオブジェクトとして保存されます。

  4. リソースのリストの取得

    ResourceRepositoryClientオブジェクトのlistMembersメソッドを呼び出し、フォルダーのURIを渡します。

    このメソッドは、Relation.TYPE_MEMBER_OF型のcom.adobe.repository.infomodel.bean.Relationのソースであり、ターゲットとしてリソース収集URIを持つcom.adobe.repository.infomodel.bean.Resourceオブジェクトのjava.util.Listを返します。 このListを繰り返し実行して、各リソースを取得できます。 この例では、各リソースの名前と説明が表示されます。

関連トピック

リソースの一覧

クイック開始(SOAPモード):Java APIを使用したリソースの一覧表示

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用したリストリソース

RepositoryサービスAPI(Webサービス)を使用したリストリソース:

  1. プロジェクトファイルを含める

    • リポジトリWSDLを使用するMicrosoft .NETクライアントアセンブリを作成します。
    • Microsoft .NETクライアントアセンブリを参照します。
  2. サービスクライアントの作成

    Microsoft .NETクライアントアセンブリを使用して、RepositoryServiceServiceオブジェクトを作成します。その場合は、デフォルトのコンストラクタを呼び出します。 ユーザー名とパスワードを含むSystem.Net.NetworkCredentialオブジェクトを使用して、Credentialsプロパティを設定します。

  3. フォルダーパスの指定

    照会するフォルダーのURIを含む文字列を指定します。 この場合、URIは"/testFolder"です。 Microsoft .NET Frameworkに準拠している言語(C#など)を使用する場合は、URIをSystem.Stringオブジェクトに格納します。

  4. リソースのリストの取得

    RepositoryServiceServiceオブジェクトのlistMembersメソッドを呼び出し、フォルダーのURIを最初のパラメーターとして渡します。 他の2つのパラメーターに対してnullを渡します。

    このメソッドは、Resourceオブジェクトにキャストできるオブジェクトの配列を返します。 オブジェクト配列を繰り返し処理して、関連する各リソースを取得できます。 この例では、各リソースの名前と説明が表示されます。

関連トピック

リソースの一覧

Base64エンコーディングを使用したAEM Formsの呼び出し

リソースを読み取り中

リソースのコンテンツとメタデータを読み取るために、リポジトリ内の特定の場所からリソースを取得できます。 ワークフローは、初期化フォームによってフロントエンドされます。 プロセスには、フォームを読み取るために必要なすべての権限があります。 データ・フォームが取得され、リポジトリからコンテンツが読み取られます。 リポジトリは、コンテンツとメタデータ(リソースが存在することを知る機能)へのアクセスを許可します。

リポジトリには次の4つの権限タイプがあります。

  • traverse:リソースをリストできます。つまり、リソースのメタデータを読み取るが、リソースの内容を読み取らない
  • read:リソースの内容を読み取ることができます。
  • write:リソースの内容を書き込むことができます。
  • アクセス制御リスト(ACL):リソースのACLを操作できます。

ユーザーがプロセスを実行できるのは、プロセスを実行する権限がある場合のみです。 IDEユーザーは、リポジトリと同期するためにtraverse権限とread権限が必要です。 実行時はシステムコンテキスト内で発生するので、ACLはデザイン時にのみ適用されます。

RepositoryサービスJava APIまたはWebサービスAPIを使用して、プログラムでリソースを読み取ることができます。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

リソースを読み取るには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Repositoryサービスクライアントを作成します。
  3. 読み取るリソースのURIを指定します。
  4. リソースを読み取ります。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムでリソースを読み取る前に、接続を確立し、秘密鍵証明書を提供する必要があります。 これは、サービスクライアントを作成することで実行されます。

読み取るリソースのURIを指定します

読み取るリソースのURIを含む文字列を作成します。 構文には、次の例のようにスラッシュが含まれます。"/パス/リソース"

リソースの読み取り

URIを指定してリソースを読み取るには、Repositoryサービスメソッドを呼び出します。

関連トピック

Java APIを使用したリソースの読み取り

WebサービスAPIを使用したリソースの読み取り

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java APIを使用してリソースを読み取ります

RepositoryサービスAPI(Java)を使用してリソースを読み取ります。

  1. プロジェクトファイルを含める

    JavaプロジェクトのクラスパスにクライアントJARファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. 読み取るリソースのURIを指定します

    取得するリソースのURIを表すstring値を指定します。 例えば、リソースの名前が​testResource​で、testFolder​という名前のフォルダーにあると仮定し、/testFolder/testResourceを指定します。

  4. リソースの読み取り

    ResourceRepositoryClientオブジェクトのreadResourceメソッドを呼び出し、リソースのURIをパラメーターとして渡します。 このメソッドは、リソースを表すResourceインスタンスを返します。

関連トピック

リソースの読み取り

クイック開始(SOAPモード):Java APIを使用したリソースの読み取り

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用してリソースを読み取ります

RepositoryサービスAPI(Webサービス)を使用してリソースを読み取ります。

  1. プロジェクトファイルを含める

    • リポジトリWSDLを使用するMicrosoft .NETクライアントアセンブリを作成します。 (「Base64エンコードを使用する.NETクライアントアセンブリの作成」を参照)。
    • Microsoft .NETクライアントアセンブリを参照します。 (「Base64エンコードを使用する.NETクライアントアセンブリの作成」を参照)。
  2. サービスクライアントの作成

    Microsoft .NETクライアントアセンブリを使用して、RepositoryServiceServiceオブジェクトを作成します。その場合は、デフォルトのコンストラクタを呼び出します。 ユーザー名とパスワードを含むSystem.Net.NetworkCredentialオブジェクトを使用して、Credentialsプロパティを設定します。

  3. 読み取るリソースのURIを指定します

    取得するリソースのURIを含む文字列を指定します。 この場合、testResourceという名前のリソースはtestFolderという名前のフォルダーにあるので、そのURIは"/testFolder/testResource"です。 Microsoft .NET Frameworkに準拠した言語(C#など)を使用する場合は、URIをSystem.Stringオブジェクトに格納します。

  4. リソースの読み取り

    RepositoryServiceServiceオブジェクトのreadResourceメソッドを呼び出し、リソースのURIを最初のパラメーターとして渡します。 他の2つのパラメーターに対してnullを渡します。

関連トピック

リソースの読み取り

Base64エンコーディングを使用したAEM Formsの呼び出し

リソースの更新

リポジトリ内のリソースのコンテンツを取得して更新できます。 リソースを更新しても、それらのリソースのアクセス制御は、バージョン間で変更されません。 更新を実行する場合、メジャーバージョンを増分するオプションがあります。 メジャーバージョンを増分しない場合は、マイナーバージョンが自動的に更新されます。

リソースを更新すると、指定したリソース属性に基づいて新しいバージョンが作成されます。 リソースを更新する場合は、次の2つの重要なパラメータを指定します。ターゲットURIと、更新されたすべてのメタデータを含むリソースインスタンス。 特定の属性(名前など)を変更しない場合でも、その属性は渡すインスタンスで必要です。 コンテンツの解析時に作成される関係は、特定のバージョンに追加され、特に指定がない限り転送されません。

例えば、XDPファイルを更新し、そのXDPファイルに他のリソースへの参照が含まれている場合、それらの追加参照も記録されます。 form.xdpバージョン1.0に2つの外部参照があるとします。ロゴとスタイルシートを作成し、次の3つの参照を持つようにform.xdpを更新します。ロゴ、スタイルシート、スキーマファイル。 更新中、リポジトリは3つ目の関係(スキーマファイル)を保留関係テーブルに追加します。 スキーマファイルがリポジトリに存在する場合は、関係が自動的に形成されます。 ただし、form.xdpバージョン2.0がロゴを使用しなくなった場合、form.xdpバージョン2.0はロゴとの関係を持ちません。

すべての更新操作は、アトミックおよびトランザクションです。 例えば、2人のユーザーが同じリソースを読み取り、両方がバージョン1.0をバージョン2.0に更新すると、どちらかが成功し、一方が失敗すると、リポジトリの整合性が維持され、両方が成功または失敗を確認するメッセージを受け取ります。 トランザクションがコミットされない場合、データベース障害が発生した場合はロールバックされ、アプリケーションサーバーに応じてタイムアウトまたはロールバックされます。

RepositoryサービスJava APIまたはWebサービスAPIを使用して、プログラムでリソースを更新できます。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

リソースを更新するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Repositoryサービスクライアントを作成します。
  3. 更新するリソースを取得します。
  4. リソースを更新します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムでリソースを読み取る前に、接続を確立し、秘密鍵証明書を提供する必要があります。 これは、サービスクライアントを作成することで実行されます。

更新するリソースを取得します

リソースを読み取ります。 詳しくは、リソースの読み取りを参照してください。

リソースの更新

リソースに新しい情報を設定し、Repositoryサービスメソッドを呼び出して、リソースを更新します。URI、更新されたリソース、およびバージョン情報の更新方法を指定します。

関連トピック

Java APIを使用したリソースの更新

WebサービスAPIを使用したリソースの更新

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java APIを使用したリソースの更新

RepositoryサービスAPI(Java)を使用してリソースを更新します。

  1. プロジェクトファイルを含める

    JavaプロジェクトのクラスパスにクライアントJARファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. 更新するリソースを取得します

    リソースを取得して読み取るリソースのURIを指定します。 この例では、リソースのURIは"/testFolder/testResource"です。

  4. リソースの更新

    Resourceオブジェクトの情報を更新します。 この例では、説明を更新するには、ResourceオブジェクトのsetDescriptionメソッドを呼び出し、新しい説明文字列をパラメーターとして渡します。

    次に、ServiceClientFactoryオブジェクトのupdateResourceメソッドを呼び出し、次のパラメーターを渡します。

    • リソースのURIを含むjava.lang.Stringオブジェクト。
    • 更新されたリソース情報を含むResourceオブジェクトです。
    • メジャーバージョンとマイナーバージョンのどちらを更新するかを示すboolean値。 この例では、メジャーバージョンの値が増分されることを示す値trueが渡されます。

関連トピック

リソースの更新

クイック開始(SOAPモード):Java APIを使用したリソースの更新

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用してリソースを更新する

Repository API(Webサービス)を使用してリソースを更新します。

  1. プロジェクトファイルを含める

    • リポジトリWSDLを使用するMicrosoft .NETクライアントアセンブリを作成します。
    • Microsoft .NETクライアントアセンブリを参照します。
  2. サービスクライアントの作成

    Microsoft .NETクライアントアセンブリを使用して、RepositoryServiceServiceオブジェクトを作成します。その場合は、デフォルトのコンストラクタを呼び出します。 ユーザー名とパスワードを含むSystem.Net.NetworkCredentialオブジェクトを使用して、Credentialsプロパティを設定します。

  3. 更新するリソースを取得します

    取得するリソースのURIを指定し、リソースを読み取ります。 この例では、リソースのURIは"/testFolder/testResource"です。 詳しくは、リソースの読み取りを参照してください。

  4. リソースの更新

    Resourceオブジェクトの情報を更新します。 この例では、説明を更新するには、Resourceオブジェクトのdescriptionフィールドに新しい値を割り当てます。

  5. RepositoryServiceServiceオブジェクトのupdateResourceメソッドを呼び出し、次のパラメーターを渡します。

    • リソースのURIを含むSystem.Stringオブジェクト。
    • 更新されたリソース情報を含むResourceオブジェクトです。
    • メジャーバージョンとマイナーバージョンのどちらを更新するかを示すboolean値。 この例では、メジャーバージョンの値が増分されることを示す値trueが渡されます。
    • 残りの2つのパラメーターにnullを渡します。

関連トピック

リソースの更新

Base64エンコーディングを使用したAEM Formsの呼び出し

リソースの検索

リポジトリ内のリソース(履歴、関連リソース、プロパティなど)を検索するために使用するクエリを作成できます。

関連するリソースを取得して、フォームとそのフラグメントとの依存関係を判断できます。 例えば、フォームに使用するフラグメントや外部リソースを調べることができます。 画像がある場合は、その画像がどのフォームで使用されているかを調べることもできます。 また、プロパティに基づくフィルタリングを使用して、関連するリソースを検索することもできます。 例えば、指定した名前の画像を使用するすべてのフォームを検索したり、指定した名前のフォームで使用されている画像を検索したりできます。 また、リソースプロパティを使用して検索することもできます。 例えば、「%」や「_」のワイルドカードを含む名前開始を持つすべてのフォームやリソースを検索するクエリを実行できます。 プロパティに基づく検索は関係に基づくものではないことに注意してください。このような検索は、特定のリソースに関する特定の知識があるという前提に基づいています。

クエリ文

クエリ​には、条件を論理的に結合した1つ以上のステートメントが含まれます。 ステートメント​は、左辺の演算値、演算子、右辺の演算値で構成されます。 また、検索結果に使用する並べ替え順を指定できます。 並べ替え順​は、SQL ORDER BY句と同等の情報を含み、検索の基となる属性を含む要素と、昇順または降順を使用するかどうかを示す値で構成されます。

RepositoryサービスJava APIを使用して、プログラムによってリソースを検索できます。 現時点では、WebサービスAPIを使用してリソースを検索することはできません。

並べ替え動作

ResourceRepositoryClientオブジェクトのsearchPropertiesメソッドを呼び出して、並べ替え順を指定する場合、並べ替え順は考慮されません。 例えば、属性名がnamesecondNameasecondNameの3つのカスタムプロパティを持つリソースを作成するとします。 次に、属性名にソート順要素を作成し、ascending値をtrueに設定します。

次に、ResourceRepositoryClientオブジェクトのsearchPropertiesメソッドを呼び出し、並べ替え順で渡します。 3つのプロパティを持つ正しいリソースが検索結果に返されます。 ただし、プロパティは属性名で並べ替えられません。 これらは、追加された順に返されます。namesecondNameasecondName

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

リソースを検索するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Repositoryサービスクライアントを作成します。
  3. 検索するターゲットフォルダーを指定します。
  4. 検索で使用する属性を指定します。
  5. 検索で使用するクエリを作成します。
  6. 検索結果の並べ替え順を作成します。
  7. リソースを検索します。
  8. 検索結果からリソースを取得します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムでリソースを読み取る前に、接続を確立し、秘密鍵証明書を提供する必要があります。 これは、サービスクライアントを作成することで実行されます。

検索用のターゲットフォルダーを指定する

検索の実行元となる基本パスを含む文字列を作成します。 構文には、次の例のようにスラッシュが含まれます。"/パス/フォルダー"

検索で使用する属性を指定する

リソースに含まれる属性に基づいて検索を行うことができます。 検索を実行する属性の値を指定します。

検索で使用するクエリの作成

文と条件を使用してクエリを作成します。 各文では、検索の基にする属性、使用する条件、検索で使用する属性値を指定します。

検索結果の並べ替え順を作成する

並べ替え順は、要素で構成されます。各要素には、検索で使用される属性の1つと、昇順または降順のどちらを使用するかを示す値が含まれます。

リソースの検索

フォルダー、クエリおよび並べ替え順を使用して、リソースを検索します。 さらに、検索の深さと、返される結果数の上限を示します。

検索結果からリソースを取得

返されたリストのリソースを繰り返し処理し、さらに処理するために情報を抽出します。

関連トピック

Java APIを使用したリソースの検索

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java APIを使用したリソースの検索

RepositoryサービスAPI(Java)を使用してリソースを検索します。

  1. プロジェクトファイルを含める

    JavaプロジェクトのクラスパスにクライアントJARファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. 検索用のターゲットフォルダーを指定する

    検索の実行元となるベースパスのURIを指定します。 この例では、リソースのURIは/testFolderです。

  4. 検索で使用する属性を指定する

    検索を実行する属性の値を指定します。 属性はcom.adobe.repository.infomodel.bean.Resourceオブジェクト内に存在します。 この例では、name属性に対して検索が実行されます。したがって、Resourceオブジェクトの名前を含むjava.lang.Stringが使用されます。この場合はtestResourceです。

  5. 検索で使用するクエリの作成

    クエリを作成するには、Queryクラスのデフォルトのコンストラクターを呼び出してcom.adobe.repository.query.Queryオブジェクトを作成し、クエリにステートメントを追加します。

    ステートメントを作成するには、com.adobe.repository.query.Query.Statementクラスのコンストラクターを呼び出し、次のパラメーターを渡します。

    • リソース属性定数を含む左辺オペランド。 この例では、リソース名が検索の基礎として使用されるので、静的な値Resource.ATTRIBUTE_NAMEが使用されます。
    • 属性の検索で使用される条件を含む演算子。 演算子は、Query.Statementクラスの静的定数の1つである必要があります。 この例では、静的な値Query.Statement.OPERATOR_BEGINS_WITHが使用されます。
    • 検索を実行する属性値を含む右辺オペランド。 この例では、name属性("testResource"という値を含むString)が使用されます。

    Query.StatementオブジェクトのsetNamespaceメソッドを呼び出し、com.adobe.repository.infomodel.bean.ResourcePropertyクラスに含まれる静的な値の1つを渡して、左辺の演算値の名前空間を指定します。 この例では、ResourceProperty.RESERVED_NAMESPACE_REPOSITORYが使用されます。

    <a0追加/>オブジェクトのQueryメソッドを呼び出し、addStatementオブジェクトを渡すことで、各ステートメントをクエリに送信します。Query.Statement

  6. 検索結果の並べ替え順を作成する

    検索結果で使用する並べ替え順を指定するには、SortOrderクラスのデフォルトのコンストラクタを呼び出してcom.adobe.repository.query.sort.SortOrderオブジェクトを作成し、要素を並べ替え順に追加します。

    並べ替え順の要素を作成するには、com.adobe.repository.query.sort.SortOrder.Elementクラスのコンストラクタの1つを呼び出します。 この例では、リソースの名前が検索の基礎として使用されるので、静的な値Resource.ATTRIBUTE_NAMEが最初のパラメーターとして使用され、昇順の順序(booleantrue)が2番目のパラメーターとして指定されます。

    <a0/追加>オブジェクトのSortOrderメソッドを呼び出し、addSortElementオブジェクトを渡すことで、各要素を並べ替え順に指定します。SortOrder.Element

  7. リソースの検索

    属性プロパティに基づいてresourcesを検索するには、ResourceRepositoryClientオブジェクトのsearchPropertiesメソッドを呼び出し、次のパラメーターを渡します。

    • 検索を実行する基本パスを含むString。 この場合は"/testFolder"が使用されます。
    • 検索で使用されるクエリ。
    • 検索の深さ。 この場合、com.adobe.repository.infomodel.bean.ResourceCollection.DEPTH_INFINITEは、ベースパスとそのすべてのフォルダーが使用されることを示します。
    • ページ解除された結果セットを選択する最初の行を示すint値。 この例では、0が指定されています。
    • 返される結果の最大数を示すint値。 この例では、10が指定されています。
    • 検索で使用される並べ替え順。

    このメソッドは、指定された並べ替え順でResourceオブジェクトのjava.util.Listを返します。

  8. 検索結果からリソースを取得

    検索結果に含まれるリソースを取得するには、Listを繰り返し処理し、各オブジェクトをResourceにキャストして情報を抽出します。 この例では、各リソースの名前が表示されます。

関連トピック

リソースの検索

クイック開始(SOAPモード):Java APIを使用したリソースの検索

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

リソースの関係の作成

リポジトリ内のリソース間の関係を指定できます。 関係には次の3種類があります。

  • 依存:リソースが他のリソースに依存する関係。つまり、関連するすべてのリソースがリポジトリ内で必要になります。
  • メンバーシップ(ファイルシステム):特定のフォルダー内にあるリソースの関係。
  • カスタム:リソース間で指定する関係。例えば、あるリソースが非推奨で、別のリソースがリポジトリに導入された場合、独自の置き換え関係を指定できます。

独自のカスタムリレーションシップを作成できます。 例えば、HTMLファイルをリポジトリに格納し、そのファイルで画像を使用する場合、カスタムの関係を指定してHTMLファイルと画像を関連付けることができます(通常はXMLファイルのみがリポジトリ定義の依存関係を使用して画像に関連付けられます)。 別の例として、ツリー構造ではなく循環グラフ構造を使用して、リポジトリの別の表示を構築する場合が考えられます。 ビューアと共に円グラフを定義して、これらの関係を横断できます。 最後に、2つのリソースが完全に異なる場合でも、1つのリソースが別のリソースを置き換えることを示すことができます。 その場合は、予約範囲外の関係タイプを定義して、これらの2つのリソース間に関係を作成できます。 アプリケーションは、関係を検出して処理できる唯一のクライアントであり、その関係を検索する際に使用できます。

RepositoryサービスJava APIまたはWebサービスAPIを使用して、プログラムによってリソース間の関係を指定できます。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

2つのリソース間の関係を指定するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Repositoryサービスクライアントを作成します。
  3. 関連付けるリソースのURIを指定します。
  4. 関係を作成します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムでリソースを読み取る前に、接続を確立し、秘密鍵証明書を提供する必要があります。 これは、サービスクライアントを作成することで実行されます。

関連付けるリソースのURIを指定します

関連付けるリソースのURIを含む文字列を作成します。 構文には、次の例のようにスラッシュが含まれます。"/パス/リソース"

関係の作成

Repositoryサービスメソッドを呼び出して、関係のタイプを作成および指定します。

関連トピック

Java APIを使用した関係リソースの作成

WebサービスAPIを使用した関係リソースの作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java APIを使用したリレーションシップリソースの作成

RepositoryサービスのJava APIを使用して関係リソースを作成し、次のタスクを実行します。

  1. プロジェクトファイルを含める

    JavaプロジェクトのクラスパスにクライアントJARファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. 関連付けるリソースのURIを指定します

    関連付けるリソースのURIを指定します。 この場合、リソースの名前はtestResource1testResource2で、testFolderという名前のフォルダーにあるので、リソースのURIは"/testFolder/testResource1""/testFolder/testResource2"です。 URIはjava.lang.Stringオブジェクトとして保存されます。 この例では、リソースは最初にリポジトリに書き込まれ、そのURIが取得されます。 リソースの書き込みについて詳しくは、リソースの書き込みを参照してください。

  4. 関係の作成

    ResourceRepositoryClientオブジェクトのcreateRelationshipメソッドを呼び出し、次のパラメーターを渡します。

    • ソースリソースのURIです。
    • ターゲットリソースのURIです。
    • 関係のタイプ。com.adobe.repository.infomodel.bean.Relationクラスの静的定数の1つです。 この例では、Relation.TYPE_DEPENDANT_OF値を指定して依存関係を確立します。
    • ターゲットリソースが新しいヘッドリソースのcom.adobe.repository.infomodel.Idベースの識別子に自動的に更新されるかどうかを示すboolean値。 この例では、依存関係があるので、trueの値が指定されています。

    また、ResourceRepositoryClientオブジェクトのgetRelatedメソッドを呼び出し、次のパラメーターを渡すことで、特定のリソースに関連するリソースのリストを取得できます。

    • 関連するリソースを取得するリソースのURIです。 この例では、ソースリソース("/testFolder/testResource1")が指定されています。
    • 指定したリソースが関係のソースリソースであるかどうかを示すboolean値。 この例では、trueという値が指定されています。これは、この場合です。
    • 関係タイプ。Relationクラスの静的定数の1つです。 この例では、依存関係は、前に使用したのと同じ値を使用して指定します。Relation.TYPE_DEPENDANT_OF.

    getRelatedメソッドは、Resourceオブジェクトのjava.util.Listを返します。このメソッドを使用して、Listに含まれるオブジェクトをResourceにキャストし、関連する各リソースを取得できます。 この例では、返されるリソースのリストにtestResource2が必要です。

関連トピック

リソースの関係の作成

クイック開始(SOAPモード):Java APIを使用したリソース間の関係の作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用してリレーションシップリソースを作成する

Repository API(Webサービス)を使用して、次の関係リソースを作成します。

  1. プロジェクトファイルを含める

    • リポジトリWSDLを使用するMicrosoft .NETクライアントアセンブリを作成します。
    • Microsoft .NETクライアントアセンブリを参照します。
  2. サービスクライアントの作成

    Microsoft .NETクライアントアセンブリを使用して、RepositoryServiceServiceオブジェクトを作成します。その場合は、デフォルトのコンストラクタを呼び出します。 ユーザー名とパスワードを含むSystem.Net.NetworkCredentialオブジェクトを使用して、Credentialsプロパティを設定します。

  3. 関連付けるリソースのURIを指定します

    関連付けるリソースのURIを指定します。 この場合、リソースの名前はtestResource1testResource2で、testFolderという名前のフォルダーにあるので、リソースのURIは"/testFolder/testResource1""/testFolder/testResource2"です。 Microsoft .NET Frameworkに準拠する言語(C#など)を使用する場合、URIはSystem.Stringオブジェクトとして保存されます。 この例では、リソースは最初にリポジトリに書き込まれ、そのURIが取得されます。 リソースの書き込みについて詳しくは、リソースの書き込みを参照してください。

  4. 関係の作成

    RepositoryServiceServiceオブジェクトのcreateRelationshipメソッドを呼び出し、次のパラメーターを渡します。

    • ソースリソースのURIです。
    • ターゲットリソースのURIです。
    • 関係のタイプ。 この例では、3値を指定して依存関係を確立します。
    • 関係タイプが指定されたかどうかを示すboolean値。 この例では、値trueが指定されています。
    • ターゲットリソースが新しいヘッドリソースのIdベースの識別子に自動的に更新されるかどうかを示すboolean値。 この例では、依存関係があるので、trueの値が指定されています。
    • ターゲットヘッドが指定されたかどうかを示すboolean値。 この例では、値trueが指定されています。
    • 最後のパラメーターにnullを渡します。

    また、RepositoryServiceServiceオブジェクトのgetRelatedメソッドを呼び出し、次のパラメーターを渡すことで、特定のリソースに関連するリソースのリストを取得できます。

    • 関連するリソースを取得するリソースのURIです。 この例では、ソースリソース("/testFolder/testResource1")が指定されています。
    • 指定したリソースが関係のソースリソースであるかどうかを示すboolean値。 この例では、trueという値が指定されています。これは、この場合です。
    • ソースリソースが指定されたかどうかを示すboolean値。 この例では、値trueが指定されています。
    • 関係タイプを含む整数の配列。 この例では、以前に使用したのと同じ値を配列に使用して、依存関係を指定します。3.
    • 残りの2つのパラメーターにnullを渡します。

    getRelatedメソッドは、Resourceオブジェクトにキャストできるオブジェクトの配列を返します。この配列を介して、関連する各リソースを取得するために反復できます。 この例では、返されるリソースのリストにtestResource2が必要です。

関連トピック

リソースの関係の作成

Base64エンコーディングを使用したAEM Formsの呼び出し

リソースのロック

特定のユーザーが排他的に使用するため、または複数のユーザー間で共有を使用するために、リソースまたはリソースのセットをロックできます。 共有ロックは、リソースに何かが起こることを示しますが、他の誰もがそのリソースに対して行動を起こすのを妨げることはありません。 共有ロックは、シグナリングメカニズムと見なす必要があります。 排他的ロックとは、リソースをロックしたユーザーがリソースを変更することを意味し、ロックは、ユーザーがリソースにアクセスする必要がなくなり、ロックを解除するまで、他のユーザーがリソースを変更できないようにします。 リポジトリ管理者がリソースをロック解除すると、そのリソース上の排他的ロックと共有ロックがすべて自動的に削除されます。 この種のアクションは、ユーザーが使用できなくなり、リソースのロックが解除されなくなった場合に使用します。

リソースをロックすると、次の図に示すように、Workbenchの「リソース」タブに表示すると、ロックアイコンが表示されます。

lr_lr_lockrepository

RepositoryサービスJava APIまたはWebサービスAPIを使用して、リソースへのアクセスをプログラムで制御できます。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

リソースをロックおよびロック解除するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Repositoryサービスクライアントを作成します。
  3. ロックするリソースのURIを指定します。
  4. リソースをロックします。
  5. リソースのロックを取得します。
  6. リソースのロック解除

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムでリソースを読み取る前に、接続を確立し、秘密鍵証明書を提供する必要があります。 これは、サービスクライアントを作成することで実行されます。

ロックするリソースのURIを指定します

ロックするリソースのURIを含む文字列を作成します。 構文には、次の例のようにスラッシュが含まれます。"/パス/リソース"

リソースのロック

Repositoryサービスメソッドを呼び出して、リソースをロックし、URI、ロックの種類、ロックの深さを指定します。

リソースのロックを取得する

URIを指定して、Repositoryサービスメソッドを呼び出して、リソースのロックを取得します。

リソースのロック解除

URIを指定してリソースのロックを解除するには、Repositoryサービスメソッドを呼び出します。

関連トピック

Java APIを使用したリソースのロック

WebサービスAPIを使用したリソースのロック

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java APIを使用したリソースのロック

RepositoryサービスAPI(Java)を使用してリソースをロックする:

  1. プロジェクトファイルを含める

    JavaプロジェクトのクラスパスにクライアントJARファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. ロックするリソースのURIを指定します

    ロックするリソースのURIを指定します。 この場合、testResourceという名前のリソースはtestFolderという名前のフォルダーにあるので、そのURIは"/testFolder/testResource"です。 URIはjava.lang.Stringオブジェクトとして保存されます。

  4. リソースのロック

    ResourceRepositoryClientオブジェクトのlockResourceメソッドを呼び出し、次のパラメーターを渡します。

    • リソースのURI。
    • ロックの範囲。 この例では、リソースは排他的に使用するためにロックされるので、ロック範囲はcom.adobe.repository.infomodel.bean.Lock.SCOPE_EXCLUSIVEに指定されます。
    • ロックの深さ。 この例では、ロックは特定のリソースにのみ適用され、メンバーや子は適用されないので、ロックの深さはLock.DEPTH_ZEROに指定されます。
    メモ

    4つのパラメーターが必要なlockResourceメソッドのオーバーロードされたバージョンでは、例外がスローされます。 このチュートリアルに示すように、3つのパラメーターを必要とするlockResourceメソッドを使用してください。

  5. リソースのロックを取得する

    ResourceRepositoryClientオブジェクトのgetLocksメソッドを呼び出し、リソースのURIをパラメーターとして渡します。 繰り返し処理が可能なLockオブジェクトのリストを返します。 この例では、各LockオブジェクトのgetOwnerUserIdgetDepthgetTypeメソッドをそれぞれ呼び出して、各オブジェクトのロック所有者、深さ、範囲を印刷します。

  6. リソースのロック解除

    ResourceRepositoryClientオブジェクトのunlockResourceメソッドを呼び出し、リソースのURIをパラメーターとして渡します。 詳しくは、AEM FormsAPIリファレンスを参照してください。

関連トピック

リソースのロック

クイック開始(SOAPモード):Java APIを使用したリソースのロック

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用してリソースをロックする

RepositoryサービスAPI(Webサービス)を使用してリソースをロックするには:

  1. プロジェクトファイルを含める

    • Base64を使用してリポジトリWSDLを使用するMicrosoft .NETクライアントアセンブリを作成します。
    • Microsoft .NETクライアントアセンブリを参照します。
  2. サービスクライアントの作成

    Microsoft .NETクライアントアセンブリを使用して、RepositoryServiceServiceオブジェクトを作成します。その場合は、デフォルトのコンストラクタを呼び出します。 ユーザー名とパスワードを含むSystem.Net.NetworkCredentialオブジェクトを使用して、Credentialsプロパティを設定します。

  3. ロックするリソースのURIを指定します

    ロックするリソースのURIを含む文字列を指定します。 この場合、testResourceという名前のリソースはフォルダーtestFolder内にあるので、そのURIは"/testFolder/testResource"です。 Microsoft .NET Frameworkに準拠した言語(C#など)を使用する場合は、URIをSystem.Stringオブジェクトに格納します。

  4. リソースのロック

    RepositoryServiceServiceオブジェクトのlockResourceメソッドを呼び出し、次のパラメーターを渡します。

    • リソースのURI。
    • ロックの範囲。 この例では、リソースは排他的に使用するためにロックされるので、ロック範囲は11に指定されます。
    • ロックの深さ。 この例では、ロックは特定のリソースにのみ適用され、メンバーや子は適用されないので、ロックの深さは2に指定されます。
    • ロックが切れるまでの秒数を示すint値。 この例では、1000の値が使用されます。
    • 最後のパラメーターにnullを渡します。
  5. リソースのロックを取得する

    RepositoryServiceServiceオブジェクトのgetLocksメソッドを呼び出し、リソースのURIを最初のパラメーターとして渡し、2番目のパラメーターとしてnullを渡します。 このメソッドは、Lockオブジェクトを含むobject配列を返します。この配列を使用して反復を行うことができます。 この例では、各LockオブジェクトのownerUserIddepthtypeフィールドにそれぞれアクセスすることで、各オブジェクトに対してロックの所有者、深さ、範囲が印刷されます。

  6. リソースのロック解除

    RepositoryServiceServiceオブジェクトのunlockResourceメソッドを呼び出し、リソースのURIを最初のパラメーターとして渡し、2番目のパラメーターとしてnullを渡します。

関連トピック

リソースのロック

Base64エンコーディングを使用したAEM Formsの呼び出し

リソースの削除

RepositoryサービスJava API(SOAP)を使用すると、リポジトリ内の特定の場所からリソースをプログラムで削除できます。

リソースを削除する場合、削除は通常は永続的ですが、ECMリポジトリは履歴メカニズムに従ってリソースのバージョンを保存する場合があります。 したがって、リソースを削除する場合は、そのリソースが再び必要にならないことを確認することが重要です。 リソースを削除する一般的な理由としては、データベースの使用可能な領域を増やす必要がある場合があります。 リソースのバージョンは削除できますが、削除する場合は、そのリソースの論理識別子(LID)やパスではなく、リソースの識別子を指定する必要があります。 フォルダーを削除すると、サブフォルダーやリソースを含む、そのフォルダー内のすべての要素が自動的に削除されます。

関連するリソースは削除されません。 例えば、logo.gifファイルを使用するフォームがあり、logo.gifを削除すると、保留中の関係テーブルに関係が保存されます。 別の方法として、バージョンの非推奨の場合は、最新バージョンのオブジェクトステータスを非推奨に設定します。

ECMシステムでは、削除操作はトランザクションに対して安全ではありません。 例えば、100個のリソースを削除しようとした場合に、50個目のリソースで操作が失敗すると、最初の49個のインスタンスは削除されますが、残りは削除されません。 それ以外の場合、デフォルトの動作はrollback (non-commitment)です。

メモ

ECMリポジトリ(EMC Documentum Content ServerおよびIBM FileNet P8 Content Manager)でcom.adobe.repository.bindings.dsc.client.ResourceRepositoryClient.deleteResources()メソッドを使用する場合、指定されたリソースの1つに対して削除が失敗した場合、削除されたファイルの削除を取り消すことはできません。

メモ

Repositoryサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。

手順の概要

リソースを削除するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Repositoryサービスクライアントを作成します。
  3. 削除するリソースのURIを指定します。
  4. リソースを削除します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを含めます。

サービスクライアントの作成

プログラムでリソースを読み取る前に、接続を確立し、秘密鍵証明書を提供する必要があります。 これは、サービスクライアントを作成することで実行されます。

削除するリソースのURIを指定します

削除するリソースのURIを含む文字列を作成します。 構文には、次の例のようにスラッシュが含まれます。"/パス/リソース" 削除するリソースがフォルダーの場合、削除は再帰的に行われます。

リソースの削除

URIを指定してリソースを削除するには、Repositoryサービスメソッドを呼び出します

関連トピック

Java APIを使用したリソースの削除

WebサービスAPIを使用したリソースの削除

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Repository Service APIクイック開始

Java API(SOAP)を使用したリソースの削除

リポジトリAPI(Java)を使用してリソースを削除します。

  1. プロジェクトファイルを含める

    JavaプロジェクトのクラスパスにクライアントJARファイルを含めます。

  2. サービスクライアントの作成

    コンストラクターを使用し、接続プロパティを含むServiceClientFactoryオブジェクトを渡して、ResourceRepositoryClientオブジェクトを作成します。

  3. 削除するリソースのURIを指定します

    取得するリソースのURIを指定します。 この場合、testResourceToBeDeletedという名前のリソースはtestFolderという名前のフォルダーにあるので、そのURIは/testFolder/testResourceToBeDeletedです。 URIはjava.lang.Stringオブジェクトとして保存されます。 この例では、リソースは最初にリポジトリに書き込まれ、そのURIが取得されます。 リソースの書き込みについて詳しくは、リソースの書き込みを参照してください。

  4. リソースの削除

    ResourceRepositoryClientオブジェクトのdeleteResourceメソッドを呼び出し、リソースのURIをパラメーターとして渡します。

関連トピック

リソースの削除

クイック開始(SOAPモード):Java APIを使用したリソースの検索

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用したリソースの削除

Repository API(Webサービス)を使用してリソースを削除します。

  1. プロジェクトファイルを含める

    • Base64を使用してリポジトリWSDLを使用するMicrosoft .NETクライアントアセンブリを作成します。
    • Microsoft .NETクライアントアセンブリを参照します。
  2. サービスクライアントの作成

    Microsoft .NETクライアントアセンブリを使用して、RepositoryServiceServiceオブジェクトを作成します。その場合は、デフォルトのコンストラクタを呼び出します。 ユーザー名とパスワードを含むSystem.Net.NetworkCredentialオブジェクトを使用して、Credentialsプロパティを設定します。

  3. 削除するリソースのURIを指定します

    取得するリソースのURIを指定します。 この場合、testResourceToBeDeletedという名前のリソースはtestFolderという名前のフォルダーにあるので、そのURIは"/testFolder/testResourceToBeDeleted"です。 この例では、リソースは最初にリポジトリに書き込まれ、そのURIが取得されます。 リソースの書き込みについて詳しくは、リソースの書き込みを参照してください。

  4. リソースの削除

    RepositoryServiceServiceオブジェクトのdeleteResourcesメソッドを呼び出し、リソースのURIを最初のパラメーターとして含むSystem.String配列を渡します。 2番目のパラメーターにnullを渡します。

関連トピック

リソースの削除

Base64エンコーディングを使用したAEM Formsの呼び出し

このページ