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.
Konzepte, Begriffe und Definitionen
Konzept |
Andere Begriffe |
Definition |
---|---|---|
Vorgang |
Ticket |
Anfrage des Kontakts, die die Benutzer im Web Client bearbeiten |
DWH |
Data Warehouse |
Datenbank mit einem extra für Reporting-Zwecke optimierten Datenmodell, die Daten aus ConSol CM enthält |
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 Task-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 detailliert im ConSol CM Setup Manual 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 und cmas-auth-server, client.archive.secret.
- Legen Sie den Gültigkeitszeitraum der Authentifizierungsschlüssel in cmas-auth-server, client.archive.access.token.validity.seconds und cmas-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 aus archiveService 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 Methode deleteHistoryEntries, um nur das Vorgangsprotokoll zu löschen. Beide Methoden gehören zu ticketService. -
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 Methode deleteHistoryEntries.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 Methode deleteByIds 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ängen in CM/Archive vorhanden sind, bevor man sie endgültig aus der CM-Datenbank löscht.
Archivierung von Vorgängen eine unwiderrufliche Aktion ist, 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.