CM/Archive

Introduction to CM/Archive

CM/Archive is a ConSol CM add-on which allows to archive cases from ConSol CM. The cases are stored in a MongoDB database and removed from the ConSol CM database and the DWH, if desired. This allows to reduce the database size and related costs, while still storing the cases for regulatory compliance and future reference.

Concepts, terms and definitions

Concept

Other terms

Definition

case

ticket

Request of the contact which the users works on in the Web Client

DWH

data warehouse

Database which contains data from ConSol CM in a data model tailored specifically for reporting purposes

Purpose and usage

The selection of the cases to be archived is done by script. Usually cases which have been closed for a given period are archived by a task script. But it is also possible to implement workflow activities or search actions which allow archiving cases using the Web Client. The script determines if the whole case should be deleted or some part of the case should remain in the Web Client. In the latter case, the case history and attachments are removed from the ConSol CM database but the basic case data remains.

The following figure illustrates how CM/Archive integrates with ConSol CM:

Setting up CM/Archive

The basic process for using CM/Archive is:

  1. Install CM/Archive. This is a separate Java application. The installation and setup is explained in detail in the ConSol CM Setup Manual.
  2. Configure CM/Archive, see Setting the system properties for CM/Archive.
  3. Create a role with archive permissions, see Global permissions. In addition, the users need the permission View cases for the respective queues to view cases the CM/Archive. The assignment status does not mattern.
  4. Assign the archive role to the users who should work with CM/Archive, see Assign a role to users.
  5. Create a script of the type Task with the archiving logic, see Creating the task script to archive cases.
  6. Execute the task with the created script, see Tasks.

Setting the system properties for CM/Archive

Some system properties have to be set to use CM/Archive.

Creating the task script to archive cases

Before you create the task script, you need to determine the following aspects of the scope of archiving:

Archiving cases, i.e. creating cases in the CM/Archive database and deleting cases from the ConSol CM database, is done in two separate methods. Therefore, it is possible to split the archiving in two steps in order to check if the cases are present in CM/Archive before deleting them for good from the CM database.

Archiving cases is an irrevocable action which cannot be undone. It has the following implications:

Cases cannot be transferred from CM/Archive back to ConSol CM.

Archived cases cannot be changed in any way. This means that they cannot be edited, reopened or used as target of relations.

If the archived cases should remain in the DWH, it is recommended to use partial archiving. Otherwise, the cases remain in the DWH, but are deleted from the DWH if it is recreated.

Archived cases only remain available in CM/Track and via REST API if partial deletion is used, i.e., if part of the case remains available in the Web Client as well.

The following example shows a script which archives a single case. The case history is deleted from the Web Client.

import com.consol.cmas.archive.common.model.TicketAo

import com.consol.cmas.common.model.ticket.Ticket

import com.consol.cmas.common.service.TicketService

 

def onInitialize(taskDescriptor) {

taskDescriptor.setTxTimeout(24 * 60 * 60)

}

 

def onExecute(taskDescriptor) {

//Single ticket to archive

def id = 100001

Ticket ticket = ticketService.getById(id)

if (ticket) {

archiveService.archiveTicket(ticket)

log.info("Ticket '$ticket.name' has been archived")

} else {

log.info("Ticket (id=$id) doesn't exist")

}

 

//partial deletion, only logs

ticketService.deleteHistoryEntries(id, HistoryEntryTypeToDelete.LOGS);

 

//complete deletion

ticketService.deleteByIds(id);

}

 

def onError(taskDescriptor) {}

def onCancel(taskDescriptor) {}

You can delete tickets from CM/Archive by using the following method:

archiveService.deleteTicket(ticket.getTransferKey())

Viewing cases in CM/Archive

In CM/Archive, regular users can search for cases, view cases and create a PDF file with the case content. Users with special permissions can also delete cases and view statistics.

The archived cases contain all the information from the Web Client, i.e. data fields, contacts, relations, history, etc., but they are read-only.