OSID Logo
OSID Specifications
tracking batch package
Version 3.0.0
Release Candidate Preview
Interfaceosid.tracking.batch.FrontOfficeBatchAdminSession
Implementsosid.tracking.FrontOfficeAdminSession
Description

This session creates, updates, and deletes FrontOffices 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 a FrontOffice, a FrontOfficeForm is requested using getFrontOfficeFormsForCreate() specifying the desired record Types or none if no record Types are needed. Each of the returned FrontOfficeForms 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 a FrontOfficeForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each FrontOfficeForm corresponds to an attempted transaction.

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

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

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

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

The delete operations delete FrontOffices in bulk. Bulk delete operations return the results in DeleteResponses.

MethodgetFrontOfficeFormsForCreate
Description

Gets the front office forms for creating a bunch of new front offices.

Parameterscardinalnumberthe number of forms to retrieve
osid.type.Type[]frontOfficeRecordTypesarray of front office record types to be included in each create operation or an empty list if none
Returnosid.tracking.batch.FrontOfficeBatchFormListthe front office forms
ErrorsNULL_ARGUMENT frontOfficeRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to request forms with given record types
CompliancemandatoryThis method must be implemented.
MethodcreateFrontOffices
Description

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

Parametersosid.tracking.batch.FrontOfficeBatchFormListfrontOfficeFormsthe front office forms
Returnosid.transaction.batch.CreateResponseListthe create responses
ErrorsNULL_ARGUMENT frontOfficeForms is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetFrontOfficeFormsForUpdate
Description

Gets the front office forms for updating an existing set of front offices. A new front office form should be requested for each update transaction.

Parametersosid.id.IdListfrontOfficeIdsthe Ids of the FrontOffices
Returnosid.tracking.batch.FrontOfficeBatchFormListthe front office forms
ErrorsNOT_FOUNDa frontOfficeId is not found
NULL_ARGUMENT frontOfficeIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodupdateFrontOffices
Description

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

Parametersosid.tracking.batch.FrontOfficeBatchFormListfrontOfficeFormsthe form containing the elements to be updated
Returnosid.transaction.batch.UpdateResponseListthe update responses
ErrorsNULL_ARGUMENT frontOfficeForms is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteAllFrontOffices
Description

Deletes all FrontOffices.

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

Deletes front offices for the given Ids.

Parametersosid.id.IdListfrontOfficeIdsthe Ids of the front office to delete
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENT frontOfficeIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodaliasFrontOffices
Description

Adds an Id to a FrontOffice for the purpose of creating compatibility. The primary Id of the FrontOffice is determined by the provider. The new Id is an alias to the primary Id. If the alias is a pointer to another front office, it is reassigned to the given entry Id.

Parametersosid.transaction.batch.AliasRequestListaliasRequeststhe alias requests
Returnosid.transaction.batch.AliasResponseListthe alias responses
ErrorsNULL_ARGUMENT aliasRequests is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.