Import konfigurieren

Allgemein

Auf dieser Seite erfahren Sie, wie sie das Import Modul konfigurieren können.

Die Konfiguration ist derzeit nur über die Datenbank möglich. Damit werden technische Kentnisse über die Funktion relationaler Datenbanken vorausgesetzt!

Es wird empfohlen, den Import zunächst in einer eigenen Testumgebung durchzuführen.

Importer installieren

Wie im Artikel Kontinuierlicher Datenimport beschrieben, wird eine Importer.exe benötigt. Diese kann selbst geschrieben werden. Für die meisten Fälle bietet antony aber Standard-Importer an. Diese können im Hub manuell installiert werden. Dazu auf im Hub auf Umgebungsverwaltung > Produkte und den Punkt Produkt installieren aufklicken und den Namen des gwünschten Importers angeben.

  • AntonyDataImportCsv

  • AntonyDataImportMsSql

  • AntonyDataImportMySql

  • AntonyDataImportOdbc

  • AntonyDataImportOracle

_import_configuration

Die _import_configuration Tabelle enthält als Basisinformationen des Imports

Database field

Description

Database field

Description

id

Jeder Import hat seine eigene ID. Dies ist eine GUID, die Sie einfach generieren können. Zum Beispiel hier https://guidgenerator.com

is_active

Mit diesem Flag können Sie den Import aktivieren (1) und deaktivieren (0)

debug

Das AntonyImportModul erstellt Dateien, die von der Importer.exe interpretiert werden. Die Importer.exe liest diese Dateien und erzeugt eine Ausgabedatei. Wenn das debug-Flag gesetzt (1) ist, werden diese beiden Dateien nicht nach dem Vorgang nicht entfernt. Sie finden sie unter %TEMP%\AntonyImporter des Benutzers, unter dem die Dienste laufen. Üblicherweise finden Sie sie unter C:\Windows\Temp\AntonyImporter

Diese Dateien werden nicht entfernt, wenn debug = 1 ist. Seien Sie vorsichtig, da Ihr Festplattenspeicherplatz ein Problem werden könnte.

frequency

Die Häufigkeit, mit der der Import ausgelöst wird.

Format: <d>.<HH>:<MM>:<ss>. Sie können keinen Bereich unter einer Minute festlegen, da der Importeur nur einen pro Minute überprüft.

import_name

Der Name des Imports. Dieser kann frei vergeben werden.

comment

Ein Kommentar zu diesem Import. Frei zur Verwendung,

connection_information

Die Verbindungsinformationen, die Importer.exe im Rahmen des Vorgangs erhält. Dies kann einen ConnectionString oder eine API-Adresse oder etwas anderes enthalten.

Die konkrete Information, die dort abgelegt wird ist abhängig vom verwendeten Importer

import_group

Manchmal möchten Sie mehrere Importe aus demselben Ursprung (z.B. ERP) konfigurieren. Diese Importe können einen Link zueinander enthalten, wie z.B. eine CustomerId innerhalb einer Bestellung. In diesem Fall müssen Sie die beiden Importe dieselbe ImportGroup aufweisen. Der Importer macht die Mappings mit den dann in den Importern verfügbar. Mit einem Converter Lookup können Sie die ID des foreignSystem in die antony ID übersetzen.

mapping_name

Diese Einstellung ist nur in Verbindung mit einer import_group relevant. Wenn sie gesetzt ist, können Sie auf den Status eines anderen Imports innerhalb der importer.exe unter diesem Namen zugreifen.

importer_exe

Der vollständige Pfad zur importer.exe, die vom AntonyImportModul ausgeführt wird. Beispielsweise "C:\Program Files\antony Groupware GmbH\AntonyDataImportOdbc\antony.DataImport.Odbc.exe"

import_exe_args

Diese Argumente werden an die importer.exe übergeben. Die Verwendung ist abhängig von den Fähigkeiten der verwendeten importer.exe

target_type

Der Typ, in den importieren werden soll. Dies kann sein

  • "antony://kontakt" für einen Kontakt

  • "antony://appointment" für einen Termin

  • "antony://flexobject/<typeId>" für ein FlexObject. Die typeId ist die ID des Flexobject-Typs. Siehe Tabelle "flexobject" für weitere Informationen.

import_parameter

Dies sind einige Parameter, die der importer.exe erhalten kann, um konfiguriert zu werden. Wie diese Parameter verwendet werden, ist abhängig von der verwendeten importer.exe. Dies kann beispielsweise eine SQL-Query sein.

merge_fields

Manchmal möchte man nicht ein ganzes Objekt importieren, sondern nur einige Daten aus einem System in ein bestehendes importieren. Stellen Sie sich vor, Sie importieren Bestellungen in ein Flexobjekt. Sie haben nun ebenfalls ein ERP-System, dass den Status dieser Bestellung über die Bestellnummer der Bestellung festhält. Mit den merge_fields können Sie den Import so konfigurieren, dass dieser Status an das bereits vorhandene Flexobjekte angefügt wird.

Dazu prüft der Importer, ob es bereits ein Flexobject mit dem Wert gibt, den die importer.exe im Feld merge_fields angibt. Ist dies der Fall, wird dieses Flexobject durch den Import aktualisiert. Andernfalls wird ein neues Flexobjekt erzeugt

batch_size

Hier wird die Größe des Stapels festgelegt, den der Importer ohne Verzögerung importiert. Der Standardwert ist 1. Diese Option und die Option delay_between_batch sind nützlich, wenn Sie große Datensätze importieren (sagen wir mal big = >200). In diesem Fall wird Antony 200 einzelne Erstellungs- und Aktualisierungsvorgänge durchführen, was sich auf die Leistung und Stabilität Ihrer gesamten Installation auswirken wird.

delay_between_batch

Hier wird die Verzögerung festgelegt, die der Importer zwischen den Batches (siehe batch_size wartet. Die Angabe ist in ms.

suppress_create

Dieses Flag ist nützlich, wenn Sie sicherstellen wollen, dass durch den Import kein neues Element erzeugt werden soll. Benutzen Sie dies, wenn Sie nur zusätzliche Daten aus einer Quelle in einen bereits bestehenden Datensatz in antony importieren wollen. Z.B. das obige Beispiel des Bestellstatus aus dem ERP

import_configuration_mapping fields

Diese Tabelle enthält die Konfiguration des Imports, wie die "provides"-Felder der "importer.exe" auf das "antony"-Feld abgebildet werden.

Database field

Description

Database field

Description

id

Eine inkrementelle id

foreign_source_field

Dies ist der Feldname, den die importer.exe dem AntonyImportModul zur Verfügung stellt. Dies kann der Name einer Spalte für den ODBC-Importer oder einer json-Spalte oder ähnlichem sein.

Die Felder sind Abhängig vom verwendeten Importer.

antony_target_field

Dies ist das Feld des von Ihnen konfigurierten target_type (siehe unten), in das das foreign_source_field geschrieben werden soll. Achten Sie darauf, dass dieses Feld nur einmal für eine Importkonfiguration zugeordnet wird.

Für customFields müssen Sie die <ID> des Feldes kennen. Am einfachsten erhalten Sie diese, indem Sie das Flexobjekt im Layoutmodus öffnen und sie aus der Eigenschaftenansicht kopieren. Der Name lautet entsprechend Field_<ID>

converter_infos

Hier können Sie Konverter konfigurieren, um die vom Importer.exebereitgestellten Werte zu konvertieren. Diese sind für kleine Umformungen wie “ToUpper”, “Split” oder sonstiges gedacht. Jeder Konverter benötigt zwei Parameter

  • ConverterName: Dies ist der Name des Konverters. Es sind standardmäßig zwei Konverter definiert

  • Expression: Nimmt einen C# Linq-Ausdruck, um den Wert frei zu konvertieren. Beispiel:

[{"ConverterName":"Expression","ConverterParameter":"(x) => x.ToUpper()"}]
  • IdLookup: Dieser Konverter kann verwendet werden, um eine Id aus dem import_state nachzuschlagen. Er ist nützlich in Kombination mit import_group für zum Beispiel Ansprechpartner Mappings. Beispiel:

[{ "ConverterName": "IdLookup", "ConverterParameter": "integra"}]

comment

Ein Kommentar. Dieser kann von Ihnen ausgefüllt werden, um das Mapping noch in 2 Tagen zu verstehen.

import_configuration_id

Die Id des Imports. Dies ist der Link zur Tabelle _import_configuration

List Antony Fields

Natürlich wollen Sie die Zuordnung der Felder zu den entsprechenden antony-Feldern konfigurieren. Dazu müssen Sie die Namen der Felder kennen, die antony zur Verfügung stellt. Sie können sie hier finden

Contact

TargetType: “antony://contact”

Antony Mapping Field

.net Data-Type

Comments

Antony Mapping Field

.net Data-Type

Comments

MainContactId

System.Int64

Dies ist die Id von antonys' Hauptkontakt, wenn der Kontakt ein Unterkontakt sein möchte. Normalerweise ist diese im Fremdsystem nicht vorhanden, denn dort sind natürlich nur die Ids des jeweiligen Fremdsystems enthalten.

Zum Mappen können Sie den eingebauten Konverter IdLookup verwenden und den mapping_name des entsprechenden Imports angeben. Der Importer wird antonys MainContactId automatisch auflösen.

[{ "ConverterName": "IdLookup", "ConverterParameter": "integra"}]

TitleId

System.Int64

Die ID des Titels des Kontakts. Sie können sie in der Tabelle type_title finden

Company

System.String

 

Firstname

System.String

 

Lastname

System.String

 

Street

System.String

 

Zipcode

System.String

 

City

System.String

 

State

System.Int64

Die ID des Bundeslandes. Sie finden sie in der Tabelle type_state

CountryId

System.Int64

Die ID des Landes. Sie können sie in der Tabelle type_contry finden

Phone

System.String

 

Phone2

System.String

 

Fax

System.String

 

Email

System.String

 

Mobile

System.String

 

Homepage

System.String

 

Comment

System.String

 

StreetPrivate

System.String

 

ZipcodePrivate

System.String

 

CityPrivate

System.String

 

StatePrivate

System.Int64

Die private ID des Bundeslands. Sie finden sie in der Tabelle type_state

CountryIdPrivate

System.Int64

Die private ID des Landes. Sie können sie in der Tabelle type_contry finden

PhonePrivate

System.String

 

Phone2Private

System.String

 

FaxPrivate

System.String

 

Department

System.String

 

Picture

Byte[]

 

Birthday

System.DateTime

Stellen Sie sicher, dass Sie hier LocalTime verwenden

ContactGroup

System.Boolean

Wenn Sie hier eine Kontaktgruppe angeben, wird der Kontakt zu der angegebenen Kontaktgruppe hinzugefügt. Der aktuelle Kontakt wird nicht aus den bestehenden Gruppen entfernt.

Appointment

TargetType: “antony://appointment”

Antony Mapping Field

.net Data-Type

Comments

Antony Mapping Field

.net Data-Type

Comments

UID

System.Int64

 

AllDay

System.Boolean

 

StartDateTime

System.DateTime

Die Angaben sind hier in LocalTime!

EndDateTime

System.DateTime

Die Angaben sind hier in LocalTime!

Subject

System.String

 

Location

System.String

 

Description

System.String

 

Label

System.Int64

 

Status

System.Int64

 

IsPrivate

System.Boolean

 

HasReminder

System.Boolean

True, wenn eine Erinnerung konfiguriert ist

ReminderTimeBeforeStart

System.Int64

Die Anzahl der Nanosekunden der Erinnerungszeit.

ResourceIds

List`1

Die IDs der Kalender, in die der Termin gelegt werden soll. Sie finden sie im Administator, wenn Sie sich dort die Spalte Ideinblenden lassen.

Beispiel für converter_infos, welche Termin im Kalender 73 und dem zugeordneten Feld eintragen.

Flexobjects

Der Importer kann auch Flexobjekte importieren, die in Ihrer Umgebung konfiguriert sind. Da ein Flexobjekt nur CustomFields enthält, müssen Sie diese nachschlagen. Sie können hinzugefügt werden, indem man Field_n innerhalb des antony_field platziert. Das n ist die ID des Customfields selbst. Sie können sie entweder aus dem visuellen Editor von antony oder aus der Tabelle instance_customfields abrufen

TargetType: “antony://flexobject/<type_id>”

Die type_id ist die ID des Typs des Flexobjects selbst. Sie finden sie in der Tabelle flexobject

Fazit

Der Import ist ein leistungsstarkes, aber komplexes Werkzeug zum Importieren beliebiger Daten aus einer externen Datenquelle. Sie können zu den Standardimportern auch einen benutzerdefinierten Importer schreiben, um Daten aus Ihrer benutzerdefinierten Quelle zu holen.

Wenn Sie Probleme haben, Ihren Import zum Laufen zu bringen, kontaktieren Sie uns bitte.