OSID Logo
OSID Specifications
forum package
Version 3.0.0
Release Candidate Preview
Interfaceosid.forum.PostForumAssignmentSession
Implementsosid.OsidSession
Description

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

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

MethodcanAssignPosts
Description

Tests if this user can alter post/forum 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.
MethodcanAssignPostsToForum
Description

Tests if this user can alter post/forum 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.IdforumIdthe Id of the Forum
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT forumId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableForumIds
Description

Gets a list of forums including and under the given forum node in which any post can be assigned.

Parametersosid.id.IdforumIdthe Id of the Forum
Returnosid.id.IdListlist of assignable forum Ids
ErrorsNULL_ARGUMENT forumId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableForumIdsForPost
Description

Gets a list of forums including and under the given forum node in which a specific post can be assigned.

Parametersosid.id.IdforumIdthe Id of the Forum
osid.id.IdpostIdthe Id of the Post
Returnosid.id.IdListlist of assignable forum Ids
ErrorsNULL_ARGUMENT forumId or postId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignPostToForum
Description

Adds an existing Post to a Forum.

Parametersosid.id.IdpostIdthe Id of the Post
osid.id.IdforumIdthe Id of the Forum
ErrorsALREADY_EXISTS postId is already assigned to forumId
NOT_FOUND postId or forumId not found
NULL_ARGUMENT postId or forumId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignPostFromForum
Description

Removes a Post from a Forum.

Parametersosid.id.IdpostIdthe Id of the Post
osid.id.IdforumIdthe Id of the Forum
ErrorsNOT_FOUND postId or forumId not found or postId not assigned to forumId
NULL_ARGUMENT postId or forumId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignPostToForum
Description

Moves a Post from one Forum to another. Mappings to other Forums are unaffected.

Parametersosid.id.IdpostIdthe Id of the Post
osid.id.IdfromPostIdthe Id of the current Forum
osid.id.IdtoPostIdthe Id of the destination Forum
ErrorsNOT_FOUND postId, fromForumId, or toForumId not found or postId not mapped to fromForumId
NULL_ARGUMENT postId, fromForumId, or toForumId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.