Toggle menu

Environment Configuration

Case Management has a single configuration end point (per environment) for system-wide settings. There may be further configuration end points for some case types, although this functionality has been deprecated - most case configuration is handled via your website using the Configuration Manager.

CaseManagement.getConfig

Case Management uses our standard end point configuration structure to hold solution-wide settings.

Case Management Config End Point
 

End points called CaseManagement.getConfig should exist for each of your environments, for example in your development environment, the configuration can be found at config.dev.CaseManagement.getConfig. They hold the following settings.

{
    "linkConf": {
        "rootCitizen": "http://mysite.com",
        "pathCitizen": "/myaccount",
        "rootAnon": "http://mysite.com",
        "pathAnon": "/1234",
        "rootStaff": "http://mysite.com",
        "pathStaff": "/service",
        "rootEnquiry": "http://mysite.com",
        "pathEnquiry": "/5678"
    },
    "customLinkConf": {
        "citizen": [{
            "id": "1111",
            "displayName": "Test1 subsite",
            "root": "https://test1.gossinteractive.com",
            "pathAnon": "/9876",
            "pathCitizen": "/5432"
        }, {
            "id": "2222",
            "displayName": "Test2 subsite",
            "root": "https://test2.gossinteractive.com",
            "pathAnon": "/1234",
            "pathCitizen": "/4321"
        }],
        "staff": [{
            "id": "2345",
            "displayName": "Staff intranet DotNet",
            "root": "https://staff1.gossinteractive.com",
            "pathStaff": "/5555",
            "pathEnquiry": "/6666"
        }, {
            "id": "2344",
            "displayName": "Staff intranet Java",
            "root": "https://staf2.gossinteractive.com",
            "pathStaff": "/7777",
            "pathEnquiry": "/8888"
        }]
    },
    "emailConf": {
        "sendFrom": "CaseManagement@DoNotReply.com",
        "templates": "Generic Case",
        "monitorTo": ""
    },
    "formConf": {
        "maxFileCountCitizen": 3,
        "maxFileCountStaff": 20,
        "maxFileSizeCitizen": 3000000,
        "maxFileSizeStaff": 5000000,
        "maxFileTextCitizen": "3MB",
        "maxFileTextStaff": "5MB",
        "relatedCaseLinks": ["Related", "Parent Of/Child Of", "Blocks/Is Blocked By"],
        "showContactCitizen": true
    },
   "taskConf": {
        "availableTasks": [
            "collectinfo",
            "investigate",
            "feedback"
        ]
    }
}
let actions = {
    "caseCreate": {
        "note": {
            "displayText": "Test note for caseCreate",
            "systemText": "Test note for caseCreate",
            "privateNote": false
        },
    },
    "caseOpened": {
        "note": {
            "displayText": "Test note for caseOpened",
            "systemText": "Test note for caseOpened",
            "privateNote": true
        }
    }
};

PropertyTypeDescription
linkConfObject, requiredHolds default URLs to various articles, generally used as links in the emails sent to users. These links will be used by all case types should no custom configuration be set up
linkConf.rootCitizenStringThe address of the public website
linkConf.pathCitizenStringThe article ID or friendly URL of a User Requests article that displays case management processes
linkConf.rootAnonStringThe address of the public website
linkConf.pathAnonStringThe article ID or friendly URL of an article using the Forms Service template accessible to non-logged-in users with the CASEMANAGEMENTCASESTATUS form related to it
linkConf.rootStaffStringThe address of the website staff use to manage cases
linkConf.pathStaffStringThe article ID or friendly URL of an article using the Self Service template that displays the case management, case view and any "task" processes
linkConf.rootEnquiryStringThe address of the website staff use to manage cases
linkConf.pathEnquiryStringThe article ID or friendly URL of an article using the Forms Service template.

This root and path are used in the links to view case details from the Case Search results and links in the Dashboards. If this article is secured your users will need to have access to it
customLinkConf.citizenArray of objects, optionalEach object defines a public facing subsite. When configuring case types, users will be able to pick one of these options from a drop-down list in the Email Links section. This allows different case types to be handled on different subsites. If not supplied the configuration of individual cases will use the links defined above
customLinkConf.citizen[n].idStringA unique ID for the settings (can be any string)
customLinkConf.citizen[n].displayNameStringText visible in the config manager drop-down
customLinkConf.citizen[n].rootStringThe root URL of the subsite
customLinkConf.citizen[n].pathAnonStringThe article ID or friendly URL of an article using the Forms Service template accessible to non-logged-in users with the CASEMANAGEMENTCASESTATUS form related to it
customLinkConf.citizen[n].pathCitizenStringThe article ID or friendly URL of a User Requests article that displays case management processes
customLinkConf.staffArray of objectsEach object defines a staff subsite. When configuring case types, users will be able to pick one of these options from a drop-down list in the Email Links section. This allows different case types to be handled on different subsites
customLinkConf.staff[n].idStringA unique ID for the settings (can be any string)
customLinkConf.staff[n].displayNameStringText visible in the config manager drop-down
customLinkConf.staff[n].rootStringThe root URL of the subsite
customLinkConf.staff[n].pathStaffStringThe article ID or friendly URL of a Self Service article that displays case management processes
customLinkConf.staff[n].pathEnquiryStringThe article ID or friendly URL of an article using the Forms Service
emailConfObject, required 
emailConf.sendFromStringThe default "from" address emails will appear to come from
emailConf.monitorToStringAn optional BCC address that will be copied in to all emails
emailConf.templatesStringSuffix for email management
formConfObject, requiredDefaults relating to upload fields on forms
formConf.maxFileCountCitizenIntegerThe number of upload fields on the "citizen response" form (the form used to reply to questions from the case manager). The maximum is four
formConf.maxFileCountStaffIntegerThe total number of files that can be attached to a case by staff users
formConf.maxFileSizeCitizenIntegerThe maximum files size a user can upload on the "citizen response" form
formConf.maxFileSizeStaffIntegerThe maximum file size staff users can upload
formConf.maxFileTextCitizenStringDisplayed to the user, eg "3MB"
formConf.maxFileTextStaffStringDisplayed to staff users, eg "5MB"
formConf.relatedCaseLinksArrayOptions that will appear in the drop-down when linking cases. Strings that include a forward slash will create paired "inward" and "outward" links between cases.

Remove this property to disable linking
formConf.showContactCitizenBooleanSet false to disable the Contact button in the case manager interface
taskConf.availableTasksArrayA list of the tasks installed in this environment and available to configure

System Action Notes

The optional actions object lets you override the default notes added to case history when certain actions are carried out. Any properties you don't supply will use the defaults held in goss.CaseManagement.v1.system.getSystemConfig - these should not be edited.

To override a default, add a new object inside the actions object, with the format:

"actionName": {
    "note": {
        "displayText": "New note",
        "systemText": "New note",
        "privateNote": false
    },
}

Where:

  • actionName - the name of the action to override (see below)
  • displayText - the text that will appear in the notes and can contain internationalisation tokens
  • systemText - the text that is always recorded in history and should not include internationalisation tokens
  • privateNote - either true or false for whether or not the note should be private (appears in the Case Management interface only) or public (appears in the case history visible to the person who raised the case)

The actions that set system notes, and that can be overridden are:

Action NameDisplay TextSystem Text
caseAppointmentCancelAppointment cancelled. Appointment with: {{action.values.appDepartment}}; Scheduled for: {{formatDate action.values.appDate action.values.dateTimeFormat}}; Meeting: {{action.values.appWith}}{{#if action.values.appNote}}; Note: {{action.values.appNote}}{{/if}}Appointment cancelled. Department: {{action.values.appDepartment}}; Scheduled for: {{formatDate action.values.appDate action.values.dateTimeFormat}}; Meeting with: {{action.values.appWith}}{{#if action.values.appNote}}; Note: {{action.values.appNote}}{{/if}}
caseAppointmentCreateNew appointment. Appointment with: {{action.values.appDepartment}}; Scheduled for: {{formatDate action.values.appDate action.values.dateTimeFormat}}; Meeting: {{action.values.appWith}}{{#if action.values.appNote}}; Note: {{action.values.appNote}}{{/if}}New appointment. Department: {{action.values.appDepartment}}; Scheduled for: {{formatDate action.values.appDate action.values.dateTimeFormat}}; Meeting with: {{action.values.appWith}}{{#if action.values.appNote}}; Note: {{action.values.appNote}}{{/if}}
caseAppointmentUpdateAppointment amended. Appointment with: {{action.values.appDepartment}}; Scheduled for: {{formatDate action.values.appDate action.values.dateTimeFormat}}; Meeting: {{action.values.appWith}}{{#if action.values.appNote}}; Note: {{action.values.appNote}}{{/if}}Appointment updated. Department: {{action.values.appDepartment}}; Scheduled for: {{formatDate action.values.appDate action.values.dateTimeFormat}}; Meeting with: {{action.values.appWith}}{{#if action.values.appNote}}; Note: {{action.values.appNote}}{{/if}}
caseAssignAssigned to group: {{action.values.groupId}}Assigned to group: {{action.values.groupId}}
caseAttachmentCreate{{#is action.values.attachmentCount 1}}Uploaded attachment{{else}}Uploaded attachments{{/is}}: {{action.values.attachmentList}}{{#is action.values.attachmentCount 1}}Uploaded attachment{{else}}Uploaded attachments{{/is}}: {{action.values.attachmentList}}
caseAttachmentRemove{{#is action.values.attachmentCount 1}}Deleted attachment{{else}}Deleted attachments{{/is}}: {{action.values.attachmentList}}{{#is action.values.attachmentCount 1}}Deleted attachment{{else}}Deleted attachments{{/is}}: {{action.values.attachmentList}}
caseCannotCloseCould not close case""
caseChangeStageStage changed: {{action.values.caseStageDescription}}{{#if action.values.stageNote}}; Note: {{action.values.stageNote}}{{/if}}New case stage: {{action.values.caseStage}}{{#if action.values.stageNote}}; Note: {{action.values.stageNote}}{{/if}}
caseChangeStatusStatus changed: {{action.values.statusDescription}}{{#if action.values.statusNote}}; Note: {{action.values.statusNote}}{{/if}}New case status: {{action.values.statusCode}}{{#if action.values.statusNote}}; Note: {{action.values.statusNote}}{{/if}}
caseChangeSubTypeSubtype changed: {{action.values.caseSubTypeDescription}}{{#if action.values.subTypeNote}}; Note: {{action.values.subTypeNote}}{{/if}}New case subtype: {{action.values.caseSubTypeName}}{{#if action.values.subTypeNote}}; Note: {{action.values.subTypeNote}}{{/if}}
caseClaimed{{#if action.values.userFullName}}{{action.values.userFullName}}{{else}}{[action.values.userName}}{{/if}} has claimed the case.{{#if action.values.userFullName}}{{action.values.userFullName}}{{else}}{[action.values.userName}}{{/if}} has claimed the case.
caseClosedCase closed. Reason: {{action.values.closureReasonDescription}}{{#if action.values.closureNote}}; Note {{action.values.closureNote}}{{/if}}Case closed. Reason: {{action.values.closureReasonCode}}{{#if action.values.closureNote}}; Note: {{action.values.closureNote}}{{/if}}
caseContactUpdateAddressCitizen contact address changed from {{action.values.previousValue}} to {{action.values.newValue}}Contact address changed from {{action.values.previousValue}} to {{action.values.newValue}}
caseContactUpdateEmailCitizen contact email changed from {{action.values.previousValue}} to {{action.values.newValue}}Contact email changed from {{action.values.previousValue}} to {{action.values.newValue}}
caseContactUpdateNameCitizen contact name changed from {{action.values.previousValue}} to {{action.values.newValue}}Contact name changed from {{action.values.previousValue}} to {{action.values.newValue}}
caseContactUpdatePhoneNumberCitizen contact phone changed from {{action.values.previousValue}} to {{action.values.newValue}}Contact phone changed from {{action.values.previousValue}} to {{action.values.newValue}}
caseConvertConverted from {{action.values.previousCaseName}} Converted to {{action.values.newCaseName}}Case converted from {{action.values.previousCaseName}} to {{action.values.newCaseName}}
caseCreateCase initiated: {{action.values.caseTypeDescription}}{{#if action.values.caseSubTypeDescription}} - {{action.values.caseSubTypeDescription}}{{/if}}Case initiated: {{action.values.caseTypeName}}{{#if action.values.caseSubTypeName}} - {{action.values.caseSubTypeName}}{{/if}}
caseEscalatedCase escalated {{action.values.escalationReason}}; Note: {{action.values.escalationNotes}}Case escalated {{action.values.escalationReason}}; Note: {{action.values.escalationNotes}}
caseExportCase was exported by {{#if action.values.userFullName}}{{action.values.userFullName}}{{else}}{[action.values.username}}{{/if}}Case was exported by {{#if action.values.userFullName}}{{action.values.userFullName}}{{else}}{[action.values.username}}{{/if}}
caseFailedToStart""""
caseLinkCreate{{capitalizeFirst action.values.linkType}} link added between {{case.businessKey}} and {{action.values.linkedCaseId}}{{#if action.values.linkNote}}; Note: {{action.values.linkNote}}{{/if}}{{capitalizeFirst action.values.linkType}} link added between {{case.businessKey}} and {{action.values.linkedCaseId}}{{#if action.values.linkNote}}; Note: {{action.values.linkNote}}{{/if}}
caseLinkDelete{{capitalizeFirst action.values.linkType}} link removed between {{case.businessKey}} and {{action.values.linkedCaseId}}{{#if action.values.linkNote}}; Note: {{action.values.linkNote}}{{/if}}{{capitalizeFirst action.values.linkType}} link removed between {{case.businessKey}} and {{action.values.linkedCaseId}}{{#if action.values.linkNote}}; Note: {{action.values.linkNote}}{{/if}}
caseLinkUpdate{{capitalizeFirst action.values.linkType}} link updated between {{case.businessKey}} and {{action.values.linkedCaseId}}{{#if action.values.linkNote}}; Note: {{action.values.linkNote}}{{/if}}{{capitalizeFirst action.values.linkType}} link updated between {{case.businessKey}} and {{action.values.linkedCaseId}}{{#if action.values.linkNote}}; Note: {{action.values.linkNote}}{{/if}}
caseOpened""""
caseQuestionAnswerResponse received: {{action.values.answerText}}{{#if action.values.attachmentList}}; {{#is action.values.attachmentCount 1}}Attachment{{else}}Attachments{{/is}}: {{action.values.attachmentList}}{{/if}}; Question Number: {{action.values.questionNumber}}Response received: {{action.values.answerText}}{{#if action.values.attachmentList}}; {{#is action.values.attachmentCount 1}}Attachment{{else}}Attachments{{/is}}: {{action.values.attachmentList}}{{/if}}; Question number: {{action.values.questionNumber}}
caseQuestionCreateMore information requested from the citizen: {{action.values.questionText}}; Question Number: {{action.values.questionNumber}}More information requested from the citizen: {{action.values.questionText}}; Question number: {{action.values.questionNumber}}
caseReassignCase assigned to {{#if action.values.assignUserFull}}{{action.values.assignUserFull}}{{else}}{{#if action.values.assignUser}}{{action.values.assignUser}}{{else}}{{#if action.values.assignGroupFull}}{{action.values.assignGroupFull}}{{else}}{{action.values.assignGroup}}{{/if}}{{/if}}{{/if}} for processing: {{action.values.assignReason}}; {{action.values.assignNotes}}Case assigned to {{#if action.values.assignUserFull}}{{action.values.assignUserFull}}{{else}}{{#if action.values.assignUser}}{{action.values.assignUser}}{{else}}{{#if action.values.assignGroupFull}}{{action.values.assignGroupFull}}{{else}}{{action.values.assignGroup}}{{/if}}{{/if}}{{/if}} for processing: {{action.values.assignReason}}; {{action.values.assignNotes}}
caseReminderDateSet""""
caseReminderDateUpdateClear""""
caseReminderDateUpdateNoChange""""
caseReminderDateUpdatePaused""""
caseReminderDateUpdateSet""""
caseSubscriberCreate{{action.values.emailAddress}} subscribed to the case "{{action.values.subscription}}" subscription.{{action.values.emailAddress}} subscribed to the case "{{action.values.subscription}}" subscription.
caseSubscriberRemove{{action.values.emailAddress}} unsubscribed from the case "{{action.values.subscription}}" subscription.{{action.values.emailAddress}} unsubscribed from the case "{{action.values.subscription}}" subscription.
caseTargetDateBreachCase SLA breachedCase SLA breached
caseTargetDateChangeUpdating case SLA{{#if action.values.updateNote}}; Note: {{action.values.updateNote}}{{/if}}Updating target{{#if action.values.updateNote}}; Note: {{action.values.updateNote}}{{/if}}
caseTargetDateClear""""
caseTargetDateExtend""""
caseTargetDatePausePausing case SLA{{#if action.values.pauseNote}}; Note: {{action.values.pauseNote}}{{/if}}Pausing case{{#if action.values.pauseNote}}; Note: {{action.values.pauseNote}}{{/if}}
caseTargetDatePauseAgainCase SLA already paused ({{action.values.pauseCounter}}){{#if action.values.pauseNote}}; Note: {{action.values.pauseNote}}{{/if}}Case SLA already paused ({{action.values.pauseCounter}}){{#if action.values.pauseNote}}; Note: {{action.values.pauseNote}}{{/if}}
caseTargetDateReminderBreach""""
caseTargetDateReminderSet""""
caseTargetDateResumeResuming case SLA{{#if action.values.resumeNote}}; Note: {{action.values.resumeNote}}{{/if}}Resuming case{{#if action.values.resumeNote}}; Note: {{action.values.resumeNote}}{{/if}}
caseTargetDateResumeAgainCase SLA remains paused ({{action.values.pauseCounter}}){{#if action.values.resumeNote}}; Note: {{action.values.resumeNote}}{{/if}}Still paused ({{action.values.pauseCounter}}){{#if action.values.resumeNote}}; Note: {{action.values.resumeNote}}{{/if}}
caseTargetDateSetTarget completion date set to {{formatDate action.values.caseTargetDate action.system.format.dateTime}}Target completion date set to {{formatDate action.values.caseTargetDate action.system.format.dateTime}}
caseTargetDateUpdateClearNo case target completion dateNo case target completion date
caseTargetDateUpdateNoChangeTarget timer not updatedTarget timer not updated
caseTargetDateUpdatePausedCase SLA pausedCase SLA paused
caseTargetDateUpdateSetCase target completion date set to {{formatDate action.values.caseTargetDate action.values.dateTimeFormat}}Case target completion date set to {{formatDate action.values.caseTargetDate action.values.dateTimeFormat}}
caseTaskAttachmentCreateAttachment {{action.values.fileName}} uploadedAttachment {{action.values.fileName}} uploaded
caseTaskAttachmentRemoveAttachment {{action.values.fileName}} deletedAttachment {{action.values.fileName}} deleted
caseTaskAutoStartAuto task created for {{action.values.taskAssigneeRole}}; Summary: {{action.values.taskSummary}}Auto task created for {{action.values.taskAssigneeRole}}; Summary: {{action.values.taskSummary}}
caseTaskCancelled{{action.values.taskNote}}{{action.values.taskNote}}
caseTaskComplete{{action.values.taskNote}}{{action.values.taskNote}}
caseTaskCreateNew task created for {{action.values.taskAssigneeRole}}; Summary: {{action.values.taskSummary}}New task created for {{action.values.taskAssigneeRole}}; Summary: {{action.values.taskSummary}}
caseTaskNoteCreate{{action.values.taskNoteDescription}}{{action.values.taskNoteSystem}}
caseTaskTargetDateBreachTask SLA breachedTask SLA breached
caseTaskTargetDateClear""""
caseTaskTargetDateSet""""
caseUnclaimed{{#if action.values.userFullName}}{{action.values.userFullName}}{{else}}{[action.values.userName}}{{/if}} has unclaimed the case.{{#if action.values.userFullName}}{{action.values.userFullName}}{{else}}{[action.values.userName}}{{/if}} has unclaimed the case.
caseUpdatePositionResult{{action.values.triggerDescription}} has resulted in {{#if action.values.actionsList}} the system updating the following: {{action.values.actionsList}}{{else}}no actions{{/if}}{{action.values.triggerDescription}} has resulted in {{#if action.values.actionsList}} the system updating the following: {{action.values.actionsList}}{{else}}no actions{{/if}}
caseUpdatePositionTrigger{{action.values.triggerDescription}} has triggered automated case updates{{action.values.triggerDescription}} has triggered automated case updates

 

Last modified on 07 May 2024

Share this page

Facebook icon Twitter icon email icon

Print

print icon