AEM Formsリポジトリの操作

このドキュメントのサンプルと例は、JEE上のAEM Forms環境に限られています。

Repositoryサービスについて

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

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

メモ

リポジトリAPIは、Content Services(非推奨)とのやり取りには使用できません。 Content Services(非推奨)とやり取りするには、Document Management 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 ライブラリファイルを含める

接続プロパティの設定

リポジトリサービス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を含む文字列を作成します。 構文には、次のようにスラッシュが含まれます。"/path/folder"

リソースの作成

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

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

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

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

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

関連トピック

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

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

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

接続プロパティの設定

リポジトリサービスAPIのクイックスタート

Java APIを使用してリソースを書き込みます。

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

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

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

  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オブジェクトを返します。 ResourceContentオブジェクトにコンテンツを追加します。 この例では、次のタスクを実行します。

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

    ResourceオブジェクトのsetContentメソッドを呼び出し、ResourceContentオブジェクトを渡すことで、コンテンツをリソースに追加します。 詳しくは、「AEM Forms APIリファレンス」を参照してください。

  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サービスを使用している場合は、プロキシファイルを含めます。

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

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

フォルダーパスの指定

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

リソースのリストの取得

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

関連トピック

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

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

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

接続プロパティの設定

リポジトリサービスAPIのクイックスタート

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

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

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

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

  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をターゲットとするjava.util.Listオブジェクトのcom.adobe.repository.infomodel.bean.Resourceを返します。 この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:では、リソースのリストを表示できます。つまり、リソースのメタデータを読み取るが、リソースの内容を読み取らない
  • 読み取り:リソースコンテンツを読み取ることができます。
  • 書き込み:リソースコンテンツの書き込みが可能
  • アクセス制御リスト(ACL)の管理:を使用すると、リソースのACLを操作できます。

ユーザーは、プロセスを実行する権限を持つ場合にのみプロセスを実行できます。 IDEユーザーは、リポジトリと同期するには、トラバースおよび読み取り権限が必要です。 実行時はシステムコンテキスト内で発生するので、ACLはデザイン時にのみ適用されます。

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

メモ

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

手順の概要

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

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

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

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

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

プログラムによってリソースを読み取る前に、接続を確立し、資格情報を指定する必要があります。 これは、サービスクライアントを作成することで実現されます。

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

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

リソースの読み取り

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

関連トピック

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

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

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

接続プロパティの設定

リポジトリサービスAPIのクイックスタート

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

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

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

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

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

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

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

    取得するリソースのURIを表すstring値を指定します。 例えば、リソースの名前が​testResourcetestFolder​にある)と仮定して、/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ファイルに他のリソースへの参照が含まれている場合は、その他の参照も記録されます。 form.xdpバージョン1.0に2つの外部参照があるとします。ロゴとスタイルシートを追加し、その後form.xdpを更新して、3つの参照が含まれるようにします。ロゴ、スタイルシートおよびスキーマファイル。 更新中、リポジトリは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 ライブラリファイルを含める

接続プロパティの設定

リポジトリサービスAPIのクイックスタート

Java APIを使用してリソースを更新する

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

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

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

  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つのプロパティが返されます。 ただし、プロパティは属性名で並べ替えられません。 追加された順序で返されます。namesecondName、およびasecondName

メモ

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

手順の概要

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

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

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

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

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

プログラムによってリソースを読み取る前に、接続を確立し、資格情報を指定する必要があります。 これは、サービスクライアントを作成することで実現されます。

検索の対象フォルダーの指定

検索の実行元となるベースパスを含む文字列を作成します。 構文には、次のようにスラッシュが含まれます。"/path/folder"

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

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

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

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

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

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

リソースの検索

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

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

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

関連トピック

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

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

接続プロパティの設定

リポジトリサービスAPIのクイックスタート

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

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

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

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

  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が使用されます。

    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番目のパラメーターとして指定されます。

    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ファイルのみがリポジトリ定義の依存関係を使用して画像に関連付けられます)。 カスタム関係のもう1つの例は、ツリー構造ではなく循環グラフ構造を使用してリポジトリの別のビューを作成する場合です。 ビューアと共に円グラフを定義して、これらの関係をトラバースできます。 最後に、2つのリソースが完全に異なる場合でも、1つのリソースが別のリソースを置き換えることを示すことができます。 その場合、予約範囲外の関係タイプを定義して、これら2つのリソース間の関係を作成できます。 アプリケーションは、関係を検出して処理できる唯一のクライアントであり、その関係を検索するために使用できます。

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

メモ

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

手順の概要

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

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

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

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

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

プログラムによってリソースを読み取る前に、接続を確立し、資格情報を指定する必要があります。 これは、サービスクライアントを作成することで実現されます。

関連付けるリソースのURIの指定

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

関係の作成

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

関連トピック

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

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

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

接続プロパティの設定

リポジトリサービスAPIのクイックスタート

Java APIを使用して関係リソースを作成します

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

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

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

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

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

  3. 関連付けるリソースのURIの指定

    関連付けるリソースのURIを指定します。 この場合、リソースの名前はtestResource1およびtestResource2で、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を指定します。 この場合、リソースの名前はtestResource1およびtestResource2で、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を含む文字列を作成します。 構文には、次のようにスラッシュが含まれます。"/path/resource"

リソースのロック

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

リソースのロックの取得

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

リソースのロック解除

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

関連トピック

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

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

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

接続プロパティの設定

リポジトリサービスAPIのクイックスタート

Java APIを使用してリソースをロックする

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

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

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

  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をパラメーターとして渡します。 メソッドは、繰り返し処理できるList of Lockオブジェクトを返します。 この例では、各LockオブジェクトのgetOwnerUserIdgetDepthgetTypeメソッドを呼び出して、各オブジェクトに対してロックの所有者、深さ、範囲を印刷します。

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

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

関連トピック

リソースのロック

クイックスタート(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個のインスタンスは削除されますが、残りは削除されません。 それ以外の場合、デフォルトの動作はロールバック(非コミットメント)です。

メモ

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

メモ

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

手順の概要

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

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

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

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

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

プログラムによってリソースを読み取る前に、接続を確立し、資格情報を指定する必要があります。 これは、サービスクライアントを作成することで実現されます。

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

削除するリソースのURIを含む文字列を作成します。 構文には、次のようにスラッシュが含まれます。"/path/resource" 削除するリソースがフォルダーの場合、削除は繰り返し実行されます。

リソースの削除

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

関連トピック

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

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

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

接続プロパティの設定

リポジトリサービスAPIのクイックスタート

Java API(SOAP)を使用してリソースを削除する

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

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

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

  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の呼び出し

このページ