Document Decoder:
Der Zweck der rekursiven Archivierung ist das strukturierte Auslesen (Dokument zu Metadaten) mit deren Inhalten (z.B. E-Mail-Anhänge) durch regelbasierte Archivierung.
Diese Funktion ist sinnvoll für "zusammengesetzte" und „verschachtelte“ Dateiformate (z.B. E-Mails).
Beispiel: archiviere nur die PDFs aus einer E-Mail, wobei die Anhänge nicht mit „AGB“ beginnen dürfen und falls darin eine ZugFerd XML enthalten ist, übertrage die Rechnungsinformationen in die Metainfo.
Document Encoder:
Für einige Dateiformate ist es möglich, diesen Vorgang umzukehren (Metadaten zu Dokument) und aus den Metadaten wieder ein Dokument zu generieren (derzeit nur Termine, Aufgaben, Kontakte, CSV). Das findet Verwendung bei der Nutzung von CalDAV und CardDAV sowie dem Export.
Die Funktionen der rekursiven Archivierung kann mit der E-Mail-Archivierung kombiniert werden.
Jedes Dateiformat hat bestimmte Felder die über eine Dr.DOC Feldauswahl „gemappt“ werden. Der Name der Standard-Feldauswahl fängt in der Regel mit „DD_“ an.
Über die rekursiven Archivierungs Regeln können spezielle Definitionen erstellt werden.
Beispiel: Aus einer E-Mail wird eine eine ZIP-Datei gelesen, daraus soll ein PDF Dokument archiviert werden, aber die Metadaten sollen aus der Embedded XML aus der PDF-Datei geholt werden.
Dokumenten-Format | Extensions | Mapping | Rekursiv? |
---|---|---|---|
PDF Dokument | *.pdf, *.tiff, *.tif | OCR Text über Archivspezifische INI im FORM-Verzeichnis: [PDF_TEXT] Fieldname=<OCR-Feldname> |
Embedded Files archivieren; z.B. Xrechnung.xml oder zugferd xml rekursiv archivieren |
*.eml, *.msg | Default Feldauswahl ASCII-Import-Definition „DD_EMAIL“:
|
Anhänge und Termine | |
XML | *.xml | Default Feldauswahl ASCII-Import-Definition „DD_XML“: Je Feld ein XPath Der XPath darf von einem Prefix und Suffix umgeben sein. z.B. Document/Rabatt"%" z.B. mit Optionalem Prefix, wenn kein Wert gefunden wurde: Property1/SubProperty2"1"? z.B. für mehrere alternative Pfade mit Property1/SubProperty2\ PropertyX/SubProperty2"1"? |
|
CSV | *.csv | Default Feldauswahl ASCII-Import-Definition „DD_CSV“: | Zeilen als neuen Datensatz |
JSON | .*json | Default Feldauswahl ASCII-Import-Definition „DD_JSON“: Syntax für Wert einer Property: Property1/SubProperty2 z.B. mit Prefix: Property1/SubProperty2"%" z.B. mit Optionalem Prefix, wenn kein Wert gefunden wurde: Property1/SubProperty2"1"? z.B. für mehrere alternative Pfade mit "\ " Property1/SubProperty2\>PropertyX/SubProperty2"1"? Beispiel JSON: { Property1: { SubProperty2: "value" } } Syntax für die Property von Array Elementen: Property1/\*/SubProperty3 Beispiel JSON: { Property1: [ { SubProperty2: "value 1" }, { SubProperty2: "value 2" }, ] } |
|
JPEG | *.jpg, *.jpeg | Feldauswahl ASCII-Import-Definition „DD_JPG“:
|
|
ZIP | *.zip | Alle Dateien / Entries | |
Termine iCal Ausgabe, Notiz, Journal, Termin |
*.ics | Feldauswahl "Kalender-Terminfelder"-Definition „DD_EVENT“ für Termine, Feldauswahl "Kalender-Aufgabenfelder"-Definition „DD_TASK“ für Aufgaben, Feldauswahl "Kalender-Terminfelder"-Definition „DD_NOTE“ für Notizen/Journal:
|
|
Kontakte V-Card | *.vcf | Feldauswahl ASCII-Import-Definition „DD_CONTACT“:
|
Um die Archivierung regelbasiert zu steuern, werden folgende Einstellungen im Dr.DOC Web Konfigurationsarchiv „node“ ausgelesen:
Type: ConfigWebNode
Name: config/recursive
Name: config/recursive/<Rule-Name>
Eine Vererbung über den Prototype-Namen ist möglich. Wenn Property Values aus dem Prototype geladen werden sollen, muss das „Inherit“ Flag in der Property gesetzt sein oder die Property nicht angegeben werden.
Alle Properties haben den Type ConfigWebNode
.
Rekursive Archivierungsregeln sind Instanzen des jeweiligen Document Encoders/Decoders.
Die Rekursiven Archivierungsregeln (Document Encoder/Decoder Instanz) beziehen sich immer auf einen bestimmten Datei/Dokument-Typ (Document Encoder/Decoder), der über die Property Proto_Extension
oder Proto_Type
gesteuert werden kann.
Der Document Encoder/Decoder definiert, wie Felder grundsätzlich "gemappt" werden sollen (eine E-Mail hat einen Betreff und ein PDF Dokument OCR Text).
Die Document Encoder/Decoder Instanzen definieren, wann welches Dokument wie archiviert werden soll. Die Steuerung erfolgt durch Feldauswahlen (z.B. Suchvorlage oder Feldvorbelegung) und Dateinamen (z.B. Extension).
Sollte beim Archivieren keine passende Document Encoder/Decoder Instanz gefunden werden, wird der entsprechende Document Encoder/Decoder Prototyp gewählt.
Rekursion:
Eine Document Encoder/Decoder Instanz kann über die Property Recursive
weitere Document Encoder/Decoder Instanzen definieren. Sollte ein Dokument weitere Dokumente "embedded" haben (z.B. Anhänge in einer E-Mail, Embedded XML in einer PDF, Dateien in einer ZIP), werden diese Dokumente durchlaufen, mit den in der Property Recursive
angegebenen Document Encoder/Decoder Instanzen.
Daraus ergibt sich z.B. folgender Tree:
Aus Sicherheitsgründen sollte der Datensatz nur für den Server und berechtigte Administratoren zugreifbar sein, indem das Feld "User" auf den Wert "System-Group" gesetzt wird.
Property Type | Property Name | Beschreibung | Mögliche Werte |
---|---|---|---|
BoolWebNode | Enabled | Gibt an, ob die Regel aktiv ist. Wenn nichts angegegeben ist, wird der Wert "true" angenommen. | true, false |
ConfigWebNode | Proto_Type | Document-Encoder/Decoder Typ | |
ConfigWebNode | Proto_Extension | z.B. „*.eml|*.msg“Wählt den Document-Encoder/Decoder über die File-Extension des zu archivierenden Dokuments.Siehe "Rekursive Arhcivierung" / "Document-Encoder Implementierungen" | |
ConfigWebNode | Selector_UsermanagerName | Usermanager-Name oder voller Pfad zur BVD Datei | |
ConfigWebNode | Selector_ArchiveName | Archiv-Name oder voller Pfad zur KOMM\SERVER\*.da Datei | |
ConfigWebNode | Selector_Filename | Regel für Dateiname (z.B. *.eml|*.msg) | |
ConfigWebNode | Selector_FieldSelectionNames | Pro Zeile ein Wert.Name der Feldauswahl(en), mit der das Dokument verglichen werden soll. | |
BoolWebNode | Selector_FieldSelectionAND | - „true“: gibt an, dass alle Selector_FieldSelectionNames „wahr“ sein müssen - „false“: es genügt, wenn nur eine „wahr“ ist |
true, false |
ConfigWebNode | Selector_FieldSelectionCaseSensitive | - „true“: beim Vergleich Groß-/Kleinschreibung beachten - „false“: Groß-/Kleinschreibung ignorieren |
true, false |
ConfigWebNode | Selector_FieldSelectionType | Feldauswahl-Typ festlegen | IMPORT_ASCII, EXPORT_ASCII, FIELDCONTENT, CAL_APPOINTMENT, CAL_TASK, PRESET, SEARCHTEMPLATE |
BoolWebNode | Selector_FieldSelectionGetMetaFromDoc | Sollte nur "true" sein, wenn eine Feldauswahl angegeben wurde und sich der Wert der Meta-Info für die Feldauswahl-Prüfung, aus dem Inhalt des Dokuments ableitet. | true, false |
ConfigWebNode | Action | - „Skip“: überspringen - „None“: kein neues Dokument erstellen und Meta-Info/Profildaten in dem aufrufenden Datensatz laden - „CreateDocument“: Neues Dokument erstellen - "CreateDocumentMerge": Neues Dokument erstellen aber Meta-Info/Profildaten belassen, sofern es der Aufrufer (rekursiv) das gleiche Archiv hat |
None, Skip, CreateDocument, CreateDocumentMerge |
ConfigWebNode | Action_FieldPreselectionName | Name der Feldvorbelegung für das Erstellen neuer Dokumente/Datensätze | |
ConfigWebNode | MapFieldSelectionName | Name der Mapping-Feldauswahl | |
ConfigWebNode | MapFieldSelectionType | Typ der Mapping Feldauswahl | IMPORT_ASCII, EXPORT_ASCII, FIELDCONTENT, CAL_APPOINTMENT, CAL_TASK, PRESET, SEARCHTEMPLATE |
ConfigWebNode | Recursive | Pro Zeile ein Wert.Name(n) der Rekursiven Archivierungs-Einstellung(en) die für Anhänge dieses Dokuments durchlaufen werden sollen.z.B. "config/recursive/RE PDF CreateDocument" |