OSID Logo
OSID Specifications
tracking package
Version 3.0.0
Release Candidate Preview
Interfaceosid.tracking.FrontOfficeHierarchySession
Implementsosid.OsidSession
Description

This session defines methods for traversing a hierarchy of FrontOffice objects. Each node in the hierarchy is a unique FrontOffice. The hierarchy may be traversed recursively to establish the tree structure through getParentFrontOffices() and getChildFrontOffices(). To relate these Ids to another OSID, getFrontOfficeNodes() can be used for retrievals that can be used for bulk lookups in other OSIDs. Any FrontOffice available in the Tracking OSID is known to this hierarchy but does not appear in the hierarchy traversal until added as a root issue or a child of another issue.

A user may not be authorized to traverse the entire hierarchy. Parts of the hierarchy may be made invisible through omission from the returns of getParentFrontOffices() or getChildFrontOffices() in lieu of a PERMISSION_DENIED error that may disrupt the traversal through authorized effortways.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative front office view: front office elements may be silently omitted or re-ordered
  • plenary front office view: provides a complete set or is an error condition
MethodgetFrontOfficeHierarchyId
Description

Gets the hierarchy Id associated with this session.

Returnosid.id.Idthe hierarchy Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetFrontOfficeHierarchy
Description

Gets the hierarchy associated with this session.

Returnosid.hierarchy.Hierarchythe hierarchy associated with this session
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanAccessFrontOfficeHierarchy
Description

Tests if this user can perform hierarchy queries. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer lookup operations.

Returnboolean false if hierarchy traversal methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoduseComparativeFrontOfficeView
Description

The returns from the front office methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.

CompliancemandatoryThis method is must be implemented.
MethodusePlenaryFrontOfficeView
Description

A complete view of the FrontOffices returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.

CompliancemandatoryThis method is must be implemented.
MethodgetRootFrontOfficeIds
Description

Gets the root front office Ids in this hierarchy.

Returnosid.id.IdListthe root front office Ids
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetRootFrontOffices
Description

Gets the root front office in the front office hierarchy. A issue with no parents is an orphan. While all front office Ids are known to the hierarchy, an orphan does not appear in the hierarchy unless explicitly added as a root issue or child of another issue.

Returnosid.tracking.FrontOfficeListthe root frontOffices
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method is must be implemented.
MethodhasParentFrontOffices
Description

Tests if the FrontOffice has any parents.

Parametersosid.id.IdfrontOfficeIda front office Id
Returnboolean true if the front office has parents, f alse otherwise
ErrorsNOT_FOUND frontOfficeId is not found
NULL_ARGUMENT frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodisParentOfFrontOffice
Description

Tests if an Id is a direct parent of front office.

Parametersosid.id.Ididan Id
osid.id.IdfrontOfficeIdthe Id of a front office
Returnboolean true if this id is a parent of frontOfficeId, f alse otherwise
ErrorsNOT_FOUND frontOfficeId is not found
NULL_ARGUMENT id or frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
Provider Notes

If id not found return false.

MethodgetParentFrontOfficeIds
Description

Gets the parent Ids of the given front office.

Parametersosid.id.IdfrontOfficeIda front office Id
Returnosid.id.IdListthe parent Ids of the front office
ErrorsNOT_FOUND frontOfficeId is not found
NULL_ARGUMENT frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetParentFrontOffices
Description

Gets the parents of the given front office.

Parametersosid.id.IdfrontOfficeIdthe Id to query
Returnosid.tracking.FrontOfficeListthe parents of the front office
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodisAncestorOfFrontOffice
Description

Tests if an Id is an ancestor of a front office.

Parametersosid.id.Ididan Id
osid.id.IdfrontOfficeIdthe Id of a front office
Returnboolean tru e if this id is an ancestor of frontOfficeId, false otherwise
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT frontOfficeId or id is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
Provider Notes

If id not found return false.

MethodhasChildFrontOffices
Description

Tests if a front office has any children.

Parametersosid.id.IdfrontOfficeIda front office Id
Returnboolean true if the frontOfficeId has children, false otherwise
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodisChildOfFrontOffice
Description

Tests if a front office is a direct child of another.

Parametersosid.id.Ididan Id
osid.id.IdfrontOfficeIdthe Id of a front office
Returnboolean true if the id is a child of frontOfficeId, false otherwise
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT id or frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
Provider Notes

If id not found return false.

MethodgetChildFrontOfficeIds
Description

Gets the child Ids of the given front office.

Parametersosid.id.IdfrontOfficeIdthe Id to query
Returnosid.id.IdListthe children of the front office
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetChildFrontOffices
Description

Gets the children of the given front office.

Parametersosid.id.IdfrontOfficeIdthe Id to query
Returnosid.tracking.FrontOfficeListthe children of the front office
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodisDescendantOfFrontOffice
Description

Tests if an Id is a descendant of a front office.

Parametersosid.id.Ididan Id
osid.id.IdfrontOfficeIdthe Id of a front office
Returnboolean true if the id is a descendant of the frontOfficeId, false otherwise
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT id or frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
Provider Notes

If id is not found return false.

MethodgetFrontOfficeNodeIds
Description

Gets a portion of the hierarchy for the given front office.

Parametersosid.id.IdfrontOfficeIdthe Id to query
cardinalancestorLevelsthe maximum number of ancestor levels to include. A value of 0 returns no parents in the issue.
cardinaldescendantLevelsthe maximum number of descendant levels to include. A value of 0 returns no children in the issue.
booleanincludeSiblings true to include the siblings of the given issue, false to omit the siblings
Returnosid.hierarchy.Nodea front office node
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetFrontOfficeNodes
Description

Gets a portion of the hierarchy for the given front office.

Parametersosid.id.IdfrontOfficeIdthe Id to query
cardinalancestorLevelsthe maximum number of ancestor levels to include. A value of 0 returns no parents in the issue.
cardinaldescendantLevelsthe maximum number of descendant levels to include. A value of 0 returns no children in the issue.
booleanincludeSiblings true to include the siblings of the given issue, false to omit the siblings
Returnosid.tracking.FrontOfficeNodea front office node
ErrorsNOT_FOUND frontOfficeId not found
NULL_ARGUMENT frontOfficeId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.