Learning Open Service Interface Definitions learning version 3.0.0

The Learning OSID manages learning objectives. A learning Objective describes measurable learning goals.

Objectives

Objectives describe measurable learning goals. A learning objective may be measured by a related Assesment. Objectives may be mapped to levels, A level is represented by a Grade which is used to indicate a grade level or level of difficulty.

Objectives are hierarchical. An Objective with children represents an objective that is inclusive of all its children. For example, an Objective that represents learning in arithmetic may be composed of objectives that represent learning in both addition and subtraction.

Objectives may also have requisites. A requisite objective is one that should be achieved before an objective is attempted.

Activities

An Activity describes actions that one can do to meet a learning objective. An Activity includes a list of Assets to read or watch, or a list of Courses to take, or a list of learning Assessments to practice. An Activity may also represent other learning activities such as taking a course or practicing an instrument. An Activity is specific to an Objective where the reusability is achieved based on what the Activity relates.

Proficiencies

A Proficiency is an OsidRelationship measuring the competence of a Resource with respect to an Objective.

Objective Bank Cataloging

Objectives, Activities, and Proficiencies can be organized into hierarchical ObjectiveBanks for the purposes of categorization and federation.

Concept Mapping

A concept can be modeled as a learning Objective without any related Assessment or Activities. In this scenario, an Objective looks much like the simpler Subject in the Ontology OSID. The Ontology OSID is constrained to qualifying concepts while the relations found in an Objective allow for the quantification of the learning concept and providing paths to self-learning.

The Topology OSID may also be used to construct and view a concept map. While a Topology OSID Provider may be adapted from a Learning OSID or an Ontology OSID, the topology for either would be interpreted from a multi-parented hierarchy of the Objectives and Subjects respectively.

Courses

The Learning OSID may be used in conjunction with the Course OSID to identify dsired learning oitcomes from a course or to align the course activities and syllabus with stated learning objectives. The Course OSID describes learning from a structured curriculum management point of view where the Learning OSID and allows for various objectives to be combined and related without any regard to a prescribed curriculum.

Sub Packages

The Learning OSID contains a Learning Batch OSID for bulk management of Objectives, Activities, and Proficiencies .

Service Managers

Learning Profile

class dlkit.services.learning.LearningProfile

Bases: dlkit.osid.managers.OsidProfile

The LearningProfile describes the interoperability among learning services.

supports_objective_lookup()

Tests if an objective lookup service is supported.

An objective lookup service defines methods to access objectives.

Returns:true if objective lookup is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_query()

Tests if an objective query service is supported.

Returns:true if objective query is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_admin()

Tests if an objective administrative service is supported.

Returns:true if objective admin is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_hierarchy()

Tests if an objective hierarchy traversal is supported.

Returns:true if an objective hierarchy traversal is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_hierarchy_design()

Tests if an objective hierarchy design is supported.

Returns:true if an objective hierarchy design is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_sequencing()

Tests if an objective sequencing design is supported.

Returns:true if objective sequencing is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_objective_bank()

Tests if an objective to objective bank lookup session is available.

Returns:true if objective objective bank lookup session is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_objective_bank_assignment()

Tests if an objective to objective bank assignment session is available.

Returns:true if objective objective bank assignment is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_requisite()

Tests if an objective requisite service is supported.

Returns:true if objective requisite service is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_requisite_assignment()

Tests if an objective requisite assignment service is supported.

Returns:true if objective requisite assignment service is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_activity_lookup()

Tests if an activity lookup service is supported.

Returns:true if activity lookup is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_activity_admin()

Tests if an activity administrative service is supported.

Returns:true if activity admin is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_activity_objective_bank()

Tests if an activity to objective bank lookup session is available.

Returns:true if activity objective bank lookup session is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_activity_objective_bank_assignment()

Tests if an activity to objective bank assignment session is available.

Returns:true if activity objective bank assignment is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_proficiency_lookup()

Tests if looking up proficiencies is supported.

Returns:true if proficiency lookup is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_proficiency_query()

Tests if querying proficiencies is supported.

Returns:true if proficiency query is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_proficiency_admin()

Tests if proficiencyadministrative service is supported.

Returns:true if proficiency administration is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_bank_lookup()

Tests if an objective bank lookup service is supported.

Returns:true if objective bank lookup is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_bank_admin()

Tests if an objective bank administrative service is supported.

Returns:true if objective bank admin is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_bank_hierarchy()

Tests if an objective bank hierarchy traversal is supported.

Returns:true if an objective bank hierarchy traversal is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_objective_bank_hierarchy_design()

Tests if objective bank hierarchy design is supported.

Returns:true if an objective bank hierarchy design is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

objective_record_types

Gets the supported Objective record types.

Returns:a list containing the supported Objective record types
Return type:osid.type.TypeList

compliance: mandatory – This method must be implemented.

objective_search_record_types

Gets the supported Objective search record types.

Returns:a list containing the supported Objective search record types
Return type:osid.type.TypeList

compliance: mandatory – This method must be implemented.

activity_record_types

Gets the supported Activity record types.

Returns:a list containing the supported Activity record types
Return type:osid.type.TypeList

compliance: mandatory – This method must be implemented.

activity_search_record_types

Gets the supported Activity search record types.

Returns:a list containing the supported Activity search record types
Return type:osid.type.TypeList

compliance: mandatory – This method must be implemented.

proficiency_record_types

Gets the supported Proficiency record types.

Returns:a list containing the supported Proficiency record types
Return type:osid.type.TypeList

compliance: mandatory – This method must be implemented.

proficiency_search_record_types

Gets the supported Proficiency search types.

Returns:a list containing the supported Proficiency search types
Return type:osid.type.TypeList

compliance: mandatory – This method must be implemented.

objective_bank_record_types

Gets the supported ObjectiveBank record types.

Returns:a list containing the supported ObjectiveBank record types
Return type:osid.type.TypeList

compliance: mandatory – This method must be implemented.

objective_bank_search_record_types

Gets the supported objective bank search record types.

Returns:a list containing the supported ObjectiveBank search record types
Return type:osid.type.TypeList

compliance: mandatory – This method must be implemented.

Learning Manager

class dlkit.services.learning.LearningManager(proxy=None)

Bases: dlkit.osid.managers.OsidManager, dlkit.osid.sessions.OsidSession, dlkit.services.learning.LearningProfile

The learning manager provides access to learning sessions and provides interoperability tests for various aspects of this service.

The sessions included in this manager are:

  • ObjectiveLookupSession: a session to look up objectives
  • ObjectiveLookupSession: a session to query objectives None
  • ObjectiveSearchSession: a session to search objectives
  • ObjectiveAdminSession: a session to create, modify and delete objectives None
  • ObjectiveNotificationSession: a session to receive messages pertaining to objective ```` changes
  • ObjectiveHierarchySession: a session to traverse objective hierarchies
  • ObjectiveHierarchyDesignSession: a session to design objective hierarchies
  • ObjectiveSequencingSession: a session to sequence objectives
  • ObjectiveObjectiveBankSession: a session for retriieving objective and objective bank mappings
  • ObjectiveObjectiveBankAssignmentSession: a session for managing objective and objective bank mappings
  • ObjectiveSmartObjectiveBankSession: a session for managing dynamic objective banks
  • ObjectiveRequisiteSession: a session to examine objective requisites
  • ObjectiveRequisiteAssignmentSession: a session to manage objective requisites
  • ActivityLookupSession: a session to look up activities
  • ActivityQuerySession: a session to query activities None
  • ActivitySearchSession: a session to search activities
  • ActivityAdminSession: a session to create, modify and delete activities None
  • ActivityNotificationSession: a session to receive messages pertaining to activity ```` changes
  • ActivityObjectiveBankSession: a session for retriieving activity and objective bank mappings
  • ActivityObjectiveBankAssignmentSession: a session for managing activity and objective bank mappings
  • ActivitySmartObjectiveBankSession: a session for managing dynamic objective banks of activities
  • ProficiencyLookupSession: a session to retrieve proficiencies
  • ProficiencyQuerySession: a session to query proficiencies
  • ProficiencySearchSession: a session to search for proficiencies
  • ProficiencyAdminSession: a session to create, update, and delete proficiencies
  • ProficiencyNotificationSession: a session to receive notifications pertaining to proficiency changes
  • ProficiencyObjectiveBankSession: a session to look up proficiency to objective bank mappings
  • ProficiencyObjectiveBankAssignmentSession: a session to manage proficiency to objective bank mappings
  • ProficiencySmartObjectiveBankSession: a session to manage smart objective banks of proficiencies
  • MyLearningPathSession: a session to examine learning paths of objectives
  • LearningPathSession: a session to examine learning paths of objectives
  • ObjectiveBankLookupSession: a session to lookup objective banks
  • ObjectiveBankQuerySession: a session to query objective banks
  • ObjectiveBankSearchSession : a session to search objective banks
  • ObjectiveBankAdminSession : a session to create, modify and delete objective banks
  • ObjectiveBankNotificationSession : a session to receive messages pertaining to objective bank changes
  • ObjectiveBankHierarchySession: a session to traverse the objective bank hierarchy
  • ObjectiveBankHierarchyDesignSession: a session to manage the objective bank hierarchy
learning_batch_manager

Gets a LearningBatchManager.

Returns:a LearningBatchManager
Return type:osid.learning.batch.LearningBatchManager
Raise:OperationFailed – unable to complete request
Raise:Unimplementedsupports_learning_batch() is false

compliance: optional – This method must be implemented if ``supports_learning_batch()`` is true.

Objective Bank Lookup Methods

LearningManager.can_lookup_objective_banks()

Tests if this user can perform ObjectiveBank 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

compliance: mandatory – This method must be implemented.

LearningManager.use_comparative_objective_bank_view()

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

compliance: mandatory – This method is must be implemented.

LearningManager.use_plenary_objective_bank_view()

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

compliance: mandatory – This method is must be implemented.

LearningManager.get_objective_bank(objective_bank_id)

Gets the ObjectiveBank specified by its Id.

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

Parameters:objective_bank_id (osid.id.Id) – Id of the ObjectiveBank
Returns:the objective bank
Return type:osid.learning.ObjectiveBank
Raise:NotFoundobjective_bank_id not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method is must be implemented.

LearningManager.get_objective_banks_by_ids(objective_bank_ids)

Gets a ObjectiveBankList corresponding to the given IdList.

In plenary mode, the returned list contains all of the objective banks 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 ObjectiveBank objects may be omitted from the list and may present the elements in any order including returning a unique set.

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

compliance: mandatory – This method must be implemented.

LearningManager.get_objective_banks_by_genus_type(objective_bank_genus_type)

Gets a ObjectiveBankList corresponding to the given objective bank genus Type which does not include objective banks of types derived from the specified Type.

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

Parameters:objective_bank_genus_type (osid.type.Type) – an objective bank genus type
Returns:the returned ObjectiveBank list
Return type:osid.learning.ObjectiveBankList
Raise:NullArgumentobjective_bank_genus_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.get_objective_banks_by_parent_genus_type(objective_bank_genus_type)

Gets a ObjectiveBankList corresponding to the given objective bank genus Type and include any additional objective banks with genus types derived from the specified Type.

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

Parameters:objective_bank_genus_type (osid.type.Type) – an objective bank genus type
Returns:the returned ObjectiveBank list
Return type:osid.learning.ObjectiveBankList
Raise:NullArgumentobjective_bank_genus_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.get_objective_banks_by_record_type(objective_bank_record_type)

Gets a ObjectiveBankList containing the given objective bank record Type.

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

Parameters:objective_bank_record_type (osid.type.Type) – an objective bank record type
Returns:the returned ObjectiveBank list
Return type:osid.learning.ObjectiveBankList
Raise:NullArgumentobjective_bank_record_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.get_objective_banks_by_provider(resource_id)

Gets a ObjectiveBankList for the given provider.

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

Parameters:resource_id (osid.id.Id) – a resource Id
Returns:the returned ObjectiveBank list
Return type:osid.learning.ObjectiveBankList
Raise:NullArgumentresource_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.objective_banks

Gets all ObjectiveBanks.

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

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

compliance: mandatory – This method must be implemented.

Objective Bank Admin Methods

LearningManager.can_create_objective_banks()

Tests if this user can create ObjectiveBanks.

A return of true does not guarantee successful authorization. A return of false indicates that it is known creating an ObjectiveBank will result in a PermissionDenied. This is intended as a hint to an application that may not wish to offer create operations to unauthorized users.

Returns:false if ObjectiveBank creation is not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

LearningManager.can_create_objective_bank_with_record_types(objective_bank_record_types)

Tests if this user can create a single ObjectiveBank using the desired record types.

While LearningManager.getObjectiveBankRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific ObjectiveBank. Providing an empty array tests if an ObjectiveBank can be created with no records.

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

compliance: mandatory – This method must be implemented.

LearningManager.get_objective_bank_form_for_create(objective_bank_record_types)

Gets the objective bank form for creating new objective banks.

A new form should be requested for each create transaction.

Parameters:objective_bank_record_types (osid.type.Type[]) – array of objective bank record types
Returns:the objective bank form
Return type:osid.learning.ObjectiveBankForm
Raise:NullArgumentobjective_bank_record_types is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
Raise:Unsupported – unable to get form for requested record types.

compliance: mandatory – This method must be implemented.

LearningManager.create_objective_bank(objective_bank_form)

Creates a new ObjectiveBank.

Parameters:objective_bank_form (osid.learning.ObjectiveBankForm) – the form for this ObjectiveBank
Returns:the new ObjectiveBank
Return type:osid.learning.ObjectiveBank
Raise:IllegalStateobjective_bank_form already used in a create transaction
Raise:InvalidArgument – one or more of the form elements is invalid
Raise:NullArgumentobjective_bank_form is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
Raise:Unsupportedobjective_bank_form did not originate from get_objective_bank_form_for_create()

compliance: mandatory – This method must be implemented.

LearningManager.can_update_objective_banks()

Tests if this user can update ObjectiveBanks.

A return of true does not guarantee successful authorization. A return of false indicates that it is known updating an ObjectiveBank will result in a PermissionDenied. This is intended as a hint to an application that may not wish to offer update operations to unauthorized users.

Returns:false if ObjectiveBank modification is not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

LearningManager.get_objective_bank_form_for_update(objective_bank_id)

Gets the objective bank form for updating an existing objective bank.

A new objective bank form should be requested for each update transaction.

Parameters:objective_bank_id (osid.id.Id) – the Id of the ObjectiveBank
Returns:the objective bank form
Return type:osid.learning.ObjectiveBankForm
Raise:NotFoundobjective_bank_id is not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.update_objective_bank(objective_bank_form)

Updates an existing objective bank.

Parameters:objective_bank_form (osid.learning.ObjectiveBankForm) – the form containing the elements to be updated
Raise:IllegalStateobjective_bank_form already used in an update transaction
Raise:InvalidArgument – the form contains an invalid value
Raise:NullArgumentobjective_bank_form is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure
Raise:Unsupportedobjective_bank_form did not originate from get_objective_bank_form_for_update()

compliance: mandatory – This method must be implemented.

LearningManager.can_delete_objective_banks()

Tests if this user can delete objective banks.

A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting an ObjectiveBank will result in a PermissionDenied. This is intended as a hint to an application that may not wish to offer delete operations to unauthorized users.

Returns:false if ObjectiveBank deletion is not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

LearningManager.delete_objective_bank(objective_bank_id)

Deletes an ObjectiveBank.

Parameters:objective_bank_id (osid.id.Id) – the Id of the ObjectiveBank to remove
Raise:NotFoundobjective_bank_id not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.can_manage_objective_bank_aliases()

Tests if this user can manage Id aliases for ObjectiveBanks.

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 ObjectiveBank aliasing is not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

LearningManager.alias_objective_bank(objective_bank_id, alias_id)

Adds an Id to an ObjectiveBank for the purpose of creating compatibility.

The primary Id of the ObjectiveBank 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 bank, it is reassigned to the given objective bank Id.

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

AlreadyExistsalias_id is already assigned

Raise:

NotFoundobjective_bank_id not found

Raise:

NullArgumentobjective_bank_id or alias_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

Objective Bank Hierarchy Methods

LearningManager.objective_bank_hierarchy_id

Gets the hierarchy Id associated with this session.

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

compliance: mandatory – This method must be implemented.

LearningManager.objective_bank_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

compliance: mandatory – This method must be implemented.

LearningManager.can_access_objective_bank_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

compliance: mandatory – This method must be implemented.

LearningManager.use_comparative_objective_bank_view()

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

compliance: mandatory – This method is must be implemented.

LearningManager.use_plenary_objective_bank_view()

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

compliance: mandatory – This method is must be implemented.

LearningManager.root_objective_bank_ids

Gets the root objective bank Ids in this hierarchy.

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

compliance: mandatory – This method must be implemented.

LearningManager.root_objective_banks

Gets the root objective banks in this objective bank hierarchy.

Returns:the root objective banks
Return type:osid.learning.ObjectiveBankList
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method is must be implemented.

LearningManager.has_parent_objective_banks(objective_bank_id)

Tests if the ObjectiveBank has any parents.

Parameters:objective_bank_id (osid.id.Id) – the Id of an objective bank
Returns:true if the objective bank has parents, false otherwise
Return type:boolean
Raise:NotFoundobjective_bank_id is not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.is_parent_of_objective_bank(id_, objective_bank_id)

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

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

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

Return type:

boolean

Raise:

NotFoundobjective_bank_id is not found

Raise:

NullArgumentid or objective_bank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented. implementation notes: If id not found return false.

LearningManager.get_parent_objective_bank_ids(objective_bank_id)

Gets the parent Ids of the given objective bank.

Parameters:objective_bank_id (osid.id.Id) – the Id of an objective bank
Returns:the parent Ids of the objective bank
Return type:osid.id.IdList
Raise:NotFoundobjective_bank_id is not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.get_parent_objective_banks(objective_bank_id)

Gets the parents of the given objective bank.

Parameters:objective_bank_id (osid.id.Id) – the Id of an objective bank
Returns:the parents of the objective bank
Return type:osid.learning.ObjectiveBankList
Raise:NotFoundobjective_bank_id is not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.is_ancestor_of_objective_bank(id_, objective_bank_id)

Tests if an Id is an ancestor of an objective bank.

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

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

Return type:

boolean

Raise:

NotFoundobjective_bank_id is not found

Raise:

NullArgumentid or objective_bank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented. implementation notes: If id not found return false.

LearningManager.has_child_objective_banks(objective_bank_id)

Tests if an objective bank has any children.

Parameters:objective_bank_id (osid.id.Id) – the Id of an objective bank
Returns:true if the objective_bank_id has children, false otherwise
Return type:boolean
Raise:NotFoundobjective_bank_id is not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.is_child_of_objective_bank(id_, objective_bank_id)

Tests if an objective bank is a direct child of another.

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

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

Return type:

boolean

Raise:

NotFoundobjective_bank_id is not found

Raise:

NullArgumentid or objective_bank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented. implementation notes: If id not found return false.

LearningManager.get_child_objective_bank_ids(objective_bank_id)

Gets the child Ids of the given objective bank.

Parameters:objective_bank_id (osid.id.Id) – the Id to query
Returns:the children of the objective bank
Return type:osid.id.IdList
Raise:NotFoundobjective_bank_id is not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.get_child_objective_banks(objective_bank_id)

Gets the children of the given objective bank.

Parameters:objective_bank_id (osid.id.Id) – the Id to query
Returns:the children of the objective bank
Return type:osid.learning.ObjectiveBankList
Raise:NotFoundobjective_bank_id is not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.is_descendant_of_objective_bank(id_, objective_bank_id)

Tests if an Id is a descendant of an objective bank.

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

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

Return type:

boolean

Raise:

NotFoundobjective_bank_id is not found

Raise:

NullArgumentid or objective_bank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented. implementation notes: If id is not found return false.

LearningManager.get_objective_bank_node_ids(objective_bank_id, ancestor_levels, descendant_levels, include_siblings)

Gets a portion of the hierarchy for the given objective bank.

Parameters:
  • objective_bank_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_bank_id not found

Raise:

NullArgumentobjective_bank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.get_objective_bank_nodes(objective_bank_id, ancestor_levels, descendant_levels, include_siblings)

Gets a portion of the hierarchy for the given objective bank.

Parameters:
  • objective_bank_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 bank node

Return type:

osid.learning.ObjectiveBankNode

Raise:

NotFoundobjective_bank_id not found

Raise:

NullArgumentobjective_bank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

Objective Bank Hierarchy Design Methods

LearningManager.objective_bank_hierarchy_id

Gets the hierarchy Id associated with this session.

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

compliance: mandatory – This method must be implemented.

LearningManager.objective_bank_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

compliance: mandatory – This method must be implemented.

LearningManager.can_modify_objective_bank_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

compliance: mandatory – This method must be implemented.

LearningManager.add_root_objective_bank(objective_bank_id)

Adds a root objective bank.

Parameters:objective_bank_id (osid.id.Id) – the Id of an objective bank
Raise:AlreadyExistsobjective_bank_id is already in hierarchy
Raise:NotFoundobjective_bank_id not found
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.remove_root_objective_bank(objective_bank_id)

Removes a root objective bank.

Parameters:objective_bank_id (osid.id.Id) – the Id of an objective bank
Raise:NotFoundobjective_bank_id is not a root
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.add_child_objective_bank(objective_bank_id, child_id)

Adds a child to an objective bank.

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

AlreadyExistsobjective_bank_id is already a parent of child_id

Raise:

NotFoundobjective_bank_id or child_id not found

Raise:

NullArgumentobjective_bank_id or child_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.remove_child_objective_bank(objective_bank_id, child_id)

Removes a child from an objective bank.

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

NotFoundobjective_bank_id not a parent of child_id

Raise:

NullArgumentobjective_bank_id or child_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

LearningManager.remove_child_objective_banks(objective_bank_id)

Removes all children from an objective bank.

Parameters:objective_bank_id (osid.id.Id) – the Id of an objective bank
Raise:NotFoundobjective_bank_id not in hierarchy
Raise:NullArgumentobjective_bank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.