Administrationshandbuch (EVI-ELO)
Installation
Installationsaufwand | 1 h |
---|
Voraussetzungen für die Verwendung des Moduls
Das Modul EVI-Basis ist vorhanden und aktiv
Das Modul C12ELO ist vorhanden und aktiv
Globale Variablen
Folgende Globale Variablen sind zu konfigurieren
C12ELOExportDir
C12ELOImportDir
C12ELOURL
C12ELODeleteDocuments
Einrichtung der Timer
Die mit dem Modul ausgelieferten Timer sind zu konfigurieren
C12ELOResponseImport
C12ELODeleteDocument
Update
Bei jedem Modul-Update wird empfohlen, eine eventuelle Übersteuerung der Skriptbibliotheksmethoden und Prozesse zu prüfen. Ggf. kann es sinnvoll sein, auf den Standard zurück zu gehen, wenn die Übersteuerungen mit dem Standard übereinstimmt.
Technische Dokumentation
Komponentenübersicht
Prozesse
C12ELOArchiveDocuments
C12ELOChooseArchiveMethod
C12ELOEditMetadata
C12ELOResponseImport
C12ELORequestExport
C12ELODeleteDocument
Skriptbibliothek
SC12EVIBaseUtils
SC12ELOUtils
SC0InterfaceUtils
Globale Variablen
C12ELOExportDir
C12ELOImportDir
C12ELOURL
C12ELODeleteDocuments
Timer
C12ELOResponseImport
C12ELODeleteDocument
Die Timer rufen jeweils den gleichnamigen Prozess auf.
Transaktionstabellen + Events
Es existiert keine dedizierte Transaktionstabelle
Administrationsmöglichkeiten
Administration über die globalen Variablen
Variablenname | Beschreibung | Beispielwert |
---|---|---|
C12ELOExportDir | Pfad, welcher als Austauschverzeichnis für ELO und CRM genutzt wird. | c:\\temp\\ |
C12ELOImportDir | Pfad, welcher den Ordner für die ELO Antwortdateien angibt. | c:\\temp\\ |
C12ELOURL | ELO Adresse zum Öffnen der Dokumente über die ELO ID | http://eloapp-dev.companyname.net:9090/web-DMSARCHIVSENTW/guid.jsp?guid= |
C12ELODeleteDocuments | Gibt an, ob gelöschte Dokumente an das DMS gemeldet werden sollen. | true |
Übersteuerungsmöglichkeiten
Grundsätzlich können die mit dem Modul bereitgestellten Komponenten wie BPM-Prozesse, -teilprozesse, Suchen und Skriptbibliotheksmethoden übersteuert werden, um diese an individuelle Anforderungen und Bedürfnisse anzupassen.
Skriptklasse | Methodenname | Funktionalität |
---|---|---|
SC12ELOUtils | doCustomAction | Diese Methode kann übersteuert werden, um nach dem Initiieren der Archivierung für ein Dokument Folgeaktionen durchzuführen. |
isActiveArchiveRevision | Konfigurationsmöglichkeit für die Aktion "Revisionssicher archivieren". Diese Aktion kann hier aktiviert bzw. deaktiviert werden. | |
isActiveMetadataUpdate | Konfigurationsmöglichkeit für die Aktion "Metadaten-Update". Hier kann konfiguriert werden, ob die Aktion verfügbar sein soll oder nicht. | |
getFieldsForMetadataUpdate | Feldliste für die Felder aus dem Dokument, welche für das Metadaten-Update herangezogen werden sollen. | |
getPkArchiveErrorKey | Hier kann der Schlüssel kundenindividuell angepasst werden, der für den Fehlerstatus verwendet werden soll | |
getPkArchiveReadyKey | Hier kann der Schlüssel kundenindividuell angepasst werden, der für den Status "Bereit zur Übertragung" verwendet werden soll | |
getPkArchiveSuccessKey | Hier kann der Schlüssel kundenindividuell angepasst werden, der für den Status "Erfolgreich übertragen" verwendet werden soll | |
getPkArchiveWorkingKey | Hier kann der Schlüssel kundenindividuell angepasst werden, der für den "In Übertragung" verwendet werden soll | |
getSearchForDeleteEvents | Erzeugt eine Suche, die zum Ermitteln der Löschen-Events genutzt wird. | |
isActiveArchiveButton | Gibt an, ob der Button "Archivieren" auf dem Dokument aktiv sein soll. Hier können kundenindividuell weitere Kriterien implementiert werden. | |
isActiveMetadataUpdateButton | Gibt an, ob der Button "Metadaten aktualisieren" auf dem Dokument aktiv sein soll. Hier können kundenindividuell weitere Kriterien implementiert werden. | |
isArchiveRevisionAvailableForDocument | Gibt an, ob die revisionssichere Archivierung für ein Dokument aktiv ist. Hier können kundenindividuell weitere Kriterien implementiert werden. | |
isArchiveWithoutRevisionAvailableForDocument | Gibt an, ob die Archivierung für ein Dokument aktiv ist. Hier können kundenindividuell weitere Kriterien implementiert werden. | |
isMetadataUpdateAvailableForDocument | Gibt an, ob das Metadaten-Update für ein Dokument aktiv ist. Hier können kundenindividuell weitere Kriterien implementiert werden. | |
isSIGActive | Gibt an, ob eine SIG-Datei geschrieben werden soll. | |
customResponseLogic | Diese Methode wird aufgerufen, sobald eine Rückmeldung von ELO verarbeitet wurde. Hier können kundenindividuelle Folgelogiken implementiert werden. | |
getArcMode | Hier kann der Archivierungsmodus an ein individuelles ELO angepasst werden | |
getDateMode | Hier kann der DateMode von ELO konfiguriert werden. Standard ist das aktuelle Datum. | |
getDestinationBaseFolder | In dieser Methode können kundenindividuelle Werte für das Basiszielverzeichnis eines Dokumentes in ELO ermittelt werden. | |
getDestinationPostfix | Hier kann der Postfix für das Zielverzeichnis eines Dokumentes in ELO festgelegt werden. | |
getDestinationTargetFolder | In dieser Methode kann das Zielverzeichnis für ein Dokument in ELO angepasst werden. | |
getDestinationType | In dieser Methode kann der Zieltyp für ein Dokument in ELO angepasst werden. | |
getIndexMap | Diese Methode liefert das Mapping für das index-Objekt. Hier können kundenindividuelle Anpassungen implementiert werden. | |
getIndexSearch | Diese Methode kann, wenn sie übersteuert und entsprechend implementiert wird, die Suche für Index-Daten eines Dokumentes liefern. | |
getResponseFileExtension | Im Standard wird von ELO eine txt-Datei als Antwort geliefert. Sollte dies nicht der Fall sein, kann die Dateiendung der Antwortdatei in dieser Methode hinterlegt werden. | |
getSeperator | In dieser Methode kann das Trennzeichen für das Zielverzeichnis eines Dokumentes geändert werden. | |
getTypeValue | Im Standard wird als TypeValue der Wert EVIDATA geliefert. Dieser Wert kann durch Übersteuern angepasst werden. | |
getUpdateSearch | Diese Methode kann, wenn sie übersteuert und entsprechend implementiert wird, die Suche für Update-Daten eines Dokumentes liefern. | |
getEncoding | In dieser Methode kann das Encoding der exportierten Steuerdateien angepasst werden. | |
handleResponseFile | Diese Methode löscht Dateien nach erfolgreicher Verarbeitung. Mit Übersteuerung kann dieses Verhalten individualisiert werden. | |
setCustomValues | Diese Methode kann angepasst werden, um individuelle Werte für die Archivierung zu setzen. | |
setCustomUpdateValues | Diese Methode kann angepasst werden, um individuelle Werte für die Aktualisierung zu setzen. |
Interner Ablauf
Einstiegsmethoden
Skriptklasse | Methodenname | Funktionalität |
---|---|---|
SC12ELOUtils | openDocument | Diese Methode wird im Maskenskript der Dokumente verwendet, um das Dokument aus ELO anzuzeigen. |
prepareDocumentForArchive | Vorbereitung eines Dokumentes für die Archivierung | |
createArchiveFiles | Erzeugen der Dateien für die Archivierung | |
createMetadataUpdateFiles | Erzeugen der Dateien für das Metadaten-Update | |
processResponseFile | Verarbeitung der Antwortdateien aus ELO |
Maskenskript
Das Maskenskript der Entität Dokumente wird durch das Modul angepasst. Die Verfügbarkeit der Aktionsbox-Buttons "Archivieren" und "Metadaten-Aktualisierung" werden in der Callback-Methode beforeRenderActionbox gesteuert.
Hierfür stehen für jeden Button separate Methoden "SC12ELOUtils.isActiveArchiveButton" und "SC12ELOUtils.isActiveMetadataUpdateButton" zur Verfügung.
Beim Laden eines Datensatzes (entryLoaded) wird geprüft, ob der Datensatz innerhalb eines Prozesses (C12ELOEditMetadata, C12ELOArchiveDocuments) verwendet wird. Ist das der Fall, werden alle Felder gesperrt.
Anschließend werden die in der Methode "SC12ELOUtils.getFieldsForMetadataUpdate" definierten Felder wieder freigegeben, sodass der Anwender Änderungen vornehmen kann.
Beim Klicken des Buttons "Metadaten-Aktualisierung" wird der Prozess "C12ELOArchiveDocuments" aufgerufen. Der Datensatz wird in der Ansicht aktualisiert, sodass die Freigabe der Felder greift.
Prozesse
C12ELOArchiveDocument
![](../../../__attachments/165055051/ELO_Dokumente_archivieren(C1)_Technisches_Modell.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Der Prozess kann sowohl aus der Aktionsbox (oberer Einstiegspunkt) als auch per Maskenskript (unterer Einstiegspunkt) gestartet werden. Der obere Prozesspfad prüft zu Beginn, welche Aktionen für die ausgewählten Dokumente verfügbar sind. Die verwendeten Methoden lauten "SC12ELOUtils.isMetadataUpdateAvailableForDocument", "SC12ELOUtils.isArchiveRevisionAvailableForDocument" und "SC12ELOUtils.isArchiveWithoutRevisionAvailableForDocument". Die jeweiligen Ausprägungen der Archivierung können über die Methoden "SC12ELOUtils.isActiveMetadataUpdate" und "SC12ELOUtils.isArchiveRevisionAvailableForDocument" aktiviert bzw. deaktiviert werden. Im Task "Auswahl" wird der Teilprozess "C12ELOChooseArchiveMethod" eingebunden. Als Eingabeparameter dienen die Variablen "listSelections" und "strMessage", welche die zuvor ermittelten möglichen Auswahlmöglichkeiten sowie die anzuzeigende Meldung enthalten. Als Ausgabeparameter dient die Variable iSelectedValue, welche den Index des gewählten Eintrages aus "listSelections" enthält. Da die Auswahlmöglichkeiten internationalisiert sind, müssen sie im Tasks "Auswahl auswerten" überprüft und mit einem allgemeinen Aktionsnamen ersetzt werden. Nun wird je nach Auswahl entschieden, ob der Teilprozess "C12ELOEditMetadata" ausgeführt wird, oder ob die Meldung erscheinen soll, ob der Anwender die Aktion durchführen möchte. Bestätigt der Anwender die Meldung, wird bei nur einem gewählten Datensatz die Einzelverarbeitung und bei mehreren Datensätzen die Verarbeitung per Massendatentask angestoßen. Die Verarbeitung innerhalb der Tasks ist identisch. Bei einem Prozessstart aus dem Maskenskript werden die Prozessvariablen entsprechend initialisiert und direkt in die Datenerfassung "C12ELOEditMetadata" gesprungen. In der Verarbeitung der Datensätze werden die Methoden "SC12ELOUtils.prepareDocumentForArchive" und "SC12ELOUtils.doCustomAction" aufgerufen. Letztere ist für eine kundenspezifische Nachverarbeitung der Daten gedacht und daher nicht implementiert.
C12ELOChooseArchiveMethod
![](../../../__attachments/165055051/ELO_Archivierungsmethode_wa%CC%88hlen(C1)_Technisches_Modell.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Dieser Teilprozess dient zur Auswahl der Aktion. Über die Eingabevariable "strMessage" wird der anzuzeigende Text eingereicht. Die Auswahlmöglichkeiten werden bereits internationalisiert über die Eingabevariable "listSelections" eingereicht. Als Ausgabewert dient "selectedValue".
C12ELOEditMetadata
![](../../../__attachments/165055051/ELO_Metadaten_bearbeiten(C1)_Technisches_Modell.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Dieser Teilprozess öffnet das Dokument in der CRM-Detailmaske. Der Primärschlüssel des Dokuments wird über die Eingabevariable "pkDocument" gesetzt.
C12ELORequestExport
![](../../../__attachments/165055051/ELO_Dokument_exportieren(C1)_Technisches_Modell.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Dieser Prozess dient dem Export der Daten für ELO. Der Prozess reagiert auf die Neuanlage eines C12EVENT mit dem Eventname "DOCUMENT_TRANSFER_DMS" (weitere Informationen zu dem Event finden Sie hier.)
Der Skripttask ruft anschließend die Methode "SC12ELOUtils.createArchiveFiles" oder "SC12ELOUtils.createMetadataUpdateFiles", je nach gewählter Aktion im vorherigen Prozessverlauf, auf. Zudem wird ein C12EVENTRESULT im jeweiligen Status erzeugt und der DMS Status am Dokument entsprechend gesetzt.
C12ELOResponseImport
![](../../../__attachments/165055051/ELO_Antwort_Importieren(C1)_Technisches_Modell.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Dieser Teilprozess importiert die ELO-Rückgabedateien und aktualisiert die entsprechenden Dokumenten Datensätze. Weiterhin werden die Rückgabe-Ergebnisse im zugehörigen Event Result festgehalten. Hier wird in 3 mögliche Use Cases unterschieden. Der Timer zur Verarbeitung der Rückantwort muss eingerichtet sein.
Erfolgreiche Verarbeitung in ELO
Im Importverzeichnis muss eine Datei mit folgendem Inhalt abgelegt werden:
OK: Dateiname_der_in_5_exportierten_Datei mit PK: PK_der_Datei importiert. guid:(9F33CCE7-C583-4B51-B41E-039ADC651F5A)
EVI verarbeitet diese Datei via Timer. Die Datei wird aus dem Importverzeichnis gelöscht. Das zugehörige Dokument hat nun den Status 100. Die in der TXT enthaltene guid ist in DMS ID am Dokument hinterlegt.
Fehlgeschlagene Verarbeitung in ELO
Im Importverzeichnis muss eine Datei mit folgendem Inhalt abgelegt werden:
FEHLER: Dateiname_der_in_5_exportierten_Datei mit PK: PK_der_Datei nicht importiert.
EVI verarbeitet diese Datei via Timer. Die Datei wird aus dem Importverzeichnis gelöscht. Das zugehörige Dokument hat nun den Status -1. Das Feld DMS ID des Dokumentes wurde nicht verändert.
Fehlerhafte Antwortdatei
Im Importverzeichnis muss eine Datei mit folgendem Inhalt abgelegt werden:
OK: Dokument 3C_ELO_TEST importiert. guid:(A49AB969-B919-
5528
-4FEE-119D12CE4C28)
EVI verarbeitet diese Datei via Timer. Die Datei verbleibt im Importverzeichnis. Es wird ein neuer Schnittstellen-Details-Datensatz angelegt. Hier ist die fehlerhafte Datei im Ergebnis der Schnittstelle hinterlegt.
C12ELODeleteDocument
![](../../../__attachments/165055051/image2021-12-14_13-7-44.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Bei dem Teilprozess "Löschen eines Dokuments" unterscheidet man in insgesamt 3 Use Cases:
Use Case: Nicht archiviertes Dokument wird gelöscht
Der Anwender erstellt ein neues Dokument. Nun löscht der Anwender das Dokument. Das Dokument wird auf inaktiv gesetzt. Es wird kein Event "DOCUMENT_DELETE_DMS" erzeugt.
Use Case: In Übertragung befindliches Dokument wird gelöscht
Voraussetzung: Der Timer zum Löschen der Dokumente ist aktiviert.
Der Anwender steht auf dem Dokument. Das Dokument hat den DMS Status 30. Die Antwort von ELO wurde noch nicht eingelesen. Der Anwender löscht das Dokument über den Systemstandard (Trash-Symbol). Es wird ein Event "DOCUMENT_DELETE_DMS" mit dem PK des soeben gelöschten Dokumentes erzeugt. Durch den Timer wird eine XML-Datei mit einem Dateinamen nach dem Muster yyyyMMddhhmmss_pk.erweiterung mit der Endung xml abgelegt. Die Datei enthält folgende Elemente:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<elodeletelist ver="1.0">
<obj>
<source value="#()"/>
</obj>
</elodeletelist>
Es wird eine SIG-Datei nach dem bekannten Muster erstellt. Das Attribut value am Element source in der XML-Datei ist leer, da keine DMS ID am Dokument hinterlegt ist. Solche Fälle sind über die Events und EventResults zu identifizieren und manuell in ELO zu korrigieren. Dies ist möglich, da der Dokumenten-PK an ELO übermittelt und im Event hinterlegt ist. Weitere Informationen zu dem Event finden Sie hier.
3. Use Case: Ein archiviertes Dokument wird gelöscht
Voraussetzung: Der Timer zum Löschen der Dokumente ist aktiviert.
Der Anwender steht auf dem Dokument. Das Dokument hat den DMS Status 100. Der Anwender löscht das Dokument. Es wird ein Event "DOCUMENT_DELETE_DMS" mit dem PK des soeben gelöschten Dokumentes erzeugt. Durch den Timer wird eine XML-Datei mit einem Dateinamen nach dem Muster yyyyMMddhhmmss_pk.erweiterung mit der Endung xml abgelegt. Die Datei enthält folgende Elemente:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<elodeletelist ver="1.0">
<obj>
<source value="#(C12DMSID.Document)"/>
</obj>
</elodeletelist>
Es wird ebenfalls eine SIG-Datei nach dem bekannten Muster erstellt. Die Rückantwort von ELO wird in einem Event-Result am Event festgehalten. Weitere Informationen zu dem Event finden Sie hier.