OSID Logo
OSID Specifications
tracking package
Version 3.0.0
Interfaceosid.tracking.IssueMessagingSession
Implementsosid.OsidSession
Used Byosid.tracking.TrackingManager
osid.tracking.TrackingProxyManager
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.

Returnbooleanfalse 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
Returnbooleantrue if LogEntry creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENTlogEntryRecordTypes 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_ARGUMENTlogEntryRecordTypes 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_FOUNDissueId is not found
NULL_ARGUMENTissueId or logEntryForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDlogEntryForm 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.

Returnbooleanfalse 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
Returnbooleanfalse if log entry modification is not authorized, true otherwise
ErrorsNULL_ARGUMENTlogEntryId 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_FOUNDlogEntryId is not found
NULL_ARGUMENTlogEntryId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodupdateComment
Description

Updates an existing log entry.

Parametersosid.tracking.LogEntryFormlogEntryFormthe form containing the elements to be updated
ErrorsILLEGAL_STATElogEntryForm already used in an update transaction
INVALID_ARGUMENTthe form contains an invalid value
NULL_ARGUMENTlogEntryForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDlogEntryForm did not originate from getCommentFormForUpdate()
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.

Returnbooleanfalse 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
Returnbooleanfalse if deletion of this LogEntry is not authorized, true otherwise
ErrorsNULL_ARGUMENTlogEntryId 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_FOUNDlogEntryId not found
NULL_ARGUMENTlogEntryId 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_ARGUMENTfrom is greater than to
NULL_ARGUMENTfrom 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_FOUNDqueueId not found
NULL_ARGUMENTqueueId 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_ARGUMENTfrom is greater than to
NOT_FOUNDqueueId not found
NULL_ARGUMENTqueueId, 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_FOUNDissueId not found
NULL_ARGUMENTissueId 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_ARGUMENTfrom is greater than to
NOT_FOUNDissueId not found
NULL_ARGUMENTissueId, 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.

Returnbooleanfalse 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
Returnbooleantrue if LogEntry creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENTlogEntryRecordTypes 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_ARGUMENTlogEntryRecordTypes 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_FOUNDissueId is not found
NULL_ARGUMENTissueId or logEntryForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDlogEntryForm is not of this service
CompliancemandatoryThis method must be implemented.