CM/Archive
Einführung in CM/Archive
CM/Archive ist ein ConSol CM-Add-on, mit dem Sie Vorgänge aus ConSol CM archivieren können. Die Vorgänge werden in einer MongoDB-Datenbank gespeichert und, falls gewünscht, aus der ConSol CM-Datenbank und dem DWH entfernt. Dadurch können Sie die Datenbankgröße und die damit verbundenen Kosten zu reduzieren, während die Vorgänge zur Einhaltung gesetzlicher Vorschriften und als spätere Referenz weiter gespeichert sind.
Zweck und Verwendung
Die Auswahl der zu archivierenden Vorgänge erfolgt per Skript. Normalerweise werden Vorgänge, die seit einer gewissen Zeit geschlossen sind, von einem Tasks-Skript archiviert. Es können aber auch Workflow-Aktivitäten oder Suche-Aktionen implementiert werden, mit denen Vorgänge über den Web Client archiviert werden. Das Skript bestimmt, ob der ganze Vorgang gelöscht wird oder ob ein Teil des Vorgangs im Web Client verbleibt. Im letzteren Fall werden nur das Vorgangsprotokoll und die Attachments aus der ConSol CM-Datenbank entfernt; die grundlegenden Vorgangsdaten bleiben erhalten.
Die folgende Abbildung zeigt, wie CM/Archive in ConSol CM integriert ist:
Einrichten von CM/Archive
Um CM/Archive zu verwenden, gehen Sie folgendermaßen vor:
- Installieren Sie CM/Archive. Dies ist eine eigene Java-Applikation. Die Installation und Einrichtung sind in CM/Archive beschrieben.
- Konfigurieren Sie CM/Archive, siehe Setzen der System-Properties für CM/Archive.
- Erstellen Sie eine Rolle mit Berechtigungen für das Archiv, siehe Allgemeine Berechtigungen. Zusätzlich benötigen die Benutzer die Berechtigung Vorgänge anzeigen für die entsprechenden Queues, um die Vorgänge in CM/Archive zu sehen. Der Zuweisungsstatus ist dabei nicht relevant.
- Weisen Sie die Rolle für das Archiv den Benutzern zu, die mit CM/Archive arbeiten sollen, siehe Benutzer einer Rolle zuweisen.
- Erstellen Sie ein Skript vom Typ Task mit der Archivierungslogik, siehe Erstellen des Task-Skripts zum Archivieren von Vorgängen.
- Führen Sie den Task mit dem erstellten Skript aus, siehe Tasks.
Setzen der System-Properties für CM/Archive
Für die Verwendung von CM/Archive müssen einige System-Properties gesetzt werden.
- Setzen Sie die URL von CM/Archive in
cmas-archive-core-server, archive.uri
. - Konfigurieren Sie die Authentifizierungsschlüssel von CM/Archive in
cmas-auth-server, access.token.signing.key
undcmas-auth-server, client.archive.secret
. - Legen Sie den Gültigkeitszeitraum der Authentifizierungsschlüssel in
cmas-auth-server, client.archive.access.token.validity.seconds
undcmas-auth-server, client.archive.refresh.token.validity.seconds
fest. - Setzen Sie
cmas-archive-core-server, archive.enabled
, um festzulegen, ob in der ConSol CM-Datenbank gemäß DSGVO durchgeführte Löschungen oder Anonymisierungen auch in CM/Archive angewendet werden sollen.
Erstellen des Task-Skripts zum Archivieren von Vorgängen
Bevor Sie das Task-Skript erstellen, müssen Sie die folgenden Aspekte bezüglich des Umfangs der Archivierung festlegen:
-
Welche Vorgänge sollen archiviert werden? Dies können Sie anhand verschiedener Kriterien mit der verfügbaren API bestimmen. Es ist z. B. möglich, Vorgänge zu archivieren, die vor 5 Jahren geschlossen wurden, oder Vorgänge, die zu einem bestimmten Kunden gehören. Zum Archivieren wird die Methode
archiveTicket
ausarchiveService
verwendet. -
Sollen die archivierten Vorgänge vollständig aus dem Web Client entfernt werden oder sollen die grundlegenden Vorgangsdaten erhalten bleiben?
-> Verwenden Sie die Methode
deleteByIds
, um den Vorgang komplett zu löschen, und die MethodedeleteHistoryEntries
, um nur das Vorgangsprotokoll zu löschen. Beide Methoden gehören zuticketService
. -
Wenn die grundlegenden Vorgangsdaten in ConSol CM erhalten bleiben sollen, welche Einträge im Vorgangsprotokoll sollen gelöscht werden?
-> Setzen Sie den gewünschten Wert (ALL, um alle Einträge zu löschen, ATTACHMENTS, um nur Attachments zu löschen, LOGS, um nur Protokolleinträge zu löschen) im Parameter
pHistoryEntryTypeToDelete
in der MethodedeleteHistoryEntries
.
Im Web Client steht im Kopfbereich (ARCHIVIERT), um anzuzeigen, dass der Vorgang archiviert wurde, und mit dem Button In Archiv-Applikation öffnen kann der Vorgang in CM/Archive geöffnet werden kann. Zusätzlich wird ein Protokolleintrag, dass der Vorgang archiviert wurde, hinzugefügt.
-
Sollen die Vorgänge im DWH bleiben?
-> Wenn Sie das Flag
pDwhAware
in der MethodedeleteByIds
auf „true“ setzen, werden die Vorgänge auch aus dem DWH gelöscht.
Die Archivierung von Vorgängen, d. h. das Erstellen von Vorgängen in der CM/Archive-Datenbank und das Löschen von Vorgängen aus der ConSol CM-Datenbank, erfolgt mit zwei getrennten Methoden. Daher ist es möglich, die Archivierung in zwei Schritte aufzuteilen, um zu überprüfen, ob die Vorgänge in CM/Archive vorhanden sind, bevor man sie endgültig aus der CM-Datenbank löscht.
Archivierung von Vorgängen ist eine unwiderrufliche Aktion, die nicht mehr rückgängig gemacht werden kann. Sie hat folgende Auswirkungen:
Vorgänge in CM/Archive können nicht wieder zurück nach ConSol CM übertragen werden.
Archivierte Vorgänge können in keiner Weise geändert werden. Sie können nicht bearbeitet, wieder geöffnet oder als Ziel von Relationen verwendet werden.
Wenn die archivierten Vorgänge im DWH erhalten bleiben sollen, wird empfohlen, sie nur teilweise zu archivieren. Andernfalls verbleiben die Vorgänge im DWH, werden aber aus dem DWH gelöscht, sobald es neu erzeugt wird.
Archivierte Vorgänge bleiben nur in CM/Track und über REST API verfügbar, wenn sie teilweise gelöscht werden, d. h. wenn auch ein Teil des Vorgangs im Web Client verfügbar bleibt.
Das folgende Beispiel zeigt ein Skript, mit dem ein einzelner Vorgang archiviert wird. Das Vorgangsprotokoll wird aus dem Web Client gelöscht.
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) {}
Mit folgender Methode können Sie Vorgänge aus CM/Archive löschen:
archiveService.deleteTicket(ticket.getTransferKey())
Ansehen von Vorgängen in CM/Archive
In CM/Archive können reguläre Benutzer nach Vorgängen suchen, Vorgänge anzeigen und eine PDF-Datei mit dem Vorgangsinhalt erzeugen. Benutzer mit besonderen Berechtigungen können zusätzlich Vorgänge löschen und Statistiken anzeigen.
Die archivierten Vorgänge enthalten alle Informationen aus dem Web Client, d. h. Datenfelder, Kontakte, Relationen, Historie, usw., aber sie sind schreibgeschützt.