OSID Logo
OSID Specifications
repository batch package
Version 3.0.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.IdListassetIdsa list of asset Ids
osid.type.Type[]assetContentRecordTypesarray of asset content record types to be included in each create operation or an empty list if none
Returnosid.repository.batch.AssetBatchFormListthe asset forms
ErrorsNOT_FOUNDan assetId is not found
NULL_ARGUMENTassetIds or assetContentRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to request forms with given record types
CompliancemandatoryThis 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.AssetContentBatchFormListassetContentFormsthe asset content forms
Returnosid.transaction.batch.CreateResponseListthe create responses
ErrorsNULL_ARGUMENTassetContentForms is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis 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.IdListassetContentIdsthe Ids of the AssetContents
Returnosid.repository.batch.AssetContentBatchFormListthe asset content forms
ErrorsNOT_FOUNDan assetContentId is not found
NULL_ARGUMENTassetContentIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis 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.AssetContentBatchFormListassetContentFormsthe form containing the elements to be updated
Returnosid.transaction.batch.UpdateResponseListthe update responses
ErrorsNULL_ARGUMENTassetContentForms is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteAllAssetContents
Description

Deletes all Assets in this Repository .

Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteAssetContents
Description

Deletes asset contents for the given Ids .

Parametersosid.id.IdListassetContentIdsthe Ids of the asset contents to delete
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENTassetContentIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteAssetContentsForAsset
Description

Deletes asset contents for the given asset.

Parametersosid.id.IdassetIdan Id of the asset
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENTassetId
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis 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.AliasRequestListaliasRequeststhe alias requests
Returnosid.transaction.batch.AliasResponseListthe alias responses
ErrorsNULL_ARGUMENTaliasRequests is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.