Assessment Open Service Interface Definitions assessment version 3.0.0

The Assessment OSID provides the means to create, access, and take assessments. An Assessment may represent a quiz, survey, or other evaluation that includes assessment Items. The OSID defines methods to describe the flow of control and the relationships among the objects. Assessment Items are extensible objects to capture various types of questions, such as a multiple choice or an asset submission.

The Assessment service can br broken down into several distinct services:

  • Assessment Taking
  • Assessment and Item authoring
  • Accessing and managing banks of assessments and items

Each of these service areas are covered by different session and object interfaces. The object interfaces describe both the structure of the assessment and follow an assessment management workflow of first defining assessment items and then authoring assessments based on those items. They are:

  • Item : a question and answer pair
  • Response: a response to an Item question
  • Assessment : a set of Items
  • AssessmentSection: A grouped set of Items
  • AssessmentOffering: An Assessment available for taking
  • AssessmentTaken: An AssessmentOffering that has been completed or in progress

Taking Assessments

The AssessmentSession is used to take an assessment. It captures various ways an assessment can be taken which may include time constraints, the ability to suspend and resume, and the availability of an answer.

Taking an Assessment involves first navigating through AssessmentSections. An AssessmentSection is an advanced authoring construct used to both visually divide an Assessment and impose additional constraints. Basic assessments are assumed to always have one AssessmentSection even if not explicitly created.

Authoring

A basic authoring session is available in this package to map Items to Assessments. More sophisticated authoring using AssessmentParts and sequencing is available in the Assessment Authoring OSID.

Bank Cataloging

Assessments, AssessmentsOffered, AssessmentsTaken, and Items may be organized into federateable catalogs called Banks .

Sub Packages

The Assessment OSID includes an Assessment Authoring OSID for more advanced authoring and sequencing options.

Service Managers

Assessment Profile

class dlkit.services.assessment.AssessmentProfile

Bases: dlkit.osid.managers.OsidProfile

The AssessmentProfile describes the interoperability among assessment services.

supports_assessment()

Tests for the availability of a assessment service which is the service for taking and examining assessments taken.

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

compliance: mandatory – This method must be implemented.

supports_assessment_results()

Tests for the availability of an assessment rsults service.

Returns:true if assessment results is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_item_lookup()

Tests if an item lookup service is supported.

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

compliance: mandatory – This method must be implemented.

supports_item_query()

Tests if an item query service is supported.

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

compliance: mandatory – This method must be implemented.

Tests if an item search service is supported.

Returns:true if item search is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_item_admin()

Tests if an item administrative service is supported.

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

compliance: mandatory – This method must be implemented.

supports_item_notification()

Tests if item notification is supported.

Messages may be sent when items are created, modified, or deleted.

Returns:true if item notification is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_item_bank()

Tests if an item to bank lookup session is available.

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

compliance: mandatory – This method must be implemented.

supports_item_bank_assignment()

Tests if an item to bank assignment session is available.

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

compliance: mandatory – This method must be implemented.

supports_assessment_lookup()

Tests if an assessment lookup service is supported.

An assessment lookup service defines methods to access assessments.

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

compliance: mandatory – This method must be implemented.

supports_assessment_query()

Tests if an assessment query service is supported.

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

compliance: mandatory – This method must be implemented.

supports_assessment_admin()

Tests if an assessment administrative service is supported.

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

compliance: mandatory – This method must be implemented.

supports_assessment_bank()

Tests if an assessment to bank lookup session is available.

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

compliance: mandatory – This method must be implemented.

supports_assessment_bank_assignment()

Tests if an assessment to bank assignment session is available.

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

compliance: mandatory – This method must be implemented.

supports_assessment_basic_authoring()

Tests if an assessment basic authoring session is available.

Returns:true if assessment basic authoring is supported, false otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

supports_assessment_offered_lookup()

Tests if an assessment offered lookup service is supported.

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

compliance: mandatory – This method must be implemented.

supports_assessment_offered_query()

Tests if an assessment offered query service is supported.

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

compliance: mandatory – This method must be implemented.

supports_assessment_offered_admin()

Tests if an assessment offered administrative service is supported.

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

compliance: mandatory – This method must be implemented.

supports_assessment_offered_bank()

Tests if an assessment offered to bank lookup session is available.

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

compliance: mandatory – This method must be implemented.

supports_assessment_offered_bank_assignment()

Tests if an assessment offered to bank assignment session is available.

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

compliance: mandatory – This method must be implemented.

supports_assessment_taken_lookup()

Tests if an assessment taken lookup service is supported.

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

compliance: mandatory – This method must be implemented.

supports_assessment_taken_query()

Tests if an assessment taken query service is supported.

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

compliance: mandatory – This method must be implemented.

supports_assessment_taken_admin()

Tests if an assessment taken administrative service is supported which is used to instantiate an assessment offered.

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

compliance: mandatory – This method must be implemented.

supports_assessment_taken_bank()

Tests if an assessment taken to bank lookup session is available.

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

compliance: mandatory – This method must be implemented.

supports_assessment_taken_bank_assignment()

Tests if an assessment taken to bank assignment session is available.

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

compliance: mandatory – This method must be implemented.

supports_bank_lookup()

Tests if a bank lookup service is supported.

A bank lookup service defines methods to access assessment banks.

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

compliance: mandatory – This method must be implemented.

supports_bank_query()

Tests if a bank query service is supported.

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

compliance: mandatory – This method must be implemented.

supports_bank_admin()

Tests if a banlk administrative service is supported.

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

compliance: mandatory – This method must be implemented.

supports_bank_hierarchy()

Tests if a bank hierarchy traversal is supported.

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

compliance: mandatory – This method must be implemented.

supports_bank_hierarchy_design()

Tests if bank hierarchy design is supported.

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

compliance: mandatory – This method must be implemented.

item_record_types

Gets the supported Item record types.

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

compliance: mandatory – This method must be implemented.

item_search_record_types

Gets the supported Item search record types.

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

compliance: mandatory – This method must be implemented.

assessment_record_types

Gets the supported Assessment record types.

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

compliance: mandatory – This method must be implemented.

assessment_search_record_types

Gets the supported Assessment search record types.

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

compliance: mandatory – This method must be implemented.

assessment_offered_record_types

Gets the supported AssessmentOffered record types.

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

compliance: mandatory – This method must be implemented.

assessment_offered_search_record_types

Gets the supported AssessmentOffered search record types.

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

compliance: mandatory – This method must be implemented.

assessment_taken_record_types

Gets the supported AssessmentTaken record types.

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

compliance: mandatory – This method must be implemented.

assessment_taken_search_record_types

Gets the supported AssessmentTaken search record types.

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

compliance: mandatory – This method must be implemented.

assessment_section_record_types

Gets the supported AssessmentSection record types.

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

compliance: mandatory – This method must be implemented.

bank_record_types

Gets the supported Bank record types.

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

compliance: mandatory – This method must be implemented.

bank_search_record_types

Gets the supported bank search record types.

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

compliance: mandatory – This method must be implemented.

Assessment Manager

class dlkit.services.assessment.AssessmentManager(proxy=None)

Bases: dlkit.osid.managers.OsidManager, dlkit.osid.sessions.OsidSession, dlkit.services.assessment.AssessmentProfile

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

The sessions included in this manager are:

  • MyAssessmentTakenSession: a session to get taken or in progress assessments for the current agent
  • AssessmentSession: a session to be assessed and examine assessments taken
  • AssessmentResultsSession: a session to retrieve assessment results
  • ItemLookupSession: a session to look up Items
  • ItemQuerySession : a session to query Items
  • ItemSearchSession: a session to search Items
  • ItemAdminSession: a session to create, modify and delete Items
  • ItemNotificationSession: a session to receive messages pertaining to Item changes
  • ItemBankSession: a session for looking up item and bank mappings
  • ItemBankAssignmentSession: a session for managing item and bank mappings
  • ItemSmartBankSession: a session for managing dynamic banks
  • AssessmentLookupSession: a session to look up Assessments
  • AssessmentQuerySession: a session to query Assessments
  • AssessmentSearchSession: a session to search Assessments
  • AssessmentAdminSession: a session to create, modify and delete Assessments
  • AssessmentNotificationSession: a session to receive messages pertaining to Assessment changes
  • AssessmentBankSession: a session for looking up assessment and bank mappings
  • AssessmentBankAssignmentSession: a session for managing assessment and bank mappings
  • AssessmentSmartBankSession: a session for managing dynamic banks
  • AssessmentBasicAuthoringSession: a session for making simple mappings of assessment items to assessments
  • AssessmentOfferedLookupSession: a session to look up AssessmentsOffered
  • AssessmentOfferedQuerySession: a session to query AssessmentsOffered
  • AssessmentOfferedSearchSession : a session to search AssessmentsOffered
  • AssessmentOfferedAdminSession: a session to create, modify and delete AssessmentsOffered
  • AssessmentOfferedNotificationSession: a session to receive messages pertaining to AssessmentOffered changes
  • AssessmentOfferedBankSession: a session for looking up assessments offered and bank mappings
  • AssessmentOfferedBankAssignmentSession: a session for managing assessments offered and bank mappings
  • AssessmentOfferedSmartBankSession : a session to manage dynamic banks of assessments offered
  • AssessmentTakenLookupSession: a session to look up Assessments
  • AssessmentTakenQuerySession: a session to query Assessments
  • AssessmentTakenSearchSession: a session to search Assessments
  • AssessmentTakenAdminSession: a session to create, modify and delete AssessmentsTaken
  • AssessmentTakenNotificationSession: a session to receive messages pertaining to AssessmentTaken changes
  • AssessmentTakenBankSession: a session for looking up assessments taken and bank mappings
  • AssessmenttTakenBankAssignmentSession: a session for managing assessments taken and bank mappings
  • AssessmentTakenSmartBankSession: a session to manage dynamic banks of assessments taken
  • BankLookupSession: a session to lookup banks
  • BankQuerySession : a session to query banks
  • BankSearchSession: a session to search banks
  • BankAdminSession : a session to create, modify and delete banks
  • BankNotificationSession : a session to receive messages pertaining to Bank changes
  • BankHierarchySession : a session to traverse the Bank hierarchy
  • BankHierarchyDesignSession : a session to manage the Bank hierarchy
assessment_authoring_manager

Gets an AssessmentAuthoringManager.

Returns:an AssessmentAuthoringManager
Return type:osid.assessment.authoring.AssessmentAuthoringManager
Raise:OperationFailed – unable to complete request
Raise:Unimplementedsupports_assessment_authoring() is false

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

assessment_batch_manager

Gets an AssessmentBatchManager.

Returns:an AssessmentBatchManager
Return type:osid.assessment.batch.AssessmentBatchManager
Raise:OperationFailed – unable to complete request
Raise:Unimplementedsupports_assessment_batch() is false

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

Bank Lookup Methods

AssessmentManager.can_lookup_banks()

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

AssessmentManager.use_comparative_bank_view()

The returns from the bank methods may omit or translate elements based on this session, such as assessment, 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.

AssessmentManager.use_plenary_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.

AssessmentManager.get_bank(bank_id)

Gets the Bank specified by its Id.

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

Parameters:bank_id (osid.id.Id) – Id of the Bank
Returns:the bank
Return type:osid.assessment.Bank
Raise:NotFoundbank_id not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method is must be implemented.

AssessmentManager.get_banks_by_ids(bank_ids)

Gets a BankList corresponding to the given IdList.

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

Parameters:bank_ids (osid.id.IdList) – the list of Ids to retrieve
Returns:the returned Bank list
Return type:osid.assessment.BankList
Raise:NotFound – an Id was not found
Raise:NullArgumentbank_ids is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.get_banks_by_genus_type(bank_genus_type)

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

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

Parameters:bank_genus_type (osid.type.Type) – a bank genus type
Returns:the returned Bank list
Return type:osid.assessment.BankList
Raise:NullArgumentbank_genus_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.get_banks_by_parent_genus_type(bank_genus_type)

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

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

Parameters:bank_genus_type (osid.type.Type) – a bank genus type
Returns:the returned Bank list
Return type:osid.assessment.BankList
Raise:NullArgumentbank_genus_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.get_banks_by_record_type(bank_record_type)

Gets a BankList containing the given bank record Type.

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

Parameters:bank_record_type (osid.type.Type) – a bank record type
Returns:the returned Bank list
Return type:osid.assessment.BankList
Raise:NullArgumentbank_record_type is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.get_banks_by_provider(resource_id)

Gets a BankList from the given provider ````.

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

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

compliance: mandatory – This method must be implemented.

AssessmentManager.banks

Gets all Banks.

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

Returns:a BankList
Return type:osid.assessment.BankList
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

Bank Query Methods

AssessmentManager.can_search_banks()

Tests if this user can perform Bank searches.

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 search operations to unauthorized users.

Returns:false if search methods are not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

AssessmentManager.bank_query

Gets a bank query.

Returns:a bank query
Return type:osid.assessment.BankQuery

compliance: mandatory – This method must be implemented.

AssessmentManager.get_banks_by_query(bank_query)

Gets a list of Bank objects matching the given bank query.

Parameters:bank_query (osid.assessment.BankQuery) – the bank query
Returns:the returned BankList
Return type:osid.assessment.BankList
Raise:NullArgumentbank_query is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred
Raise:Unsupportedbank_query is not of this service

compliance: mandatory – This method must be implemented.

Bank Admin Methods

AssessmentManager.can_create_banks()

Tests if this user can create Banks.

A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a Bank 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 Bank creation is not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

AssessmentManager.can_create_bank_with_record_types(bank_record_types)

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

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

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

compliance: mandatory – This method must be implemented.

AssessmentManager.get_bank_form_for_create(bank_record_types)

Gets the bank form for creating new banks.

A new form should be requested for each create transaction.

Parameters:bank_record_types (osid.type.Type[]) – array of bank record types to be included in the create operation or an empty list if none
Returns:the bank form
Return type:osid.assessment.BankForm
Raise:NullArgumentbank_record_types is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred
Raise:Unsupported – unable to get form for requested record types

compliance: mandatory – This method must be implemented.

AssessmentManager.create_bank(bank_form)

Creates a new Bank.

Parameters:bank_form (osid.assessment.BankForm) – the form for this Bank
Returns:the new Bank
Return type:osid.assessment.Bank
Raise:IllegalStatebank_form already used in a create transaction
Raise:InvalidArgument – one or more of the form elements is invalid
Raise:NullArgumentbank_form is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred
Raise:Unsupportedbank_form did not originate from get_bank_form_for_create()

compliance: mandatory – This method must be implemented.

AssessmentManager.can_update_banks()

Tests if this user can update Banks.

A return of true does not guarantee successful authorization. A return of false indicates that it is known updating a Bank 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 Bank modification is not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

AssessmentManager.get_bank_form_for_update(bank_id)

Gets the bank form for updating an existing bank.

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

Parameters:bank_id (osid.id.Id) – the Id of the Bank
Returns:the bank form
Return type:osid.assessment.BankForm
Raise:NotFoundbank_id is not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.update_bank(bank_form)

Updates an existing bank.

Parameters:bank_form (osid.assessment.BankForm) – the form containing the elements to be updated
Raise:IllegalStatebank_form already used in an update transaction
Raise:InvalidArgument – the form contains an invalid value
Raise:NullArgumentbank_form is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred
Raise:Unsupportedbank_form did not originate from get_bank_form_for_update()

compliance: mandatory – This method must be implemented.

AssessmentManager.can_delete_banks()

Tests if this user can delete banks.

A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting a Bank 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 Bank deletion is not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

AssessmentManager.delete_bank(bank_id)

Deletes a Bank.

Parameters:bank_id (osid.id.Id) – the Id of the Bank to remove
Raise:NotFoundbank_id not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.can_manage_bank_aliases()

Tests if this user can manage Id aliases for Banks.

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

compliance: mandatory – This method must be implemented.

AssessmentManager.alias_bank(bank_id, alias_id)

Adds an Id to a Bank for the purpose of creating compatibility.

The primary Id of the Bank is determined by the provider. The new Id is an alias to the primary Id. If the alias is a pointer to another bank, it is reassigned to the given bank Id.

Parameters:
  • bank_id (osid.id.Id) – the Id of a Bank
  • alias_id (osid.id.Id) – the alias Id
Raise:

AlreadyExistsalias_id is in use as a primary Id

Raise:

NotFoundbank_id not found

Raise:

NullArgumentbank_id or alias_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

Bank Hierarchy Methods

AssessmentManager.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.

AssessmentManager.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 – assessment failure

compliance: mandatory – This method must be implemented.

AssessmentManager.can_access_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 application that may opt not to offer lookup operations.

Returns:false if hierarchy traversal methods are not authorized, true otherwise
Return type:boolean

compliance: mandatory – This method must be implemented.

AssessmentManager.use_comparative_bank_view()

The returns from the bank methods may omit or translate elements based on this session, such as assessment, 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.

AssessmentManager.use_plenary_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.

AssessmentManager.root_bank_ids

Gets the root bank Ids in this hierarchy.

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

compliance: mandatory – This method must be implemented.

AssessmentManager.root_banks

Gets the root banks in this bank hierarchy.

Returns:the root banks
Return type:osid.assessment.BankList
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method is must be implemented.

AssessmentManager.has_parent_banks(bank_id)

Tests if the Bank has any parents.

Parameters:bank_id (osid.id.Id) – a bank Id
Returns:true if the bank has parents, false otherwise
Return type:boolean
Raise:NotFoundbank_id is not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.is_parent_of_bank(id_, bank_id)

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

Parameters:
  • id (osid.id.Id) – an Id
  • bank_id (osid.id.Id) – the Id of a bank
Returns:

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

Return type:

boolean

Raise:

NotFoundbank_id is not found

Raise:

NullArgumentid or bank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure occurred

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

AssessmentManager.get_parent_bank_ids(bank_id)

Gets the parent Ids of the given bank.

Parameters:bank_id (osid.id.Id) – a bank Id
Returns:the parent Ids of the bank
Return type:osid.id.IdList
Raise:NotFoundbank_id is not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.get_parent_banks(bank_id)

Gets the parents of the given bank.

Parameters:bank_id (osid.id.Id) – a bank Id
Returns:the parents of the bank
Return type:osid.assessment.BankList
Raise:NotFoundbank_id is not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.is_ancestor_of_bank(id_, bank_id)

Tests if an Id is an ancestor of a bank.

Parameters:
  • id (osid.id.Id) – an Id
  • bank_id (osid.id.Id) – the Id of a bank
Returns:

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

Return type:

boolean

Raise:

NotFoundbank_id is not found

Raise:

NullArgumentbank_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.

AssessmentManager.has_child_banks(bank_id)

Tests if a bank has any children.

Parameters:bank_id (osid.id.Id) – a bank_id
Returns:true if the bank_id has children, false otherwise
Return type:boolean
Raise:NotFoundbank_id is not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

AssessmentManager.is_child_of_bank(id_, bank_id)

Tests if a bank is a direct child of another.

Parameters:
  • id (osid.id.Id) – an Id
  • bank_id (osid.id.Id) – the Id of a bank
Returns:

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

Return type:

boolean

Raise:

NotFoundbank_id not found

Raise:

NullArgumentbank_id or 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.

AssessmentManager.get_child_bank_ids(bank_id)

Gets the child Ids of the given bank.

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

compliance: mandatory – This method must be implemented.

AssessmentManager.get_child_banks(bank_id)

Gets the children of the given bank.

Parameters:bank_id (osid.id.Id) – the Id to query
Returns:the children of the bank
Return type:osid.assessment.BankList
Raise:NotFoundbank_id is not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

AssessmentManager.is_descendant_of_bank(id_, bank_id)

Tests if an Id is a descendant of a bank.

Parameters:
  • id (osid.id.Id) – an Id
  • bank_id (osid.id.Id) – the Id of a bank
Returns:

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

Return type:

boolean

Raise:

NotFoundbank_id not found

Raise:

NullArgumentbank_id or 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.

AssessmentManager.get_bank_node_ids(bank_id, ancestor_levels, descendant_levels, include_siblings)

Gets a portion of the hierarchy for the given bank.

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

Return type:

osid.hierarchy.Node

Raise:

NotFoundbank_id is not found

Raise:

NullArgumentbank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

AssessmentManager.get_bank_nodes(bank_id, ancestor_levels, descendant_levels, include_siblings)

Gets a portion of the hierarchy for the given bank.

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

Return type:

osid.assessment.BankNode

Raise:

NotFoundbank_id is not found

Raise:

NullArgumentbank_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

Bank Hierarchy Design Methods

AssessmentManager.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.

AssessmentManager.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 – assessment failure

compliance: mandatory – This method must be implemented.

AssessmentManager.can_modify_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.

AssessmentManager.add_root_bank(bank_id)

Adds a root bank.

Parameters:bank_id (osid.id.Id) – the Id of a bank
Raise:AlreadyExistsbank_id is already in hierarchy
Raise:NotFoundbank_id not found
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.remove_root_bank(bank_id)

Removes a root bank from this hierarchy.

Parameters:bank_id (osid.id.Id) – the Id of a bank
Raise:NotFoundbank_id not a parent of child_id
Raise:NullArgumentbank_id or child_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure

compliance: mandatory – This method must be implemented.

AssessmentManager.add_child_bank(bank_id, child_id)

Adds a child to a bank.

Parameters:
  • bank_id (osid.id.Id) – the Id of a bank
  • child_id (osid.id.Id) – the Id of the new child
Raise:

AlreadyExistsbank_id is already a parent of child_id

Raise:

NotFoundbank_id or child_id not found

Raise:

NullArgumentbank_id or child_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.remove_child_bank(bank_id, child_id)

Removes a child from a bank.

Parameters:
  • bank_id (osid.id.Id) – the Id of a bank
  • child_id (osid.id.Id) – the Id of the new child
Raise:

NotFoundbank_id not parent of child_id

Raise:

NullArgumentbank_id or child_id is null

Raise:

OperationFailed – unable to complete request

Raise:

PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.

AssessmentManager.remove_child_banks(bank_id)

Removes all children from a bank.

Parameters:bank_id (osid.id.Id) – the Id of a bank
Raise:NotFoundbank_id is not in hierarchy
Raise:NullArgumentbank_id is null
Raise:OperationFailed – unable to complete request
Raise:PermissionDenied – authorization failure occurred

compliance: mandatory – This method must be implemented.