フォルダーの作成
フォルダー(リソースコレクション)は、整理されたグループにオブジェクト(ファイルまたはリソース)を保存するために使用します。フォルダーには、リソースと他のフォルダー(サブフォルダーとも呼ばれます)を含めることができます。リソースは一度に 1 つのフォルダーにのみ保存できます。
ファイルはフォルダーからアクセス制御リスト (ACL) を継承し、サブフォルダーは親フォルダーから ACL を継承します。したがって、子フォルダーを作成するには、親フォルダーが存在する必要があります。IDE では、ファイル単位ではなく、フォルダー単位でのみやり取りできます。フォルダーのバージョンを設定することはできず、また設定する必要もありません。1 つのフォルダーには、データ自体は含まれていません。データを含むリソースのコンテナにすぎません。デフォルトの ACL はシステムレベルの権限です。すなわち、特定のフォルダに対する権限が付与されるまで、ユーザーはシステムレベルの権限(読み取り、書き込み、トラバース、ACL の管理)を持つ必要があります。ACL は IDE でのみ機能します。
手順の概要
フォルダーを作成するには、以下の手順に従います。
- プロジェクトファイルを含めます。
- サービスクライアントを作成します。
- フォルダーを作成します。
- フォルダーをリポジトリに書き込みます。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。
サービスクライアントを作成
プログラムによってリソースコレクションを作成する前に、接続を確立し、資格情報を入力する必要があります。これは、サービスクライアントを作成することで実行されます。
フォルダーを作成
リポジトリサービスメソッドを呼び出して、リソースコレクションを作成し、UUID、フォルダー名、説明などの識別情報をリソースコレクションに入力します。
フォルダーをリポジトリに書き込む
リポジトリサービスメソッドを呼び出して、ターゲットフォルダーの URI を指定し、リソースコレクションを書き込みます。
関連トピック
Repository Service API クイックスタート
Java API を使用してフォルダーを作成
リポジトリサービス API(Java)を使用してフォルダーを作成します。
-
プロジェクトファイルを含める
Java プロジェクトのクラスパスにプロジェクトファイルを含めます。
-
サービスクライアントの作成
コンストラクターを使用し、
ServiceClientFactory
接続プロパティを含むオブジェクトを渡して、ResourceRepositoryClient
オブジェクトを作成します。 -
フォルダーを作成
リソースコレクションを作成するには、まず
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"
が使用されています.
-
フォルダーをリポジトリに書き込む
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 サービス)を使用してフォルダーを作成します。
-
プロジェクトファイルを含める
- base64 を使用して、Repository WSDL を使用する Microsoft .NET クライアントアセンブリを作成します。
- Microsoft .NET クライアントアセンブリを参照します。
-
サービスクライアントの作成
Microsoft .NET クライアントアセンブリを使用して、デフォルトのコンストラクターを呼び出すことで
RepositoryServiceService
オブジェクトを作成します。ユーザー名とパスワードを含むSystem.Net.NetworkCredential
オブジェクトを使用してCredentials
プロパティを設定します。 -
フォルダーを作成
ResourceCollection
クラスのデフォルトのコンストラクターを使用し、次のパラメーターを渡すことで、フォルダーを作成します。Id
クラスのデフォルトのコンストラクターを呼び出し、Resource
オブジェクトのid
フィールドに割り当てることによって作成されるId
オブジェクト。Lid
クラスのデフォルトのコンストラクターを呼び出し、Resource
オブジェクトのlid
フィールドに割り当てることによって作成されるLid
オブジェクト。Resource
オブジェクトのname
フィールドに割り当てられる、リソースコレクションの名前を含む文字列。この例で使用される名前は"testfolder"
です。Resource
オブジェクトのdescription
フィールドに割り当てられる、リソースコレクションの説明を含む文字列。この例で使用される説明は"test folder"
です。
-
フォルダーをリポジトリに書き込む
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 を使用して、プログラムによってリソースを書き込むことができます。
手順の概要
リソースを書き込むには、以下の手順に従います。
- プロジェクトファイルを含めます。
- リポジトリサービスクライアントを作成します。
- 読み取るリソースの URI を指定します。
- リソースを読み取ります。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。
サービスクライアントの作成
プログラムによってリソースを読み取る前に、接続を確立し、資格情報を指定する必要があります。これは、サービスクライアントを作成することで実行されます。
リソースに対するターゲットフォルダーの URI の指定
読み取るリソースの URI を含む文字列を作成します。構文には、「/path/folder」のようにフォワードスラッシュが含まれます。
リソースの作成
Repository サービスメソッドを呼び出してリソースを作成し、UUID、リソース名、説明などの識別情報をリソースに設定します。
リソースコンテンツの指定
Repository サービスメソッドを呼び出してリソースコンテンツを作成し、そのコンテンツをリソースに保存します。
ターゲットフォルダーへのリソースの書き込み
Repository サービスメソッドを呼び出し、ターゲットフォルダーの URI を指定してリソースを書き込みます。
関連トピック
Repository Service API クイックスタート
Java API を使用したリソースの書き込み
Repository Service API(Java)を使用してリソースを書き込みます。
-
プロジェクトファイルを含める
クライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。
-
サービスクライアントの作成
ResourceRepositoryClient
オブジェクトを作成するには、コンストラクターを使用して、接続プロパティを含むServiceClientFactory
オブジェクトを渡します。 -
リソースに対するターゲットフォルダーの URI の指定
リソースのターゲットフォルダーの URI を指定します。この場合、
testResource
という名前のリソースがtestFolder
という名前のフォルダーに保存されるので、そのフォルダーの URI は"/testFolder"
となります。URI はjava.lang.String
オブジェクトとして保存されます。 -
リソースを作成
リソースを作成するには、まず
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"
です。 -
リソースコンテンツを指定
リソースのコンテンツを作成するには、
RepositoryInfomodelFactoryBean
オブジェクトのnewResourceContent
メソッドを呼び出します。このメソッドはcom.adobe.repository.infomodel.bean.ResourceContent
オブジェクトを返します。ResourceContent
オブジェクトにコンテンツを追加します。この例では、次のタスクを実行して実現されます。ResourceContent
オブジェクトのsetDataDocument
メソッドを呼び出してcom.adobe.idp.Document
オブジェクトを渡すResourceContent
オブジェクトのsetSize
メソッドを呼び出して、Document
オブジェクトをバイト単位で渡す
Resource
オブジェクトのsetContent
メソッドを呼び出してResourceContent
オブジェクをに渡すことで、コンテンツをリソースに追加します。詳しくは、AEM Forms API リファレンスを参照してください。 -
ターゲットフォルダにリソースを書き込む
ResourceRepositoryClient
オブジェクトのwriteResource
メソッドを呼び出して、フォルダーの URI とResource
オブジェクトに渡します。
Web サービス API を使用したリソースの書き込み
リポジトリーサービス API(web サービス)を使用してリソースを書き込みます。
-
プロジェクトファイルを含める
- base64 を使用して、Repository WSDL を使用する Microsoft .NET クライアントアセンブリを作成します。
- Microsoft .NET クライアントアセンブリを参照します。
-
サービスクライアントの作成
Microsoft .NET クライアントアセンブリを使用して、デフォルトのコンストラクターを呼び出し、
RepositoryServiceService
オブジェクトを作成します。ユーザー名とパスワードを含むSystem.Net.NetworkCredential
オブジェクトを使用して、Credentials
プロパティを設定します。 -
リソースに対するターゲットフォルダーの URI の指定
リソースのターゲットフォルダーの URI を指定します。この場合、
testResource
と名付けたリソースは、testFolder
と名付けたフォルダーに保存されるため、フォルダーの URI は"/testFolder"
になります。Microsoft .NET Framework に準拠している言語(例:C#)を使用する場合、URI をSystem.String
オブジェクトに保存します。 -
リソースを作成
リソースを作成するには、
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"
です。
-
リソースコンテンツを指定
リソースのコンテンツを作成するには、
ResourceContent
クラス用のデフォルトのコンストラクターを呼び出します。次に、ResourceContent
オブジェクトにコンテンツを追加します。この例では、次のタスクを実行して実現されます。BLOB
ドキュメントを含むオブジェクトをResourceContent
オブジェクトのdataDocument
フィールドに割り当てます。BLOB
オブジェクトのサイズ(バイト単位)をResourceContent
オブジェクトのsize
フィールドに割り当てます。
ResourceContent
オブジェクトをResource
オブジェクトのcontent
フィールドに割り当てて、コンテンツをリソースに追加します。 -
ターゲットフォルダにリソースを書き込む
RepositoryServiceService
オブジェクトのwriteResource
メソッドを呼び出して、フォルダーの URI とResource
オブジェクトを渡します。他の 2 つのパラメーターにはnull
を渡します。
リソースのリスト
リソースを一覧表示することで、リソースを見つけることができます。リポジトリに対してクエリが実行され、特定のリソースコレクションに関連するすべてのリソースが検索されます。
リソースを整理したら、オペレーティングシステムでおこなうように、構造の特定のブランチを表示して、作成した構造を検査できます。
リソースのリストは、次の関係によって機能します。リソースは、フォルダーのメンバーです。メンバーシップは、「…のメンバー」タイプの関係で表されます。特定のフォルダー内のリソースをリストする場合、「…のメンバー」の関係によって特定のフォルダーに関連するリソースをクエリします。関係は方向性を持ちます。関係のメンバーには、ターゲットのメンバーであるソースがあります。ソースはリソースです。ターゲットは親フォルダーです。
手順の概要
リソースをリストに追加するには、次の手順に従います。
- プロジェクトファイルを含めます。
- サービスクライアントを作成します。
- フォルダーパスを指定します。
- リソースのリストを取得します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。
サービスクライアントを作成
プログラムによってリソースコレクションを作成する前に、接続を確立し、資格情報を入力する必要があります。これは、サービスクライアントを作成することで実行されます。
フォルダーパスを指定
リソースを含むフォルダーのパスを含む文字列を作成します。構文には、次の例のようにスラッシュが含まれます。「/パス/フォルダー」。
リソースのリストを取得
Repository サービスメソッドを呼び出し、ターゲットフォルダーのパスを指定して、リソースのリストを取得します。
関連トピック
Repository Service API クイックスタート
Java API を使用したリソースのリスト化
Repository Service API(Java)を使用してリソースをリスト化します。
-
プロジェクトファイルを含める
クライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。
-
サービスクライアントの作成
ResourceRepositoryClient
オブジェクトを作成するには、コンストラクターを使用して、接続プロパティを含むServiceClientFactory
オブジェクトを渡します。 -
フォルダーパスの指定
クエリを実行するリソースコレクションの URI を指定します。この場合、URI は
"/testFolder"
となります。URI はjava.lang.String
オブジェクトとして保存されます。 -
リソースのリストの取得
ResourceRepositoryClient
オブジェクトのlistMembers
メソッドを呼び出して、フォルダーの URI を渡します。このメソッドは、
com.adobe.repository.infomodel.bean.Resource
オブジェクト(Relation.TYPE_MEMBER_OF
タイプのcom.adobe.repository.infomodel.bean.Relation
であり、ターゲットとしてリソースコレクション URI を持つ)のjava.util.List
を返します。このList
を反復処理して各リソースを取得できます。この例では、各リソースの名前と説明が表示されます。