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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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
otherwiseReturn 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 typesReturn 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 typesReturn 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 typesReturn 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 typesReturn 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 typesReturn 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 typesReturn 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 typesReturn 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 typesReturn 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 objectivesObjectiveLookupSession:
a session to query objectivesNone
ObjectiveSearchSession:
a session to search objectivesObjectiveAdminSession:
a session to create, modify and delete objectivesNone
ObjectiveNotificationSession: a
session 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 activitiesNone
ActivitySearchSession:
a session to search activitiesActivityAdminSession:
a session to create, modify and delete activitiesNone
ActivityNotificationSession: a
session 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 LearningBatchManager
Return type: osid.learning.batch.LearningBatchManager
Raise: OperationFailed
– unable to complete requestRaise: Unimplemented
–supports_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
otherwiseReturn 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 itsId
.In plenary mode, the exact
Id
is found or aNotFound
results. Otherwise, the returnedObjectiveBank
may have a differentId
than requested, such as the case where a duplicateId
was assigned to aObjectiveBank
and retained for compatility.
Parameters: objective_bank_id ( osid.id.Id
) –Id
of theObjectiveBank
Returns: the objective bank Return type: osid.learning.ObjectiveBank
Raise: NotFound
–objective_bank_id
not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
ObjectiveBankList
corresponding to the givenIdList
.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 anId
in the supplied list is not found or inaccessible. Otherwise, inaccessibleObjectiveBank
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 ofIds
to retrieveReturns: the returned ObjectiveBank
listReturn type: osid.learning.ObjectiveBankList
Raise: NotFound
– anId was
not foundRaise: NullArgument
–objective_bank_ids
isnull
Raise: 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
ObjectiveBankList
corresponding to the given objective bank genusType
which 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 ObjectiveBank
listReturn type: osid.learning.ObjectiveBankList
Raise: NullArgument
–objective_bank_genus_type
isnull
Raise: 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
ObjectiveBankList
corresponding to the given objective bank genusType
and 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 ObjectiveBank
listReturn type: osid.learning.ObjectiveBankList
Raise: NullArgument
–objective_bank_genus_type
isnull
Raise: 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
ObjectiveBankList
containing 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 ObjectiveBank
listReturn type: osid.learning.ObjectiveBankList
Raise: NullArgument
–objective_bank_record_type
isnull
Raise: OperationFailed
– unable to complete requestRaise: PermissionDenied
– authorization failurecompliance: 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 resourceId
Returns: the returned ObjectiveBank
listReturn type: osid.learning.ObjectiveBankList
Raise: NullArgument
–resource_id
isnull
Raise: 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 ObjectiveBankList
Return type: osid.learning.ObjectiveBankList
Raise: 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
ObjectiveBank
will result in aPermissionDenied
. This is intended as a hint to an application that may not wish to offer create operations to unauthorized users.
Returns: false
ifObjectiveBank
creation is not authorized,true
otherwiseReturn 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 specificObjectiveBank
. Providing an empty array tests if anObjectiveBank
can be created with no records.
Parameters: objective_bank_record_types ( osid.type.Type[]
) – array of objective bank record typesReturns: true
ifObjectiveBank
creation using the specifiedTypes
is supported,false
otherwiseReturn type: boolean
Raise: NullArgument
–objective_bank_record_types
isnull
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 typesReturns: the objective bank form Return type: osid.learning.ObjectiveBankForm
Raise: NullArgument
–objective_bank_record_types
isnull
Raise: 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 thisObjectiveBank
Returns: the new ObjectiveBank
Return type: osid.learning.ObjectiveBank
Raise: IllegalState
–objective_bank_form
already used in a create transactionRaise: InvalidArgument
– one or more of the form elements is invalidRaise: NullArgument
–objective_bank_form
isnull
Raise: OperationFailed
– unable to complete requestRaise: PermissionDenied
– authorization failureRaise: Unsupported
–objective_bank_form
did 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
ObjectiveBank
will result in aPermissionDenied
. This is intended as a hint to an application that may not wish to offer update operations to unauthorized users.
Returns: false
ifObjectiveBank
modification is not authorized,true
otherwiseReturn 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
) – theId
of theObjectiveBank
Returns: the objective bank form Return type: osid.learning.ObjectiveBankForm
Raise: NotFound
–objective_bank_id
is not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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_form
already used in an update transactionRaise: InvalidArgument
– the form contains an invalid valueRaise: NullArgument
–objective_bank_form
isnull
Raise: 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
ObjectiveBank
will result in aPermissionDenied
. This is intended as a hint to an application that may not wish to offer delete operations to unauthorized users.
Returns: false
ifObjectiveBank
deletion is not authorized,true
otherwiseReturn 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
) – theId
of theObjectiveBank
to removeRaise: NotFound
–objective_bank_id
not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
Id
aliases 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: false
ifObjectiveBank
aliasing is not authorized,true
otherwiseReturn type: boolean
compliance: mandatory – This method must be implemented.
LearningManager.
alias_objective_bank
(objective_bank_id, alias_id)¶Adds an
Id
to anObjectiveBank
for the purpose of creating compatibility.The primary
Id
of theObjectiveBank
is determined by the provider. The newId
performs 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
) – theId
of anObjectiveBank
- alias_id (
osid.id.Id
) – the aliasId
Raise:
AlreadyExists
–alias_id
is already assignedRaise:
NotFound
–objective_bank_id
not foundRaise:
NullArgument
–objective_bank_id
oralias_id
isnull
Raise:
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
Id
associated with this session.
Returns: the hierarchy Id
associated with this sessionReturn 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 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: false
if hierarchy traversal methods are not authorized,true
otherwiseReturn 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 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.ObjectiveBankList
Raise: 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
ObjectiveBank
has any parents.
Parameters: objective_bank_id ( osid.id.Id
) – theId
of an objective bankReturns: true
if the objective bank has parents,false
otherwiseReturn type: boolean
Raise: NotFound
–objective_bank_id
is not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
Id
is a direct parent of an objective bank.
Parameters:
- id (
osid.id.Id
) – anId
- objective_bank_id (
osid.id.Id
) – theId
of an objective bankReturns:
true
if thisid
is a parent ofobjective_bank_id,
false
otherwiseReturn type:
boolean
Raise:
NotFound
–objective_bank_id
is not foundRaise:
NullArgument
–id
orobjective_bank_id
isnull
Raise:
OperationFailed
– unable to complete requestRaise:
PermissionDenied
– authorization failurecompliance: mandatory – This method must be implemented. implementation notes: If
id
not found returnfalse
.
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
) – theId
of an objective bankReturns: the parent Ids
of the objective bankReturn type: osid.id.IdList
Raise: NotFound
–objective_bank_id
is not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
) – theId
of an objective bankReturns: the parents of the objective bank Return type: osid.learning.ObjectiveBankList
Raise: NotFound
–objective_bank_id
is not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
Id
is an ancestor of an objective bank.
Parameters:
- id (
osid.id.Id
) – anId
- objective_bank_id (
osid.id.Id
) – theId
of an objective bankReturns:
true
if thisid
is an ancestor ofobjective_bank_id,
false
otherwiseReturn type:
boolean
Raise:
NotFound
–objective_bank_id
is not foundRaise:
NullArgument
–id
orobjective_bank_id
isnull
Raise:
OperationFailed
– unable to complete requestRaise:
PermissionDenied
– authorization failurecompliance: mandatory – This method must be implemented. implementation notes: If
id
not 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
) – theId
of an objective bankReturns: true
if theobjective_bank_id
has children,false
otherwiseReturn type: boolean
Raise: NotFound
–objective_bank_id
is not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
) – theId
of an objective bankReturns:
true
if theid
is a child ofobjective_bank_id,
false
otherwiseReturn type:
boolean
Raise:
NotFound
–objective_bank_id
is not foundRaise:
NullArgument
–id
orobjective_bank_id
isnull
Raise:
OperationFailed
– unable to complete requestRaise:
PermissionDenied
– authorization failurecompliance: mandatory – This method must be implemented. implementation notes: If
id
not found returnfalse
.
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
) – theId
to queryReturns: the children of the objective bank Return type: osid.id.IdList
Raise: NotFound
–objective_bank_id
is not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
) – theId
to queryReturns: the children of the objective bank Return type: osid.learning.ObjectiveBankList
Raise: NotFound
–objective_bank_id
is not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
Id
is a descendant of an objective bank.
Parameters:
- id (
osid.id.Id
) – anId
- objective_bank_id (
osid.id.Id
) – theId
of an objective bankReturns:
true
if theid
is a descendant of theobjective_bank_id,
false
otherwiseReturn type:
boolean
Raise:
NotFound
–objective_bank_id
is not foundRaise:
NullArgument
–id
orobjective_bank_id
isnull
Raise:
OperationFailed
– unable to complete requestRaise:
PermissionDenied
– authorization failurecompliance: mandatory – This method must be implemented. implementation notes: If
id
is 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
) – theId
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 siblingsReturns: a catalog node
Return type:
osid.hierarchy.Node
Raise:
NotFound
–objective_bank_id
not foundRaise:
NullArgument
–objective_bank_id
isnull
Raise:
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
) – theId
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 siblingsReturns: an objective bank node
Return type:
osid.learning.ObjectiveBankNode
Raise:
NotFound
–objective_bank_id
not foundRaise:
NullArgument
–objective_bank_id
isnull
Raise:
OperationFailed
– unable to complete requestRaise:
PermissionDenied
– authorization failurecompliance: 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 sessionReturn 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 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: false
if changing this hierarchy is not authorized,true
otherwiseReturn 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
) – theId
of an objective bankRaise: AlreadyExists
–objective_bank_id
is already in hierarchyRaise: NotFound
–objective_bank_id
not foundRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
) – theId
of an objective bankRaise: NotFound
–objective_bank_id
is not a rootRaise: NullArgument
–objective_bank_id
isnull
Raise: 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
) – theId
of an objective bank- child_id (
osid.id.Id
) – theId
of the new childRaise:
AlreadyExists
–objective_bank_id
is already a parent ofchild_id
Raise:
NotFound
–objective_bank_id
orchild_id
not foundRaise:
NullArgument
–objective_bank_id
orchild_id
isnull
Raise:
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
) – theId
of an objective bank- child_id (
osid.id.Id
) – theId
of the childRaise:
NotFound
–objective_bank_id
not a parent ofchild_id
Raise:
NullArgument
–objective_bank_id
orchild_id
isnull
Raise:
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
) – theId
of an objective bankRaise: NotFound
–objective_bank_id
not in hierarchyRaise: NullArgument
–objective_bank_id
isnull
Raise: OperationFailed
– unable to complete requestRaise: PermissionDenied
– authorization failurecompliance: mandatory – This method must be implemented.