Objective Bank

Objective Bank

class dlkit.services.learning.ObjectiveBank

Bases: dlkit.osid.objects.OsidCatalog, dlkit.osid.sessions.OsidSession

get_objective_bank_record(objective_bank_record_type)

Gets the objective bank record corresponding to the given ObjectiveBank record Type. This method is used to retrieve an object implementing the requested record. The objective_bank_record_type may be the Type returned in get_record_types() or any of its parents in a Type hierarchy where has_record_type(objective_bank_record_type) is true .

Parameters:objective_bank_record_type (osid.type.Type) – an objective bank record type
Returns:the objective bank record
Return type:osid.learning.records.ObjectiveBankRecord
Raise:NullArgumentobjective_bank_record_type is null
Raise:OperationFailed – unable to complete request
Raise:Unsupportedhas_record_type(objective_bank_record_type) is false

Objective Lookup Methods

ObjectiveBank.can_lookup_objectives()

Tests if this user can perform Objective lookups. 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 PermissionDenied. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Returns:false if lookup methods are not authorized, true otherwise
Return type:boolean
ObjectiveBank.use_comparative_objective_view()

The returns from the lookup 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.

ObjectiveBank.use_plenary_objective_view()

A complete view of the Objective 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.

ObjectiveBank.use_federated_objective_bank_view()

Federates the view for methods in this session. A federated view will include objectives in objective banks which are children of this objective bank in the objective bank hierarchy.

ObjectiveBank.use_isolated_objective_bank_view()

Isolates the view for methods in this session. An isolated view restricts lookups to this objective bank only.

ObjectiveBank.get_objective(objective_id)

Gets the Objective specified by its Id. In plenary mode, the exact Id is found or a NotFound results. Otherwise, the returned Objective may have a different Id than requested, such as the case where a duplicate Id was assigned to an Objective and retained for compatibility.

Parameters:objective_id (osid.id.Id) – Id of the Objective
Returns:the objective
Return type:osid.learning.Objective
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_objectives_by_ids(objective_ids)

Gets an ObjectiveList corresponding to the given IdList. In plenary mode, the returned list contains all of the objectives specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:objective_ids (osid.id.IdList) – the list of Ids to retrieve
Returns:the returned Objective list
Return type:osid.learning.ObjectiveList
Raise:NotFound – an Id was not found
Raise:NullArgumentobjective_ids is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_objectives_by_genus_type(objective_genus_type)

Gets an ObjectiveList corresponding to the given objective genus Type which does not include objectives of genus types derived from the specified Type. In plenary mode, the returned list contains all known objectives or an error results. Otherwise, the returned list may contain only those objectives that are accessible through this session.

Parameters:objective_genus_type (osid.type.Type) – an objective genus type
Returns:the returned Objective list
Return type:osid.learning.ObjectiveList
Raise:NullArgumentobjective_genus_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_objectives_by_parent_genus_type(objective_genus_type)

Gets an ObjectiveList corresponding to the given objective genus Type and include any additional objective with genus types derived from the specified Type. In plenary mode, the returned list contains all known objectives or an error results. Otherwise, the returned list may contain only those objectives that are accessible through this session

Parameters:objective_genus_type (osid.type.Type) – an objective genus type
Returns:the returned Objective list
Return type:osid.learning.ObjectiveList
Raise:NullArgumentobjective_genus_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_objectives_by_record_type(objective_record_type)

Gets an ObjectiveList containing the given objective record Type. In plenary mode, the returned list contains all known objectives or an error results. Otherwise, the returned list may contain only those objectives that are accessible through this session.

Parameters:objective_record_type (osid.type.Type) – an objective record type
Returns:the returned Objective list
Return type:osid.learning.ObjectiveList
Raise:NullArgumentobjective_record_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.objectives

Gets all Objectives. In plenary mode, the returned list contains all known objectives or an error results. Otherwise, the returned list may contain only those objectives that are accessible through this session.

Returns:an ObjectiveList
Return type:osid.learning.ObjectiveList
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

Objective Admin Methods

ObjectiveBank.can_create_objectives()

Tests if this user can create Objectives. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating an Objective will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.

Returns:false if Objective creation is not authorized, true otherwise
Return type:boolean
ObjectiveBank.can_create_objective_with_record_types(objective_record_types)

Tests if this user can create a single Objective using the desired record types. While LearningManager.getObjectiveRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific Objective. Providing an empty array tests if an Objective can be created with no records.

Parameters:objective_record_types (osid.type.Type[]) – array of objective record types
Returns:true if Objective creation using the specified record Types is supported, false otherwise
Return type:boolean
Raise:NullArgumentobjective_record_types is null
ObjectiveBank.get_objective_form_for_create(objective_record_types)

Gets the objective form for creating new objectives. A new form should be requested for each create transaction.

Parameters:objective_record_types (osid.type.Type[]) – array of objective record types
Returns:the objective form
Return type:osid.learning.ObjectiveForm
Raise:NullArgumentobjective_record_types is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
Raise:Unsupported – unable to get form for requested record types
ObjectiveBank.create_objective(objective_form)

Creates a new Objective.

Parameters:objective_form (osid.learning.ObjectiveForm) – the form for this Objective
Returns:the new Objective
Return type:osid.learning.Objective
Raise:IllegalStateobjective_form already used in a create transaction
Raise:InvalidArgument – one or more of the form elements is invalid
Raise:NullArgumentobjective_form is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
Raise:Unsupportedobjective_form did not originate from get_objective_form_for_create()
ObjectiveBank.can_update_objectives()

Tests if this user can update Objectives. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating an Objective will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.

Returns:false if objective modification is not authorized, true otherwise
Return type:boolean
ObjectiveBank.get_objective_form_for_update(objective_id)

Gets the objective form for updating an existing objective. A new objective form should be requested for each update transaction.

Parameters:objective_id (osid.id.Id) – the Id of the Objective
Returns:the objective form
Return type:osid.learning.ObjectiveForm
Raise:NotFoundobjective_id is not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.update_objective(objective_form)

Updates an existing objective.

Parameters:objective_form (osid.learning.ObjectiveForm) – the form containing the elements to be updated
Raise:IllegalStateobjective_form already used in an update transaction
Raise:InvalidArgument – the form contains an invalid value
Raise:NullArgumentobjective_form is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
Raise:Unsupportedobjective_form did not originate from get_objective_form_for_update()
ObjectiveBank.can_delete_objectives()

Tests if this user can delete Objectives. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting an Objective will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.

Returns:false if Objective deletion is not authorized, true otherwise
Return type:boolean
ObjectiveBank.delete_objective(objective_id)

Deletes the Objective identified by the given Id.

Parameters:objective_id (osid.id.Id) – the Id of the Objective to delete
Raise:NotFound – an Objective was not found identified by the given Id
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.can_manage_objective_aliases()

Tests if this user can manage Id aliases for Objectives. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.

Returns:false if Objective aliasing is not authorized, true otherwise
Return type:boolean
ObjectiveBank.alias_objective(objective_id, alias_id)

Adds an Id to an Objective for the purpose of creating compatibility. The primary Id of the Objective is determined by the provider. The new Id performs as an alias to the primary Id. If the alias is a pointer to another objective, it is reassigned to the given objective Id.

Parameters:
  • objective_id (osid.id.Id) – the Id of an Objective
  • alias_id (osid.id.Id) – the alias Id
Raise:

AlreadyExistsalias_id is already assigned

Raise:

NotFoundobjective_id not found

Raise:

NullArgumentobjective_id or alias_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

Objective Hierarchy Methods

ObjectiveBank.objective_hierarchy_id

Gets the hierarchy Id associated with this session.

Returns:the hierarchy Id associated with this session
Return type:osid.id.Id
ObjectiveBank.objective_hierarchy

Gets the hierarchy associated with this session.

Returns:the hierarchy associated with this session
Return type:osid.hierarchy.Hierarchy
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.can_access_objective_hierarchy()

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 PermissionDenied. This is intended as a hint to an an application that may not offer traversal functions to unauthorized users.

Returns:false if hierarchy traversal methods are not authorized, true otherwise
Return type:boolean
ObjectiveBank.use_comparative_objective_view()

The returns from the lookup 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.

ObjectiveBank.use_plenary_objective_view()

A complete view of the Objective 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.

ObjectiveBank.root_objective_ids

Gets the root objective Ids in this hierarchy.

Returns:the root objective Ids
Return type:osid.id.IdList
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.root_objectives

Gets the root objective in this objective hierarchy.

Returns:the root objective
Return type:osid.learning.ObjectiveList
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.has_parent_objectives(objective_id)

Tests if the Objective has any parents.

Parameters:objective_id (osid.id.Id) – the Id of an objective
Returns:true if the objective has parents, false otherwise
Return type:boolean
Raise:NotFoundobjective_id is not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.is_parent_of_objective(id_, objective_id)

Tests if an Id is a direct parent of an objective.

Parameters:
  • id (osid.id.Id) – an Id
  • objective_id (osid.id.Id) – the Id of an objective
Returns:

true if this id is a parent of objective_id, false otherwise

Return type:

boolean

Raise:

NotFoundobjective_id is not found

Raise:

NullArgumentid or objective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.get_parent_objective_ids(objective_id)

Gets the parent Ids of the given objective.

Parameters:objective_id (osid.id.Id) – the Id of an objective
Returns:the parent Ids of the objective
Return type:osid.id.IdList
Raise:NotFoundobjective_id is not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_parent_objectives(objective_id)

Gets the parents of the given objective.

Parameters:objective_id (osid.id.Id) – the Id of an objective
Returns:the parents of the objective
Return type:osid.learning.ObjectiveList
Raise:NotFoundobjective_id is not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.is_ancestor_of_objective(id_, objective_id)

Tests if an Id is an ancestor of an objective.

Parameters:
  • id (osid.id.Id) – an Id
  • objective_id (osid.id.Id) – the Id of an objective
Returns:

true if this id is an ancestor of objective_id, false otherwise

Return type:

boolean

Raise:

NotFoundobjective_id is not found

Raise:

NullArgumentid or objective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.has_child_objectives(objective_id)

Tests if an objective has any children.

Parameters:objective_id (osid.id.Id) – the Id of an objective
Returns:true if the objective_id has children, false otherwise
Return type:boolean
Raise:NotFoundobjective_id is not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.is_child_of_objective(id_, objective_id)

Tests if an objective is a direct child of another.

Parameters:
  • id (osid.id.Id) – an Id
  • objective_id (osid.id.Id) – the Id of an objective
Returns:

true if the id is a child of objective_id, false otherwise

Return type:

boolean

Raise:

NotFoundobjective_id is not found

Raise:

NullArgumentid or objective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.get_child_objective_ids(objective_id)

Gets the child Ids of the given objective.

Parameters:objective_id (osid.id.Id) – the Id to query
Returns:the children of the objective
Return type:osid.id.IdList
Raise:NotFoundobjective_id is not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_child_objectives(objective_id)

Gets the children of the given objective.

Parameters:objective_id (osid.id.Id) – the Id to query
Returns:the children of the objective
Return type:osid.learning.ObjectiveList
Raise:NotFoundobjective_id is not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.is_descendant_of_objective(id_, objective_id)

Tests if an Id is a descendant of an objective.

Parameters:
  • id (osid.id.Id) – an Id
  • objective_id (osid.id.Id) – the Id of an objective
Returns:

true if the id is a descendant of the objective_id, false otherwise

Return type:

boolean

Raise:

NotFoundobjective_id is not found

Raise:

NullArgumentid or objective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.get_objective_node_ids(objective_id, ancestor_levels, descendant_levels, include_siblings)

Gets a portion of the hierarchy for the given objective.

Parameters:
  • objective_id (osid.id.Id) – the Id to query
  • ancestor_levels (cardinal) – the maximum number of ancestor levels to include. A value of 0 returns no parents in the node.
  • descendant_levels (cardinal) – the maximum number of descendant levels to include. A value of 0 returns no children in the node.
  • include_siblings (boolean) – true to include the siblings of the given node, false to omit the siblings
Returns:

a catalog node

Return type:

osid.hierarchy.Node

Raise:

NotFoundobjective_id not found

Raise:

NullArgumentobjective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.get_objective_nodes(objective_id, ancestor_levels, descendant_levels, include_siblings)

Gets a portion of the hierarchy for the given objective.

Parameters:
  • objective_id (osid.id.Id) – the Id to query
  • ancestor_levels (cardinal) – the maximum number of ancestor levels to include. A value of 0 returns no parents in the node.
  • descendant_levels (cardinal) – the maximum number of descendant levels to include. A value of 0 returns no children in the node.
  • include_siblings (boolean) – true to include the siblings of the given node, false to omit the siblings
Returns:

an objective node

Return type:

osid.learning.ObjectiveNode

Raise:

NotFoundobjective_id not found

Raise:

NullArgumentobjective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

Objective Hierarchy Design Methods

ObjectiveBank.objective_hierarchy_id

Gets the hierarchy Id associated with this session.

Returns:the hierarchy Id associated with this session
Return type:osid.id.Id
ObjectiveBank.objective_hierarchy

Gets the hierarchy associated with this session.

Returns:the hierarchy associated with this session
Return type:osid.hierarchy.Hierarchy
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.can_modify_objective_hierarchy()

Tests if this user can change the hierarchy. A return of true does not guarantee successful authorization. A return of false indicates that it is known performing any update will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer these operations to an unauthorized user.

Returns:false if changing this hierarchy is not authorized, true otherwise
Return type:boolean
ObjectiveBank.add_root_objective(objective_id)

Adds a root objective.

Parameters:objective_id (osid.id.Id) – the Id of an objective
Raise:AlreadyExistsobjective_id is already in hierarchy
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.remove_root_objective(objective_id)

Removes a root objective.

Parameters:objective_id (osid.id.Id) – the Id of an objective
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.add_child_objective(objective_id, child_id)

Adds a child to an objective.

Parameters:
  • objective_id (osid.id.Id) – the Id of an objective
  • child_id (osid.id.Id) – the Id of the new child
Raise:

AlreadyExistsobjective_id is already a parent of child_id

Raise:

NotFoundobjective_id or child_id not found

Raise:

NullArgumentobjective_id or child_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.remove_child_objective(objective_id, child_id)

Removes a child from an objective.

Parameters:
  • objective_id (osid.id.Id) – the Id of an objective
  • child_id (osid.id.Id) – the Id of the new child
Raise:

NotFoundobjective_id not a parent of child_id

Raise:

NullArgumentobjective_id or child_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.remove_child_objectives(objective_id)

Removes all children from an objective.

Parameters:objective_id (osid.id.Id) – the Id of an objective
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

Objective Sequencing Methods

ObjectiveBank.objective_hierarchy_id

Gets the hierarchy Id associated with this session.

Returns:the hierarchy Id associated with this session
Return type:osid.id.Id
ObjectiveBank.objective_hierarchy

Gets the hierarchy associated with this session.

Returns:the hierarchy associated with this session
Return type:osid.hierarchy.Hierarchy
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.can_sequence_objectives()

Tests if this user can sequence objectives. A return of true does not guarantee successful authorization. A return of false indicates that it is known performing any update will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer these operations to an unauthorized user.

Returns:false if sequencing objectives is not authorized, true otherwise
Return type:boolean
ObjectiveBank.move_objective_ahead(parent_objective_id, reference_objective_id, objective_id)

Moves an objective ahead of a refrence objective under the given parent.

Parameters:
  • parent_objective_id (osid.id.Id) – the Id of the parent objective
  • reference_objective_id (osid.id.Id) – the Id of the objective
  • objective_id (osid.id.Id) – the Id of the objective to move ahead of reference_objective_id
Raise:

NotFoundparent_objective_id, reference_objective_id, or objective_id not found, or reference_objective_id or objective_id is not a child of parent_objective_id

Raise:

NullArgumentparent_objective_id, reference_objective_id, or id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.move_objective_behind(parent_objective_id, reference_objective_id, objective_id)

Moves an objective behind a refrence objective under the given parent.

Parameters:
  • parent_objective_id (osid.id.Id) – the Id of the parent objective
  • reference_objective_id (osid.id.Id) – the Id of the objective
  • objective_id (osid.id.Id) – the Id of the objective to move behind reference_objective_id
Raise:

NotFoundparent_objective_id, reference_objective_id, or objective_id not found, or reference_objective_id or objective_id is not a child of parent_objective_id

Raise:

NullArgumentparent_objective_id, reference_objective_id, or id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.sequence_objectives(parent_objective_id, objective_ids)

Sequences a set of objectives under a parent.

Parameters:
  • parent_objective_id (osid.id.Id) – the Id of the parent objective
  • objective_ids (osid.id.Id[]) – the Id of the objectives
Raise:

NotFoundparent_id or an objective_id not found, or an objective_id is not a child of parent_objective_id

Raise:

NullArgumentparen_objectivet_id or objective_ids is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

Objective Requisite Methods

ObjectiveBank.can_lookup_objective_prerequisites()

Tests if this user can perform Objective lookups. 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 PermissionDenied. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Returns:false if lookup methods are not authorized, true otherwise
Return type:boolean
ObjectiveBank.use_comparative_objective_view()

The returns from the lookup 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.

ObjectiveBank.use_plenary_objective_view()

A complete view of the Objective 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.

ObjectiveBank.use_federated_objective_bank_view()

Federates the view for methods in this session. A federated view will include objectives in objective banks which are children of this objective bank in the objective bank hierarchy.

ObjectiveBank.use_isolated_objective_bank_view()

Isolates the view for methods in this session. An isolated view restricts lookups to this objective bank only.

ObjectiveBank.get_requisite_objectives(objective_id)

Gets a list of Objectives that are the immediate requisites for the given Objective. In plenary mode, the returned list contains all of the immediate requisites, or an error results if an Objective is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:objective_id (osid.id.Id) – Id of the Objective
Returns:the returned requisite Objectives
Return type:osid.learning.ObjectiveList
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_all_requisite_objectives(objective_id)

Gets a list of Objectives that are the requisites for the given Objective including the requistes of the requisites, and so on. In plenary mode, the returned list contains all of the immediate requisites, or an error results if an Objective is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:objective_id (osid.id.Id) – Id of the Objective
Returns:the returned Objective list
Return type:osid.learning.ObjectiveList
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_dependent_objectives(objective_id)

Gets a list of Objectives that require the given Objective. In plenary mode, the returned list contains all of the immediate requisites, or an error results if an Objective is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:objective_id (osid.id.Id) – Id of the Objective
Returns:the returned Objective list
Return type:osid.learning.ObjectiveList
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.is_objective_required(objective_id, required_objective_id)

Tests if an objective is required before proceeding with an objective. One objective may indirectly depend on another objective by way of one or more other objectives.

Parameters:
  • objective_id (osid.id.Id) – Id of the dependent Objective
  • required_objective_id (osid.id.Id) – Id of the required Objective
Returns:

true if objective_id depends on required_objective_id, false otherwise

Return type:

boolean

Raise:

NotFoundobjective_id not found

Raise:

NullArgumentobjective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.get_equivalent_objectives(objective_id)

Gets a list of Objectives that are equivalent to the given Objective for the purpose of requisites. An equivalent objective can satisfy the given objective. In plenary mode, the returned list contains all of the equivalent requisites, or an error results if an Objective is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:objective_id (osid.id.Id) – Id of the Objective
Returns:the returned Objective list
Return type:osid.learning.ObjectiveList
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

Objective Requisite Assignment Methods

ObjectiveBank.can_assign_requisites()

Tests if this user can manage objective requisites. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returns:false if mapping is not authorized, true otherwise
Return type:boolean
ObjectiveBank.assign_objective_requisite(objective_id, requisite_objective_id)

Creates a requirement dependency between two Objectives.

Parameters:
  • objective_id (osid.id.Id) – the Id of the dependent Objective
  • requisite_objective_id (osid.id.Id) – the Id of the required Objective
Raise:

AlreadyExistsobjective_id already mapped to requisite_objective_id

Raise:

NotFoundobjective_id or requisite_objective_id not found

Raise:

NullArgumentobjective_id or requisite_objective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.unassign_objective_requisite(objective_id, requisite_objective_id)

Removes an Objective requisite from an Objective.

Parameters:
  • objective_id (osid.id.Id) – the Id of the Objective
  • requisite_objective_id (osid.id.Id) – the Id of the required Objective
Raise:

NotFoundobjective_id or requisite_objective_id not found or objective_id not mapped to requisite_objective_id

Raise:

NullArgumentobjective_id or requisite_objective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.assign_equivalent_objective(objective_id, equivalent_objective_id)

Makes an objective equivalent to another objective for the purposes of satisfying a requisite.

Parameters:
  • objective_id (osid.id.Id) – the Id of the principal Objective
  • equivalent_objective_id (osid.id.Id) – the Id of the equivalent Objective
Raise:

AlreadyExistsobjective_id already mapped to equiavelnt_objective_id

Raise:

NotFoundobjective_id or equivalent_objective_id not found

Raise:

NullArgumentobjective_id or equivalent_objective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

ObjectiveBank.unassign_equivalent_objective(objective_id, equivalent_objective_id)

Removes an Objective requisite from an Objective.

Parameters:
  • objective_id (osid.id.Id) – the Id of the principal Objective
  • equivalent_objective_id (osid.id.Id) – the Id of the equivalent Objective
Raise:

NotFoundobjective_id or equivalent_objective_id not found or objective_id is already equivalent to equivalent_objective_id

Raise:

NullArgumentobjective_id or equivalent_objective_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

Activity Lookup Methods

ObjectiveBank.can_lookup_activities()

Tests if this user can perform Activity lookups. 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 PermissionDenied. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Returns:false if lookup methods are not authorized, true otherwise
Return type:boolean
ObjectiveBank.use_comparative_activity_view()

The returns from the lookup 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.

ObjectiveBank.use_plenary_activity_view()

A complete view of the Activity 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.

ObjectiveBank.use_federated_objective_bank_view()

Federates the view for methods in this session. A federated view will include objectives in objective banks which are children of this objective bank in the objective bank hierarchy.

ObjectiveBank.use_isolated_objective_bank_view()

Isolates the view for methods in this session. An isolated view restricts lookups to this objective bank only.

ObjectiveBank.get_activity(activity_id)

Gets the Activity specified by its Id. In plenary mode, the exact Id is found or a NotFound results. Otherwise, the returned Activity may have a different Id than requested, such as the case where a duplicate Id was assigned to a Activity and retained for compatibility.

Parameters:activity_id (osid.id.Id) – Id of the Activity
Returns:the activity
Return type:osid.learning.Activity
Raise:NotFoundactivity_id not found
Raise:NullArgumentactivity_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_activities_by_ids(activity_ids)

Gets an ActivityList corresponding to the given IdList. In plenary mode, the returned list contains all of the activities specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Activities may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:activity_ids (osid.id.IdList) – the list of Ids to retrieve
Returns:the returned Activity list
Return type:osid.learning.ActivityList
Raise:NotFound – an Id was not found
Raise:NullArgumentactivity_ids is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_activities_by_genus_type(activity_genus_type)

Gets an ActivityList corresponding to the given activity genus Type which does not include activities of genus types derived from the specified Type. In plenary mode, the returned list contains all known activities or an error results. Otherwise, the returned list may contain only those activities that are accessible through this session.

Parameters:activity_genus_type (osid.type.Type) – an activity genus type
Returns:the returned Activity list
Return type:osid.learning.ActivityList
Raise:NullArgumentactivity_genus_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_activities_by_parent_genus_type(activity_genus_type)

Gets an ActivityList corresponding to the given activity genus Type and include any additional activity with genus types derived from the specified Type. In plenary mode, the returned list contains all known activities or an error results. Otherwise, the returned list may contain only those activities that are accessible through this session.

Parameters:activity_genus_type (osid.type.Type) – an activity genus type
Returns:the returned Activity list
Return type:osid.learning.ActivityList
Raise:NullArgumentactivity_genus_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_activities_by_record_type(activity_record_type)

Gets a ActivityList containing the given activity record Type. In plenary mode, the returned list contains all known activities or an error results. Otherwise, the returned list may contain only those activities that are accessible through this session.

Parameters:activity_record_type (osid.type.Type) – an activity record type
Returns:the returned Activity list
Return type:osid.learning.ActivityList
Raise:NullArgumentactivity_record_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_activities_for_objective(objective_id)

Gets the activities for the given objective. In plenary mode, the returned list contains all of the activities mapped to the objective Id or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Activities may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:objective_id (osid.id.Id) – Id of the Objective
Returns:list of enrollments
Return type:osid.learning.ActivityList
Raise:NotFoundobjective_id not found
Raise:NullArgumentobjective_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_activities_for_objectives(objective_ids)

Gets the activities for the given objectives. In plenary mode, the returned list contains all of the activities specified in the objective Id list, in the order of the list, including duplicates, or an error results if a course offering Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Activities may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:objective_ids (osid.id.IdList) – list of objective Ids
Returns:list of activities
Return type:osid.learning.ActivityList
Raise:NotFound – an objective_id not found
Raise:NullArgumentobjective_id_list is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_activities_by_asset(asset_id)

Gets the activities for the given asset. In plenary mode, the returned list contains all of the activities mapped to the asset Id or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Activities may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:asset_id (osid.id.Id) – Id of an Asset
Returns:list of activities
Return type:osid.learning.ActivityList
Raise:NotFoundasset_id not found
Raise:NullArgumentasset_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.get_activities_by_assets(asset_ids)

Gets the activities for the given asset. In plenary mode, the returned list contains all of the activities mapped to the asset Id or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Activities may be omitted from the list and may present the elements in any order including returning a unique set.

Parameters:asset_ids (osid.id.IdList) – Ids of Assets
Returns:list of activities
Return type:osid.learning.ActivityList
Raise:NotFound – an asset_id not found
Raise:NullArgumentasset_id_list is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.activities

Gets all Activities. In plenary mode, the returned list contains all known activites or an error results. Otherwise, the returned list may contain only those activities that are accessible through this session.

Returns:a ActivityList
Return type:osid.learning.ActivityList
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

Activity Admin Methods

ObjectiveBank.can_create_activities()

Tests if this user can create Activities. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating an Activity will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.

Returns:false if Activity creation is not authorized, true otherwise
Return type:boolean
ObjectiveBank.can_create_activity_with_record_types(activity_record_types)

Tests if this user can create a single Activity using the desired record types. While LearningManager.getActivityRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific Activity. Providing an empty array tests if an Activity can be created with no records.

Parameters:activity_record_types (osid.type.Type[]) – array of activity record types
Returns:true if Activity creation using the specified record Types is supported, false otherwise
Return type:boolean
Raise:NullArgumentactivity_record_types is null
ObjectiveBank.get_activity_form_for_create(objective_id, activity_record_types)

Gets the activity form for creating new activities. A new form should be requested for each create transaction.

Parameters:
  • objective_id (osid.id.Id) – the Id of the Objective
  • activity_record_types (osid.type.Type[]) – array of activity record types
Returns:

the activity form

Return type:

osid.learning.ActivityForm

Raise:

NotFoundobjective_id is not found

Raise:

NullArgumentobjective_id or activity_record_types is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

Raise:

Unsupported – unable to get form for requested record types

ObjectiveBank.create_activity(activity_form)

Creates a new Activity.

Parameters:activity_form (osid.learning.ActivityForm) – the form for this Activity
Returns:the new Activity
Return type:osid.learning.Activity
Raise:IllegalStateactivity_form already used in a create transaction
Raise:InvalidArgument – one or more of the form elements is invalid
Raise:NullArgumentactivity_form is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
Raise:Unsupportedactivity_form did not originate from get_activity_form_for_create()
ObjectiveBank.can_update_activities()

Tests if this user can update Activities. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating an Activity will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.

Returns:false if activity modification is not authorized, true otherwise
Return type:boolean
ObjectiveBank.get_activity_form_for_update(activity_id)

Gets the activity form for updating an existing activity. A new activity form should be requested for each update transaction.

Parameters:activity_id (osid.id.Id) – the Id of the Activity
Returns:the activity form
Return type:osid.learning.ActivityForm
Raise:NotFoundactivity_id is not found
Raise:NullArgumentactivity_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.update_activity(activity_form)

Updates an existing activity,.

Parameters:activity_form (osid.learning.ActivityForm) – the form containing the elements to be updated
Raise:IllegalStateactivity_form already used in an update transaction
Raise:InvalidArgument – the form contains an invalid value
Raise:NullArgumentactivity_form is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
Raise:Unsupportedactivity_form did not originate from get_activity_form_for_update()
ObjectiveBank.can_delete_activities()

Tests if this user can delete Activities. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting an Activity will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.

Returns:false if Activity deletion is not authorized, true otherwise
Return type:boolean
ObjectiveBank.delete_activity(activity_id)

Deletes the Activity identified by the given Id.

Parameters:activity_id (osid.id.Id) – the Id of the Activity to delete
Raise:NotFound – an Activity was not found identified by the given Id
Raise:NullArgumentactivity_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
ObjectiveBank.can_manage_activity_aliases()

Tests if this user can manage Id aliases for activities. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in a PermissionDenied. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.

Returns:false if Activity aliasing is not authorized, true otherwise
Return type:boolean
ObjectiveBank.alias_activity(activity_id, alias_id)

Adds an Id to an Activity for the purpose of creating compatibility. The primary Id of the Activity is determined by the provider. The new Id performs as an alias to the primary Id. If the alias is a pointer to another activity, it is reassigned to the given activity Id.

Parameters:
  • activity_id (osid.id.Id) – the Id of an Activity
  • alias_id (osid.id.Id) – the alias Id
Raise:

AlreadyExistsalias_id is already assigned

Raise:

NotFoundactivity_id not found

Raise:

NullArgumentactivity_id or alias_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure