OSID Logo
OSID Specifications
repository batch package
Version 3.1.0
Interfaceosid.repository.batch.AssetContentBatchAdminSession
Implementsosid.repository.AssetContentAdminSession
Used Byosid.repository.batch.RepositoryBatchManager
osid.repository.batch.RepositoryBatchProxyManager
Description

This session creates, updates, and deletes AssetContents in bulk. The data for create and update is provided by the consumer via the form object. OsidForms are requested for each create or update and may not be reused.

Create and update operations differ in their usage. To create an AssetContent, an AssetContentForm is requested using geAssetContentFormsForCreate() specifying the desired assets and record Types or none if no record Types are needed. Each of the returned AssetContentForms will indicate that it is to be used with a create operation and can be used to examine metdata or validate data prior to creation. Once an AssetContentForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each AssetContentForm corresponds to an attempted transaction.

The AssetContentForms returned from getAssetContentFormsForCreate() may be linked to the originating request through the peer Ids of the AssetContentForm. In the case where there may be duplicates, any AssetContentForm of the same peer Ids may be used for a create operation.

Once a batch of AssetContentForms are submitted for create, a CreateResponse is returned for each AssetContentForm, although the ordering is not defined. Only errors that pertain to the entire create operation are returned from createAssetContents(), errors specific to an individual AssetContentForm are indicated in the corresponding CreateResponse. CreateResponses may be linked to the originating AssetContentForm through the AssetContentForm Id.

For updates, AssetContentForms are requested to the AssetContent Id that is to be updated using getAssetContentFormsForUpdate() where the reference Id in the AssetContentForm may be used to link the request. Similarly, the AssetForm has metadata about the data that can be updated and it can perform validation before submitting the update. The AssetContentForm can only be used once for a successful update and cannot be reused.

Once a batch of AssetContentForms are submitted for update, an UpdateResponse is returned for each AssetContentForm, although the ordering is not defined. Only errors that pertain to the entire update operation are returned from updateAssetContents(), errors specific to an individual AssetContentForm are indicated in the corresponding UpdateResponse. UpdateResponses may be linked to the originating AssetContentForm through the AssetContentForm Id.

The delete operations delete AssetContents in bulk. To unmap an AssetContent from the current Repository, the AssetContentRepositoryAssignmentSession should be used. These delete operations attempt to remove the AssetContent itself thus removing it from all known Repository catalogs. Bulk delete operations return the results in DeleteResponses.

MethodgetAssetContentFormsForCreate
Description

Gets the asset forms for creating a bunch of new asset contents. A form is retrieved for each supp;lied asset Id.

Parametersosid.id.IdListassetIds a list of asset Ids
osid.type.Type[]assetContentRecordTypes array of asset content record types to be included in each create operation or an empty list if none
Returnosid.repository.batch.AssetBatchFormList the asset forms
ErrorsNOT_FOUND an assetId is not found
NULL_ARGUMENT assetIds or assetContentRecordTypes is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
UNSUPPORTED unable to request forms with given record types
Compliancemandatory This method must be implemented.
MethodcreateAssetContents
Description

Creates a new set of AssetContents. This method returns an error if the entire operation fails. Otherwise, the status of an individual create operation is indicated in the BatchCreateResponse.

Parametersosid.repository.batch.AssetContentBatchFormListassetContentForms the asset content forms
Returnosid.transaction.batch.CreateResponseList the create responses
ErrorsNULL_ARGUMENT assetContentForms is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodgetAssetContentFormsForUpdate
Description

Gets the asset content forms for updating an existing set of asset contents. A new asset content form should be requested for each update transaction.

Parametersosid.id.IdListassetContentIds the Ids of the AssetContents
Returnosid.repository.batch.AssetContentBatchFormList the asset content forms
ErrorsNOT_FOUND an assetContentId is not found
NULL_ARGUMENT assetContentIds is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodupdateAssetContents
Description

Updates existing asset contents. This method returns an error if the entire operation fails. Otherwise, the status of an individual update operation is indicated in the BatchCreateResponse.

Parametersosid.repository.batch.AssetContentBatchFormListassetContentForms the form containing the elements to be updated
Returnosid.transaction.batch.UpdateResponseList the update responses
ErrorsNULL_ARGUMENT assetContentForms is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteAllAssetContents
Description

Deletes all Assets in this Repository.

Returnosid.transaction.batch.DeleteResponseList the delete responses
ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteAssetContents
Description

Deletes asset contents for the given Ids.

Parametersosid.id.IdListassetContentIds the Ids of the asset contents to delete
Returnosid.transaction.batch.DeleteResponseList the delete responses
ErrorsNULL_ARGUMENT assetContentIds is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteAssetContentsForAsset
Description

Deletes asset contents for the given asset.

Parametersosid.id.IdassetId an Id of the asset
Returnosid.transaction.batch.DeleteResponseList the delete responses
ErrorsNULL_ARGUMENT assetId
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodaliasAssetContents
Description

Adds an Id to an AssetContent for the purpose of creating compatibility. The primary Id of the AssetContent is determined by the provider. The new Id is an alias to the primary Id. If the alias is a pointer to another asset content, it is reassigned to the given asset content Id.

Parametersosid.transaction.batch.AliasRequestListaliasRequests the alias requests
Returnosid.transaction.batch.AliasResponseList the alias responses
ErrorsNULL_ARGUMENT aliasRequests is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.