OSID Logo
OSID Specifications
room construction package
Version 3.0.0
Release Candidate Preview
Interfaceosid.room.construction.ProjectCampusAssignmentSession
Implementsosid.OsidSession
Description

This session provides methods to re-assign Projects to Campuses. A Project may map to multiple Campuses and removing the last reference to a Project is the equivalent of deleting it. Each Campus may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a Project to another Campus is not a copy operation (eg: does not change its Id ).

MethodcanAssignProjects
Description

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

Returnboolean false if mapping is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignProjectsToCampus
Description

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

Parametersosid.id.IdcampusIdthe Id of the Campus
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT campusId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCampusIds
Description

Gets a list of campuses including and under the given campus node in which any project can be assigned.

Parametersosid.id.IdcampusIdthe Id of the Campus
Returnosid.id.IdListlist of assignable campus Ids
ErrorsNULL_ARGUMENT campusId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCampusIdsForProject
Description

Gets a list of campuses including and under the given campus node in which a specific project can be assigned.

Parametersosid.id.IdcampusIdthe Id of the Campus
osid.id.IdprojectIdthe Id of the Project
Returnosid.id.IdListlist of assignable campus Ids
ErrorsNULL_ARGUMENT campusId or projectId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignProjectToCampus
Description

Adds an existing Project to a Campus.

Parametersosid.id.IdprojectIdthe Id of the Project
osid.id.IdcampusIdthe Id of the Campus
ErrorsALREADY_EXISTS projectId is already assigned to campusId
NOT_FOUND projectId or campusId not found
NULL_ARGUMENT projectId or campusId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignProjectFromCampus
Description

Removes a Project from a Campus.

Parametersosid.id.IdprojectIdthe Id of the Project
osid.id.IdcampusIdthe Id of the Campus
ErrorsNOT_FOUND projectId or campusId not found or projectId not assigned to campusId
NULL_ARGUMENT projectId or campusId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.