Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

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

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.

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

[
{
  "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

List Antony Fields

Of course you want to configure the mapping of the fields to the according antony fields. Therefore you need to know the name of the fields antony provides. You can find them here

Contact

TargetType: “antony://contact”

Antony Mapping Field

.net Data-Type

Comments

MainContactId

System.Int64

This is the id of antonys main contact, if the contact wants to be a subcontact. Normally you wont have this present within the foreign system - So you need to map them. Therefore you can use the build in Converter “IdLookup” and provide the mapping_name of the corresponding import. The importer will resolve antonys MainContactId automatically.

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

If the given main contact isn't present within antonys import mapping, the crearted contact will be a normal main contact

TitleId

System.Int64

The id of the title of the contact. You can find them in the table type_title

Company

System.String

Firstname

System.String

Lastname

System.String

Street

System.String

Zipcode

System.String

City

System.String

State

System.Int64

The id of the state. You can find it them in the table type_state

CountryId

System.Int64

The id of the country. You can find them in the table type_contry

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

The id of the state. You can find it them in the table type_state

CountryIdPrivate

System.Int64

The id of the country. You can find them in the table type_contry

PhonePrivate

System.String

Phone2Private

System.String

FaxPrivate

System.String

Department

System.String

Picture

Byte[]

Birthday

System.DateTime

Be sure to place LocalTime here

ContactGroup

System.Boolean

This is a write only property. If you pass a contact group here the contact will be added to the given contact group. The present contact will not be removed from existing ones

Customfields of contacts can be added by placing Field_n within the antony_field. The n is the id of the customfield itselve. You can either grab is from antonys visual editor or the table instance_customfields

Appointment

TargetType: “antony://appointment”

Antony Mapping Field

.net Data-Type

Comments

UID

System.Int64

Sequence

System.Int64

AllDay

System.Boolean

StartDateTime

System.DateTime

LOCALTIME!

EndDateTime

System.DateTime

LOCALTIME!

Subject

System.String

Location

System.String

Description

System.String

Label

System.Int64

Status

System.Int64

IsPrivate

System.Boolean

HasReminder

System.Boolean

True, if a reminder is configured

ReminderTimeBeforeStart

System.Int64

The number of nanoseconds of the reminder time.

This is some kind of technical dept.

ResourceIds

List`1

The ids of the resource the appointment should be placed in. You can find them within the antony admin.

Example converter_infos placing an appointment within calendar 73 and the mapped field.

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

Creating recurring appointments is not supported.

Flexobjects

The importer is also able to import flexobjects, which are configured within your environment. As a flexobject only contains CustomFields you need to look them up. They can be added by placing Field_n within the antony_field. The n is the id of the customfield itselve. You can either grab is from antonys visual editor or the table instance_customfields

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

The type_id is the id of the type of the flexobject itselve. You can find it in the table flexobject

Conclusion

The import is a powerful but complex tool to import any data from an external datasource. You can also write a custom importer to grab data from your custom source.

If you have troubles to get your import up an running, please contact us.

  • No labels