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.OsidProfileThe
LearningProfiledescribes 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: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_query()¶ Tests if an objective query service is supported.
Returns: trueif objective query is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_admin()¶ Tests if an objective administrative service is supported.
Returns: trueif objective admin is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_hierarchy()¶ Tests if an objective hierarchy traversal is supported.
Returns: trueif an objective hierarchy traversal is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_hierarchy_design()¶ Tests if an objective hierarchy design is supported.
Returns: trueif an objective hierarchy design is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_sequencing()¶ Tests if an objective sequencing design is supported.
Returns: trueif objective sequencing is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_objective_bank()¶ Tests if an objective to objective bank lookup session is available.
Returns: trueif objective objective bank lookup session is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_objective_bank_assignment()¶ Tests if an objective to objective bank assignment session is available.
Returns: trueif objective objective bank assignment is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_requisite()¶ Tests if an objective requisite service is supported.
Returns: trueif objective requisite service is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_requisite_assignment()¶ Tests if an objective requisite assignment service is supported.
Returns: trueif objective requisite assignment service is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_activity_lookup()¶ Tests if an activity lookup service is supported.
Returns: trueif activity lookup is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_activity_admin()¶ Tests if an activity administrative service is supported.
Returns: trueif activity admin is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_activity_objective_bank()¶ Tests if an activity to objective bank lookup session is available.
Returns: trueif activity objective bank lookup session is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_activity_objective_bank_assignment()¶ Tests if an activity to objective bank assignment session is available.
Returns: trueif activity objective bank assignment is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_proficiency_lookup()¶ Tests if looking up proficiencies is supported.
Returns: trueif proficiency lookup is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_proficiency_query()¶ Tests if querying proficiencies is supported.
Returns: trueif proficiency query is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_proficiency_admin()¶ Tests if proficiencyadministrative service is supported.
Returns: trueif proficiency administration is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_bank_lookup()¶ Tests if an objective bank lookup service is supported.
Returns: trueif objective bank lookup is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_bank_admin()¶ Tests if an objective bank administrative service is supported.
Returns: trueif objective bank admin is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_bank_hierarchy()¶ Tests if an objective bank hierarchy traversal is supported.
Returns: trueif an objective bank hierarchy traversal is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
supports_objective_bank_hierarchy_design()¶ Tests if objective bank hierarchy design is supported.
Returns: trueif an objective bank hierarchy design is supported,falseotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
-
objective_record_types¶ Gets the supported
Objectiverecord types.Returns: a list containing the supported Objectiverecord typesReturn type: osid.type.TypeListcompliance: mandatory – This method must be implemented.
-
objective_search_record_types¶ Gets the supported
Objectivesearch record types.Returns: a list containing the supported Objectivesearch record typesReturn type: osid.type.TypeListcompliance: mandatory – This method must be implemented.
-
activity_record_types¶ Gets the supported
Activityrecord types.Returns: a list containing the supported Activityrecord typesReturn type: osid.type.TypeListcompliance: mandatory – This method must be implemented.
-
activity_search_record_types¶ Gets the supported
Activitysearch record types.Returns: a list containing the supported Activitysearch record typesReturn type: osid.type.TypeListcompliance: mandatory – This method must be implemented.
-
proficiency_record_types¶ Gets the supported
Proficiencyrecord types.Returns: a list containing the supported Proficiencyrecord typesReturn type: osid.type.TypeListcompliance: mandatory – This method must be implemented.
-
proficiency_search_record_types¶ Gets the supported
Proficiencysearch types.Returns: a list containing the supported Proficiencysearch typesReturn type: osid.type.TypeListcompliance: mandatory – This method must be implemented.
-
objective_bank_record_types¶ Gets the supported
ObjectiveBankrecord types.Returns: a list containing the supported ObjectiveBankrecord typesReturn type: osid.type.TypeListcompliance: 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 ObjectiveBanksearch record typesReturn type: osid.type.TypeListcompliance: 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.LearningProfileThe 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 objectivesObjectiveLookupSession:a session to query objectivesNoneObjectiveSearchSession:a session to search objectivesObjectiveAdminSession:a session to create, modify and delete objectivesNoneObjectiveNotificationSession: asession to receive messages pertaining to objective ```` changesObjectiveHierarchySession:a session to traverse objective hierarchiesObjectiveHierarchyDesignSession:a session to design objective hierarchiesObjectiveSequencingSession:a session to sequence objectivesObjectiveObjectiveBankSession:a session for retriieving objective and objective bank mappingsObjectiveObjectiveBankAssignmentSession:a session for managing objective and objective bank mappingsObjectiveSmartObjectiveBankSession:a session for managing dynamic objective banksObjectiveRequisiteSession:a session to examine objective requisitesObjectiveRequisiteAssignmentSession:a session to manage objective requisitesActivityLookupSession:a session to look up activitiesActivityQuerySession:a session to query activitiesNoneActivitySearchSession:a session to search activitiesActivityAdminSession:a session to create, modify and delete activitiesNoneActivityNotificationSession: asession to receive messages pertaining to activity ```` changesActivityObjectiveBankSession:a session for retriieving activity and objective bank mappingsActivityObjectiveBankAssignmentSession:a session for managing activity and objective bank mappingsActivitySmartObjectiveBankSession:a session for managing dynamic objective banks of activitiesProficiencyLookupSession:a session to retrieve proficienciesProficiencyQuerySession:a session to query proficienciesProficiencySearchSession:a session to search for proficienciesProficiencyAdminSession:a session to create, update, and delete proficienciesProficiencyNotificationSession:a session to receive notifications pertaining to proficiency changesProficiencyObjectiveBankSession:a session to look up proficiency to objective bank mappingsProficiencyObjectiveBankAssignmentSession:a session to manage proficiency to objective bank mappingsProficiencySmartObjectiveBankSession:a session to manage smart objective banks of proficienciesMyLearningPathSession:a session to examine learning paths of objectivesLearningPathSession:a session to examine learning paths of objectivesObjectiveBankLookupSession:a session to lookup objective banksObjectiveBankQuerySession:a session to query objective banksObjectiveBankSearchSession: a session to search objective banksObjectiveBankAdminSession: a session to create, modify and delete objective banksObjectiveBankNotificationSession: a session to receive messages pertaining to objective bank changesObjectiveBankHierarchySession:a session to traverse the objective bank hierarchyObjectiveBankHierarchyDesignSession:a session to manage the objective bank hierarchy
-
learning_batch_manager¶ Gets a
LearningBatchManager.Returns: a LearningBatchManagerReturn type: osid.learning.batch.LearningBatchManagerRaise: OperationFailed– unable to complete requestRaise: Unimplemented–supports_learning_batch() is falsecompliance: 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
ObjectiveBanklookups.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: falseif lookup methods are not authorized,trueotherwiseReturn type: booleancompliance: 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
Hierarchyreturns 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
ObjectiveBankspecified by itsId.In plenary mode, the exact
Idis found or aNotFoundresults. Otherwise, the returnedObjectiveBankmay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to aObjectiveBankand retained for compatility.
Parameters: objective_bank_id ( osid.id.Id) –Idof theObjectiveBankReturns: the objective bank Return type: osid.learning.ObjectiveBankRaise: NotFound–objective_bank_idnot foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method is must be implemented.
LearningManager.get_objective_banks_by_ids(objective_bank_ids)¶Gets a
ObjectiveBankListcorresponding to the givenIdList.In plenary mode, the returned list contains all of the objective banks specified in the
Idlist, in the order of the list, including duplicates, or an error results if anIdin the supplied list is not found or inaccessible. Otherwise, inaccessibleObjectiveBankobjects 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 ofIdsto retrieveReturns: the returned ObjectiveBanklistReturn type: osid.learning.ObjectiveBankListRaise: NotFound– anId wasnot foundRaise: NullArgument–objective_bank_idsisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
LearningManager.get_objective_banks_by_genus_type(objective_bank_genus_type)¶Gets a
ObjectiveBankListcorresponding to the given objective bank genusTypewhich does not include objective banks of types derived from the specifiedType.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 typeReturns: the returned ObjectiveBanklistReturn type: osid.learning.ObjectiveBankListRaise: NullArgument–objective_bank_genus_typeisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
LearningManager.get_objective_banks_by_parent_genus_type(objective_bank_genus_type)¶Gets a
ObjectiveBankListcorresponding to the given objective bank genusTypeand include any additional objective banks with genus types derived from the specifiedType.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 typeReturns: the returned ObjectiveBanklistReturn type: osid.learning.ObjectiveBankListRaise: NullArgument–objective_bank_genus_typeisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
LearningManager.get_objective_banks_by_record_type(objective_bank_record_type)¶Gets a
ObjectiveBankListcontaining the given objective bank recordType.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 typeReturns: the returned ObjectiveBanklistReturn type: osid.learning.ObjectiveBankListRaise: NullArgument–objective_bank_record_typeisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
LearningManager.get_objective_banks_by_provider(resource_id)¶Gets a
ObjectiveBankListfor 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 resourceIdReturns: the returned ObjectiveBanklistReturn type: osid.learning.ObjectiveBankListRaise: NullArgument–resource_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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 ObjectiveBankListReturn type: osid.learning.ObjectiveBankListRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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
ObjectiveBankwill result in aPermissionDenied. This is intended as a hint to an application that may not wish to offer create operations to unauthorized users.
Returns: falseifObjectiveBankcreation is not authorized,trueotherwiseReturn type: booleancompliance: 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
ObjectiveBankusing 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 specificObjectiveBank. Providing an empty array tests if anObjectiveBankcan be created with no records.
Parameters: objective_bank_record_types ( osid.type.Type[]) – array of objective bank record typesReturns: trueifObjectiveBankcreation using the specifiedTypesis supported,falseotherwiseReturn type: booleanRaise: NullArgument–objective_bank_record_typesisnullcompliance: 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 typesReturns: the objective bank form Return type: osid.learning.ObjectiveBankFormRaise: NullArgument–objective_bank_record_typesisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failureRaise: 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 thisObjectiveBankReturns: the new ObjectiveBankReturn type: osid.learning.ObjectiveBankRaise: IllegalState–objective_bank_formalready used in a create transactionRaise: InvalidArgument– one or more of the form elements is invalidRaise: NullArgument–objective_bank_formisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failureRaise: Unsupported–objective_bank_formdid not originate fromget_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
ObjectiveBankwill result in aPermissionDenied. This is intended as a hint to an application that may not wish to offer update operations to unauthorized users.
Returns: falseifObjectiveBankmodification is not authorized,trueotherwiseReturn type: booleancompliance: 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) – theIdof theObjectiveBankReturns: the objective bank form Return type: osid.learning.ObjectiveBankFormRaise: NotFound–objective_bank_idis not foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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 updatedRaise: IllegalState–objective_bank_formalready used in an update transactionRaise: InvalidArgument– the form contains an invalid valueRaise: NullArgument–objective_bank_formisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failureRaise: Unsupported–objective_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
ObjectiveBankwill result in aPermissionDenied. This is intended as a hint to an application that may not wish to offer delete operations to unauthorized users.
Returns: falseifObjectiveBankdeletion is not authorized,trueotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
LearningManager.delete_objective_bank(objective_bank_id)¶Deletes an
ObjectiveBank.
Parameters: objective_bank_id ( osid.id.Id) – theIdof theObjectiveBankto removeRaise: NotFound–objective_bank_idnot foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
LearningManager.can_manage_objective_bank_aliases()¶Tests if this user can manage
Idaliases forObjectiveBanks.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: falseifObjectiveBankaliasing is not authorized,trueotherwiseReturn type: booleancompliance: mandatory – This method must be implemented.
LearningManager.alias_objective_bank(objective_bank_id, alias_id)¶Adds an
Idto anObjectiveBankfor the purpose of creating compatibility.The primary
Idof theObjectiveBankis determined by the provider. The newIdperforms as an alias to the primaryId. If the alias is a pointer to another objective bank, it is reassigned to the given objective bankId.
Parameters:
- objective_bank_id (
osid.id.Id) – theIdof anObjectiveBank- alias_id (
osid.id.Id) – the aliasIdRaise:
AlreadyExists–alias_idis already assignedRaise:
NotFound–objective_bank_idnot foundRaise:
NullArgument–objective_bank_idoralias_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
Objective Bank Hierarchy Methods¶
LearningManager.objective_bank_hierarchy_id¶Gets the hierarchy
Idassociated with this session.
Returns: the hierarchy Idassociated with this sessionReturn type: osid.id.Idcompliance: 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.HierarchyRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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: falseif hierarchy traversal methods are not authorized,trueotherwiseReturn type: booleancompliance: 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
Hierarchyreturns 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
Idsin this hierarchy.
Returns: the root objective bank IdsReturn type: osid.id.IdListRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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.ObjectiveBankListRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method is must be implemented.
LearningManager.has_parent_objective_banks(objective_bank_id)¶Tests if the
ObjectiveBankhas any parents.
Parameters: objective_bank_id ( osid.id.Id) – theIdof an objective bankReturns: trueif the objective bank has parents,falseotherwiseReturn type: booleanRaise: NotFound–objective_bank_idis not foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
LearningManager.is_parent_of_objective_bank(id_, objective_bank_id)¶Tests if an
Idis a direct parent of an objective bank.
Parameters:
- id (
osid.id.Id) – anId- objective_bank_id (
osid.id.Id) – theIdof an objective bankReturns:
trueif thisidis a parent ofobjective_bank_id,falseotherwiseReturn type:
booleanRaise:
NotFound–objective_bank_idis not foundRaise:
NullArgument–idorobjective_bank_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented. implementation notes: If
idnot found returnfalse.
LearningManager.get_parent_objective_bank_ids(objective_bank_id)¶Gets the parent
Idsof the given objective bank.
Parameters: objective_bank_id ( osid.id.Id) – theIdof an objective bankReturns: the parent Idsof the objective bankReturn type: osid.id.IdListRaise: NotFound–objective_bank_idis not foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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) – theIdof an objective bankReturns: the parents of the objective bank Return type: osid.learning.ObjectiveBankListRaise: NotFound–objective_bank_idis not foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
LearningManager.is_ancestor_of_objective_bank(id_, objective_bank_id)¶Tests if an
Idis an ancestor of an objective bank.
Parameters:
- id (
osid.id.Id) – anId- objective_bank_id (
osid.id.Id) – theIdof an objective bankReturns:
trueif thisidis an ancestor ofobjective_bank_id,falseotherwiseReturn type:
booleanRaise:
NotFound–objective_bank_idis not foundRaise:
NullArgument–idorobjective_bank_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented. implementation notes: If
idnot found returnfalse.
LearningManager.has_child_objective_banks(objective_bank_id)¶Tests if an objective bank has any children.
Parameters: objective_bank_id ( osid.id.Id) – theIdof an objective bankReturns: trueif theobjective_bank_idhas children,falseotherwiseReturn type: booleanRaise: NotFound–objective_bank_idis not foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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) – anId- objective_bank_id (
osid.id.Id) – theIdof an objective bankReturns:
trueif theidis a child ofobjective_bank_id,falseotherwiseReturn type:
booleanRaise:
NotFound–objective_bank_idis not foundRaise:
NullArgument–idorobjective_bank_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented. implementation notes: If
idnot found returnfalse.
LearningManager.get_child_objective_bank_ids(objective_bank_id)¶Gets the child
Idsof the given objective bank.
Parameters: objective_bank_id ( osid.id.Id) – theIdto queryReturns: the children of the objective bank Return type: osid.id.IdListRaise: NotFound–objective_bank_idis not foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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) – theIdto queryReturns: the children of the objective bank Return type: osid.learning.ObjectiveBankListRaise: NotFound–objective_bank_idis not foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
LearningManager.is_descendant_of_objective_bank(id_, objective_bank_id)¶Tests if an
Idis a descendant of an objective bank.
Parameters:
- id (
osid.id.Id) – anId- objective_bank_id (
osid.id.Id) – theIdof an objective bankReturns:
trueif theidis a descendant of theobjective_bank_id,falseotherwiseReturn type:
booleanRaise:
NotFound–objective_bank_idis not foundRaise:
NullArgument–idorobjective_bank_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented. implementation notes: If
idis not found returnfalse.
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) – theIdto 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) –trueto include the siblings of the given node,falseto omit the siblingsReturns: a catalog node
Return type:
osid.hierarchy.NodeRaise:
NotFound–objective_bank_idnot foundRaise:
NullArgument–objective_bank_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: 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) – theIdto 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) –trueto include the siblings of the given node,falseto omit the siblingsReturns: an objective bank node
Return type:
osid.learning.ObjectiveBankNodeRaise:
NotFound–objective_bank_idnot foundRaise:
NullArgument–objective_bank_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.
Objective Bank Hierarchy Design Methods¶
LearningManager.objective_bank_hierarchy_idGets the hierarchy
Idassociated with this session.
Returns: the hierarchy Idassociated with this sessionReturn type: osid.id.Idcompliance: mandatory – This method must be implemented.
LearningManager.objective_bank_hierarchyGets the hierarchy associated with this session.
Returns: the hierarchy associated with this session Return type: osid.hierarchy.HierarchyRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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: falseif changing this hierarchy is not authorized,trueotherwiseReturn type: booleancompliance: 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) – theIdof an objective bankRaise: AlreadyExists–objective_bank_idis already in hierarchyRaise: NotFound–objective_bank_idnot foundRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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) – theIdof an objective bankRaise: NotFound–objective_bank_idis not a rootRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: 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) – theIdof an objective bank- child_id (
osid.id.Id) – theIdof the new childRaise:
AlreadyExists–objective_bank_idis already a parent ofchild_idRaise:
NotFound–objective_bank_idorchild_idnot foundRaise:
NullArgument–objective_bank_idorchild_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: 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) – theIdof an objective bank- child_id (
osid.id.Id) – theIdof the childRaise:
NotFound–objective_bank_idnot a parent ofchild_idRaise:
NullArgument–objective_bank_idorchild_idisnullRaise:
OperationFailed– unable to complete requestRaise:
PermissionDenied– authorization failurecompliance: 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) – theIdof an objective bankRaise: NotFound–objective_bank_idnot in hierarchyRaise: NullArgument–objective_bank_idisnullRaise: OperationFailed– unable to complete requestRaise: PermissionDenied– authorization failurecompliance: mandatory – This method must be implemented.