OSID Logo
OSID Specifications
tracking package
Version 3.0.0
Release Candidate Preview
Interfaceosid.tracking.IssueMessagingSession
Implementsosid.OsidSession
Description

This session creates comments on issues and sends messages to customers. A comment is a direct log entry that may not be visible to the customer. A message is sent by some means to the customer and recorded in the log. In both cases, LogEntryForms are used to specify the content of the message or comment with an IssueAction of COMMENTED or MESSAGE_SENT .

MethodgetFrontOfficeId
Description

Gets the FrontOffice Id associated with this session.

Returnosid.id.Idthe FrontOffice Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetFrontOffice
Description

Gets the FrontOffice associated with this session.

Returnosid.tracking.FrontOfficethe front office
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanComment
Description

Tests if this user can comment on Issues. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a LogEntry will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer comment operations to an unauthorized user.

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

Tests if this user can create a single LogEntry using the desired record types. While TrackingManager.getLogEntryRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific LogEntry. Providing an empty array tests if a LogEntry can be created with no records.

Parametersosid.type.Type[]logEntryRecordTypesarray of log entry record types
Returnboolean true if LogEntry creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT logEntryRecordTypes is null
CompliancemandatoryThis method must be implemented.
MethodgetLogEntryFormForCommenting
Description

Gets the log entry form for creating commenting on issues. A new form should be requested for each create transaction.

Parametersosid.type.Type[]logEntryRecordTypesarray of log entry record types
Returnosid.tracking.LogEntryFormthe log entry form
ErrorsNULL_ARGUMENT logEntryRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to get form for requested record types
CompliancemandatoryThis method must be implemented.
Methodcomment
Description

Comments on an issue.

Parametersosid.id.IdissueIdthe Id of the issue
osid.tracking.LogEntryFormlogEntryFormthe form for this LogEntry
Returnosid.tracking.LogEntrythe new LogEntry
ErrorsINVALID_ARGUMENTone or more of the form elements is invalid
NOT_FOUND issueId is not found
NULL_ARGUMENT issueId or logEntryForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTED logEntryForm is not of this service
CompliancemandatoryThis method must be implemented.
MethodcanUpdateComments
Description

Tests if this user can update comments. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating a comment will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.

Returnboolean false if comment modification is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanUpdateComment
Description

Tests if this user can update a specified LogEntry. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating the LogEntry will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer an update operation to an unauthorized user for this log entry.

Parametersosid.id.IdlogEntryIdthe Id of the comment entry
Returnboolean false if log entry modification is not authorized, true otherwise
ErrorsNULL_ARGUMENT logEntryId is null
CompliancemandatoryThis method must be implemented.
Provider Notes

If the logEntryId is not found, then it is acceptable to return false to indicate the lack of an update available.

MethodgetLogEntryFormForCommentUpdate
Description

Gets the log entry form for updating an existing comment. A new log entry form should be requested for each update transaction.

Parametersosid.id.IdIdthe Id of the LogEntry
Returnosid.tracking.LogEntryFormthe log entry form
ErrorsNOT_FOUND logEntryId is not found
NULL_ARGUMENT logEntryId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodupdateComment
Description

Updates an existing log entry.

Parametersosid.id.IdlogEntryIdthe Id of the LogEntry
osid.tracking.LogEntryFormlogEntryFormthe form containing the elements to be updated
ErrorsINVALID_ARGUMENTthe form contains an invalid value
NOT_FOUND logEntryId is not found or not a comment
NULL_ARGUMENT logEntryId or logEntryForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTED logEntryForm is not supported
CompliancemandatoryThis method must be implemented.
MethodcanDeleteComments
Description

Tests if this user can delete comments. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting a comment will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.

Returnboolean false if comment deletion is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanDeleteComment
Description

Tests if this user can delete a specified comment. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting the comment will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer an delete operation to an unauthorized user for this log entry.

Parametersosid.id.IdlogEntryIdthe Id of the comment
Returnboolean false if deletion of this LogEntry is not authorized, true otherwise
ErrorsNULL_ARGUMENT logEntryId is null
CompliancemandatoryThis method must be implemented.
Provider Notes

If the logEntryId is not found, then it is acceptable to return false to indicate the lack of an delete available.

MethoddeleteComment
Description

Deletes a comment.

Parametersosid.id.IdlogEntryIdthe Id of the comment to remove
ErrorsNOT_FOUND logEntryId not found
NULL_ARGUMENT logEntryId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteComments
Description

Deletes all comments in this FrontOffice.

ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteCommentsByDate
Description

Deletes all comments within the given date range inclusive in this FrontOffice.

Parametersosid.calendaring.DateTimefromstart date
osid.calendaring.DateTimetoend date
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteCommentsForQueue
Description

Deletes all comments in a Queue.

Parametersosid.id.IdqueueIdthe Id of a Queue
ErrorsNOT_FOUND queueId not found
NULL_ARGUMENT queueId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteCommentsByDateForQueue
Description

Deletes all comments within the given date range inclusive in this Queue.

Parametersosid.id.IdqueueIdthe Id of a Queue
osid.calendaring.DateTimefromstart date
osid.calendaring.DateTimetoend date
ErrorsINVALID_ARGUMENT from is greater than to
NOT_FOUND queueId not found
NULL_ARGUMENT queueId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteCommentsForIssue
Description

Deletes all comments in an Issue.

Parametersosid.id.IdissueIdthe Id of an Issue
ErrorsNOT_FOUND issueId not found
NULL_ARGUMENT issueId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteCommentsByDateForIssue
Description

Deletes all comments within the given date range inclusive in this Issue.

Parametersosid.id.IdissueIdthe Id of an Issue
osid.calendaring.DateTimefromstart date
osid.calendaring.DateTimetoend date
ErrorsINVALID_ARGUMENT from is greater than to
NOT_FOUND issueId not found
NULL_ARGUMENT issueId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanSendMessages
Description

Tests if this user can send customer messages. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a LogEntry will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer comment operations to an unauthorized user.

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

Tests if this user can create a single LogEntry using the desired record types. While TrackingManager.getLogEntryRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific LogEntry. Providing an empty array tests if a LogEntry can be created with no records.

Parametersosid.type.Type[]logEntryRecordTypesarray of log entry record types
Returnboolean true if LogEntry creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT logEntryRecordTypes is null
CompliancemandatoryThis method must be implemented.
MethodgetLogEntryFormForMessaging
Description

Gets the log entry form for creating messages to customers. A new form should be requested for each create transaction.

Parametersosid.type.Type[]logEntryRecordTypesarray of log entry record types
Returnosid.tracking.LogEntryFormthe log entry form
ErrorsNULL_ARGUMENT logEntryRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to get form for requested record types
CompliancemandatoryThis method must be implemented.
MethodsendMessage
Description

Send a customer a message and records it in the issue log.

Parametersosid.id.IdissueIdthe Id of the issue
osid.tracking.LogEntryFormlogEntryFormthe form for this LogEntry
Returnosid.tracking.LogEntrythe new LogEntry
ErrorsINVALID_ARGUMENTone or more of the form elements is invalid
NOT_FOUND issueId is not found
NULL_ARGUMENT issueId or logEntryForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTED logEntryForm is not of this service
CompliancemandatoryThis method must be implemented.