OSID Logo
OSID Specifications
tracking package
Version 3.1.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.Id the FrontOffice Id associated with this session
Compliancemandatory This method must be implemented.
MethodgetFrontOffice
Description

Gets the FrontOffice associated with this session.

Returnosid.tracking.FrontOffice the front office
ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This 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
Compliancemandatory This 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[]logEntryRecordTypes array of log entry record types
Returnboolean true if LogEntry creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT logEntryRecordTypes is null
Compliancemandatory This 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[]logEntryRecordTypes array of log entry record types
Returnosid.tracking.LogEntryForm the log entry form
ErrorsNULL_ARGUMENT logEntryRecordTypes is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
UNSUPPORTED unable to get form for requested record types
Compliancemandatory This method must be implemented.
Methodcomment
Description

Comments on an issue.

Parametersosid.id.IdissueId the Id of the issue
osid.tracking.LogEntryFormlogEntryForm the form for this LogEntry
Returnosid.tracking.LogEntry the new LogEntry
ErrorsINVALID_ARGUMENT one or more of the form elements is invalid
NOT_FOUND issueId is not found
NULL_ARGUMENT issueId or logEntryForm is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
UNSUPPORTED logEntryForm is not of this service
Compliancemandatory This 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
Compliancemandatory This 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.IdlogEntryId the Id of the comment entry
Returnboolean false if log entry modification is not authorized, true otherwise
ErrorsNULL_ARGUMENT logEntryId is null
Compliancemandatory This 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.IdId the Id of the LogEntry
Returnosid.tracking.LogEntryForm the log entry form
ErrorsNOT_FOUND logEntryId is not found
NULL_ARGUMENT logEntryId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodupdateComment
Description

Updates an existing log entry.

Parametersosid.tracking.LogEntryFormlogEntryForm the form containing the elements to be updated
ErrorsILLEGAL_STATE logEntryForm already used in an update transaction
INVALID_ARGUMENT the form contains an invalid value
NULL_ARGUMENT logEntryForm is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
UNSUPPORTED logEntryForm did not originate from getCommentFormForUpdate()
Compliancemandatory This 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
Compliancemandatory This 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.IdlogEntryId the Id of the comment
Returnboolean false if deletion of this LogEntry is not authorized, true otherwise
ErrorsNULL_ARGUMENT logEntryId is null
Compliancemandatory This 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.IdlogEntryId the Id of the comment to remove
ErrorsNOT_FOUND logEntryId not found
NULL_ARGUMENT logEntryId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteComments
Description

Deletes all comments in this FrontOffice.

ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteCommentsByDate
Description

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

Parametersosid.calendaring.DateTimefrom start date
osid.calendaring.DateTimeto end date
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT from or to is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteCommentsForQueue
Description

Deletes all comments in a Queue.

Parametersosid.id.IdqueueId the Id of a Queue
ErrorsNOT_FOUND queueId not found
NULL_ARGUMENT queueId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteCommentsByDateForQueue
Description

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

Parametersosid.id.IdqueueId the Id of a Queue
osid.calendaring.DateTimefrom start date
osid.calendaring.DateTimeto end date
ErrorsINVALID_ARGUMENT from is greater than to
NOT_FOUND queueId not found
NULL_ARGUMENT queueId, from or to is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteCommentsForIssue
Description

Deletes all comments in an Issue.

Parametersosid.id.IdissueId the Id of an Issue
ErrorsNOT_FOUND issueId not found
NULL_ARGUMENT issueId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethoddeleteCommentsByDateForIssue
Description

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

Parametersosid.id.IdissueId the Id of an Issue
osid.calendaring.DateTimefrom start date
osid.calendaring.DateTimeto end date
ErrorsINVALID_ARGUMENT from is greater than to
NOT_FOUND issueId not found
NULL_ARGUMENT issueId, from or to is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This 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
Compliancemandatory This 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[]logEntryRecordTypes array of log entry record types
Returnboolean true if LogEntry creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT logEntryRecordTypes is null
Compliancemandatory This 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[]logEntryRecordTypes array of log entry record types
Returnosid.tracking.LogEntryForm the log entry form
ErrorsNULL_ARGUMENT logEntryRecordTypes is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
UNSUPPORTED unable to get form for requested record types
Compliancemandatory This method must be implemented.
MethodsendMessage
Description

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

Parametersosid.id.IdissueId the Id of the issue
osid.tracking.LogEntryFormlogEntryForm the form for this LogEntry
Returnosid.tracking.LogEntry the new LogEntry
ErrorsINVALID_ARGUMENT one or more of the form elements is invalid
NOT_FOUND issueId is not found
NULL_ARGUMENT issueId or logEntryForm is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
UNSUPPORTED logEntryForm is not of this service
Compliancemandatory This method must be implemented.