Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

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

Importer installieren

Wie im oberen 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 > Produkteund den Punkt Produkt installieren aufklicken und den Namen des gwünschten Importers angeben.

  • AntonyDataImportCsv

  • AntonyDataImportMsSql

  • AntonyDataImportMySql

  • AntonyDataImportOdbc

  • AntonyDataImportOracle

_import_configuration

The Die _import_configuration Table holds some basedata for the import. Tabelle enthält als Basisinformationen des Imports

Database field

Description

idEach Import has its own id. This is a GUID, you can simply generate

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

is_active

With this flag you can activate Mit diesem Flag können Sie den Import aktivieren (1) and deactivate und deaktivieren (0) the import

debug

The AntonyImportModule creates files, which are interpreted by the Das AntonyImportModul erstellt Dateien, die von der Importer.exe interpretiert werden. The `importer.exe` reads this files and produces an output file. If the dbeug flag is set to true, these two files will not be removed. You can find it unter %TEMP%\AntonyImporter of the user, the services runs under. For LocalSystem you can find it 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

These files will not be removed, if
Panel
panelIconIdatlassian-warning
panelIcon:warning:
bgColor#FFFAE6
Note

Diese Dateien werden nicht entfernt, wenn debug = 1 ist. Be careful, as your hdd space might become a problemSeien Sie vorsichtig, da Ihr Festplattenspeicherplatz ein Problem werden könnte.

frequencyThe frequency the import will be triggered

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

Format: <d>.<HH>:<MM>:<ss>. You cannot define a range unter a minute, as the importer only checks one per minuteSie können keinen Bereich unter einer Minute festlegen, da der Importeur nur einen pro Minute überprüft.

import_name

The name of the import. Free for use

comment

A comment for this import. Free for useDer Name des Imports. Dieser kann frei vergeben werden.

comment

Ein Kommentar zu diesem Import. Frei zur Verwendung,

connection_information

Some ConnectionInformations the importer.exe will get within the importConfiguration. This might contain a ConnectionString or API Adress or something else. This information is only used by the importer.exe

import_group

Someday you want to configure multiple imports from the same origin. These imports might contain a link to each other like as CustomerId within an Order In this case you can place the two imports into the same ImportGroup. The importer will fill the import_state with the mappings from every import within the import_group with the mapping_name. With an Converter Lookup you can translate the id of the foreignSystem to the antony ids.

This feature was orignally designed for customer link fields within an flexobject

mapping_name

This setting is only relevant in combination of an import_group. If set you can access the state from another import within the importer.exE by this name.

You need to make sure, that the mapping_name is unique over all of your configured imports. Otherwise the importer cannot relate the foreign_id of the importee to antony’s ids.

importer_exe

The Full Path to the importer.exe which is executed by the AntonyImportModule. The BasePath the importer is called in is within the %TEMP% Path. So perhaps you want to the it within you importer.exe

import_exe_args

This arguments are passed to the importer.exe. It is free to use.

target_type

The type the importer should import to. This can be

  • “antony://contact” for a contact

  • “antony://appointment” for an appointment

  • “antony://flexobject/<typeId>” for an FlexObject. The typeId is the id of the flexobject type. See table “Flexobject” for more infos.

import_parameter

These are some parameter the importer.exe can get to be configured. You also can use importer_arguments bis the importer_parameter is designed to gets bigger data like an SQL Query or perhaps a Json Payload. You might not want to get this info via Command Line Arguments

merge_fields

Sometimes you don't want to import a whole object, but only import some data from a system to an existing one. Imagine you import some orders from a shop into a flexobject. Aou have also an ERP which holds the status of this order by a the ordernumer of the order. With the merge_fields you can configure your import to Update an existing Flexobject instead of creating a new one.

Therefore the importer will check, if there is already a flexobject with the value the importer.exe provides in the field merge_fields. If so, this flexobject will be updated by this Import

If you have multiple Flexobjects which are matching the condition, then ALL flexobjects will be updated. You can provide multiple fields which ALL needs to match. The field within the database is comma-separated

You have multiple Flexobjects which are matching the condition, then ALL flexobjects will be updated

batch_size

This sets the size of the batch the importer imports without a delay. The defaultvalue is 1. This option and the delay_between_batch is usefull, if you import big datasets (lets say big = >200). In this case antony will create 200 single create and updates, which will impact the performance and stability of your whole installation.

delay_between_batch

This sets the delay the importer adds on every batch, defined by batch_size. So if you import a big dataset

suppress_create

This flag is usefull if you want to make sure, that no item will be created by the import. Use this if you only want to import some additional data from a source to an already existing dataset within antony. F.e. a generated link of your Shop or ERP

import_configuration_mapping fields

...

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.

Diese Funktion wurde ursprünglich für Kundenverknüpfungsfelder innerhalb eines Flexobjects entwickelt.

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.

Sie müssen darauf achten, dass der mapping_name für alle Ihre konfigurierten Importe eindeutig ist. Andernfalls kann der Importeur die foreign_id des Importeurs nicht mit den ids von antony in Verbindung bringen.

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

Wenn Sie mehrere Flexobjects haben, die der Bedingung entsprechen, werden ALLE Flexobjects aktualisiert. Sie können auch mehrere Felder angeben. Die Felder in der Datenbank sind durch Kommas getrennt

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

id

An incremental id

foreign_source_field

This is the fieldname the importer.exe provides to the AntonyImportModule. This might be the name of a column for ODBC Importer or from a json or so on. This one is specific to the importer.exe

antony_target_field

This is the field of your configured target_type the foreign_source_field should be written to. Be sure that this field is only mapped once for an import configuration.

For customFields you need to know the <ID> of the field. The easiest way to get this is to open the flexobject in layout mode and copy it from the properties view.

converter_infos

Here you can configure converters to convert the values provided by the importer.exe. Each Converter needs two parameter

  • ConverterName: This is the name of the converter. You might provide some converter within your code or use std. one. There are two defined

    • Expression: Takes a C# Linq Expression to freely convert the value

    • IdLookup: This Converter can be used to lookup an id from the import_state. Is is usefull in combination with import_group

  • ConverterParameter: The parameter the converter takes. The value depends on the converter used

    • Expression: The Expression to use. f. (x)=> x.ToString().ToUpper()

    • Lookup: The mapping_name you want to lookup

An example could be

Code Block
languagejson
[
{
  "ConverterName":"Expression",
  "ConverterParameter":"(x) => new int[] { 73, (int.Parse(x.ToString()))  }"
}
]

Be sure to properly quote the QuotationMarks (“ to \”)

comment

A comment. This can be filled by you to still understand the mapping in 2 days.

import_configuration_id

The ImportId of the importer. This one is the link to the _import_configuration table

...