Rekursive Archivierung (Document Encoder/Decder)

Informationen effizient organisieren.
Mit der Dr.DOC Komplettlösung für revisionssichere Archivierung.


  Anfragen Preise berechnen Demo anfordern Mehr über Dr.DOC erfahren


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
E-Mail *.eml, *.msg Default Feldauswahl ASCII-Import-Definition „DD_EMAIL“:
  • FROM
  • FROM_NAME
  • FROM_ADDRESS
  • TO
  • TO_NAME
  • TO_ADDRESS
  • BCC
  • BCC_NAME
  • BCC_ADDRESS
  • CC
  • CC_NAME
  • CC_ADDRESS
  • SUBJECT
  • DATETIME
  • DATE
  • TIME
  • ID
  • BODY
  • BODY_TEXT
  • BODY_HTML
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“:
  • LOCATION (GPS Location)
  • DATE (Aufnahme-Datum auslesen)
  • TIME (Aufnahme-Zeit auslesen)
  • DATETIME (Aufnahme-Datum/Zeit auslesen)
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:
  • ID
  • Location
  • CalStartDateTime
  • CalStartDate
  • CalStartTime
  • CalEndDateTime
  • CalEndDate
  • CalEndTime
  • CalCompleted
  • Priority
  • CalSubject
  • CalUser
  • CalText
  • Categories
  • CalDuration
  • CalSeriesPeriod
  • CalRemDeadline
Kontakte V-Card *.vcf Feldauswahl ASCII-Import-Definition „DD_CONTACT“:
  • NAME
  • PRENAME
  • LASTNAME
  • TITLE
  • ORG
  • BIRTHDAY
  • EMAIL
  • EMAIL<1-5>
  • PHONE
  • PHONE<1-5>
  • FAX
  • FAX<1-5>
  • STREET
  • CITY
  • REGION
  • ZIP
  • COUNTRY
  • NOTE
  • WEB

Rekursive Archivierung: Regeln

Rekursive Archivierung: Regeln (Document Encoder/Decoder Instanzen)

Um die Archivierung regelbasiert zu steuern, werden folgende Einstellungen im Dr.DOC Web Konfigurationsarchiv „node“ ausgelesen:

Namen, Typen und Vererbung

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:

  • "DrDoc.LibCore.DocumentEncoderProvider" (Count: 14)
    • "DrDoc.LibCalendar.EventIcsDocumentEncoder" (Count: 2)
      • "config/recursive/Document Create"
      • "config/recursive/Event ICS"
    • "DrDoc.LibCalendar.TaskIcsDocumentEncoder" (Count: 2)
      • "config/recursive/Document Create"
      • "config/recursive/Task ICS"
    • "DrDoc.LibCalendar.NoteIcsDocumentEncoder" (Count: 2)
      • "config/recursive/Document Create"
      • "config/recursive/Note ICS"
    • "DrDoc.WebServer.ZipDocumentEncoder" (Count: 3)
      • "config/recursive/Document Create"
      • "config/recursive/RE ZIP [Recursive: 1]"
      • "config/recursive/RE ZIP CreateDocument [Recursive: 1]"
    • "DrDoc.WebServer.ImageDocumentEncoder" (Count: 1)
      • "config/recursive/Document Create"
    • "DrDoc.WebServer.TiffDocumentEncoder" (Count: 1)
      • "config/recursive/Document Create"
    • "DrDoc.WebServer.JpegDocumentEncoder" (Count: 1)
      • "config/recursive/Document Create"
    • "DrDoc.LibEmail.EmailOutlookDocumentEncoder" (Count: 6)
      • "config/recursive/RE E-Mail Verkauf [Recursive: 3]"
      • "config/recursive/Event E-Mail [Recursive: 1]"
      • "config/recursive/E-Mail-Rechnung (Dokument) [Recursive: 2]"
      • "config/recursive/Document Create"
      • "config/recursive/Document E-Mail Attachments only [Recursive: 14]"
      • "config/recursive/RE E-Mail Einkauf [Recursive: 3]"
    • "DrDoc.LibContact.VCardDocumentEncoder" (Count: 1)
      • "config/recursive/Document Create"
    • "DrDoc.LibEmail.EmailEmlDocumentEncoder" (Count: 6)
      • "config/recursive/RE E-Mail Verkauf [Recursive: 3]"
      • "config/recursive/Event E-Mail [Recursive: 1]"
      • "config/recursive/E-Mail-Rechnung (Dokument) [Recursive: 2]"
      • "config/recursive/Document Create"
      • "config/recursive/Document E-Mail Attachments only [Recursive: 14]"
      • "config/recursive/RE E-Mail Einkauf [Recursive: 3]"
    • "DrDoc.WebServer.CsvDocumentEncoder" (Count: 2)
      • "config/recursive/Bank CSV"
      • "config/recursive/Document Create"
    • "DrDoc.WebServer.PdfDocumentEncoder" (Count: 3)
      • "config/recursive/Document Create"
      • "config/recursive/RE PDF [Recursive: 1]"
      • "config/recursive/RE PDF CreateDocument [Recursive: 1]"
    • "DrDoc.WebServer.BmpDocumentEncoder" (Count: 1)
      • "config/recursive/Document Create"
    • "DrDoc.WebServer.XmlDocumentEncoder" (Count: 3)
      • "config/recursive/Document Create"
      • "config/recursive/RE XML"
      • "config/recursive/RE XML CreateDocument"

Sicherheit und Berechtigungen

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.

Eigenschaften

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"
Diese Website verwendet aus technischen Gründen Cookies für das Caching bzw. Bereitstellen von Session-bezogenen Inhalten. Diese Website verwendet Cookies und nutzt Website Tracking-Technologien von Dritten, um ihre Dienste anzubieten, stetig zu verbessern und Werbung entsprechend der Interessen der Nutzer anzuzeigen.
Ich bin mit der Datenschutzerklärung einverstanden und kann meine Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen oder ändern.
Aus Gründen der Vernunft und besseren Lesbarkeit verzichten wir auf die gleichzeitige Verwendung der Sprachformen männlich und weiblich. Sämtliche Personenbezeichnungen gelten daher gleichermaßen für alle Geschlechter.