フォルダーの作成

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

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

メモ
リポジトリサービスについて詳しくは、 AEM Forms サービスリファレンスを参照してください。

手順の概要

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

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

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

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

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

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

フォルダーを作成

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

フォルダーをリポジトリに書き込む

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

関連トピック

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

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

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

接続プロパティの設定

Repository Service API クイックスタート

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

リポジトリサービス 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 メソッドを呼び出して、フォルダーの URI と ResourceCollection オブジェクトに渡します。例えば、フォルダーの URI は次の値になります /Applications/FormsApplication/1.0/

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

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

リポジトリサービス API(web サービス)を使用してフォルダーを作成します。

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

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

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

  3. フォルダーを作成

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

    • Id クラスのデフォルトのコンストラクターを呼び出し、Resource オブジェクトの id フィールドに割り当てることによって作成される Id オブジェクト。
    • Lid クラスのデフォルトのコンストラクターを呼び出し、Resource オブジェクトの lid フィールドに割り当てることによって作成される 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 日間(調整不可)保存されます。30 日以内にリポジトリに共通の CSS を送信すると、関係が形成されます。

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

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

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

手順の概要

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

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

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

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

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

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

リソースに対するターゲットフォルダーの URI の指定

読み取るリソースの URI を含む文字列を作成します。構文には、「/path/folder」のようにフォワードスラッシュが含まれます。

リソースの作成

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

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

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

ターゲットフォルダーへのリソースの書き込み

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

関連トピック

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

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

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

接続プロパティの設定

Repository Service API クイックスタート

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

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

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

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

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

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

  3. リソースに対するターゲットフォルダーの URI の指定

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

  4. リソースを作成

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

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

    • Id クラス用のデフォルトコンストラクターを呼び出して作成される com.adobe.repository.infomodel.Id オブジェクト。
    • Lid クラス用のデフォルトコンストラクターを呼び出して作成される com.adobe.repository.infomodel.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 オブジェクトに渡します。

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

リポジトリーサービス API(web サービス)を使用してリソースを書き込みます。

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

    • base64 を使用して、Repository 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 を渡します。

リソースのリスト

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

リソースを整理したら、オペレーティングシステムでおこなうように、構造の特定のブランチを表示して、作成した構造を検査できます。

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

メモ
リポジトリサービスに関する詳細は、 AEM Forms サービスリファレンスを参照してください。

手順の概要

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

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

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

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

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

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

フォルダーパスを指定

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

リソースのリストを取得

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

関連トピック

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

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

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

接続プロパティの設定

Repository Service API クイックスタート

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

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

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

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

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

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

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

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

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

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

    このメソッドは、com.adobe.repository.infomodel.bean.Resource オブジェクト(Relation.TYPE_MEMBER_OF タイプの com.adobe.repository.infomodel.bean.Relation であり、ターゲットとしてリソースコレクション URI を持つ)の java.util.List を返します。この List を反復処理して各リソースを取得できます。この例では、各リソースの名前と説明が表示されます。