Verwendung
Modul- und Funktionsdokumentation
Jedes im System installierte Modul verfügt automatisch über eine Dokumentation. Die Dokumentation aller Modulfunktionen ist in Swagger eingebunden und unter folgendem Pfad zugänglich:
Beispiel:
Module
Jedes Modul im Turm bietet mindestens zwei Funktionen:
- Datenabruf aus dem Quellsystem: Beim Espo-Beispiel werden Daten von Espo in den Turm importiert. Der Endpunkt ist nach der jeweiligen Entität im Fremdsystem benannt. Um zum Beispiel
Accounts
abzurufen, lautet die POST-URL:
- Datensynchronisation zum Fremdsystem: Für die Übertragung von Daten vom Turm nach Espo wird der Sync-Endpunkt verwendet. Hier wird zusätzlich spezifiziert, welches Mapping genutzt wird. Bei Verwendung von Mapping Nr. 1 lautet der Endpunkt:
Merke
- Alle Funktionen sind unter
/docs
zu finden. - Funktion: Entity > Import in den Turm.
- Funktion: Entity/sync/nr > Export aus dem Turm in das Fremdsystem.
Tabellen im Turm
Hinweis
Es ist nicht nötig, Tabellen manuell zu definieren. Der Turm legt automatisch Tabellen an, sobald diese benötigt werden.
Der Name der Tabelle lautet immer modulname_
entity. Für die EspoCRM Accounts wäre das:
Protipp
Der Turm differenziert zwischen internen und externen Tabellen. Interne Tabellen beginnen mit turm_
und sollten nicht extern verändert werden. Zum Beispiel enthält die Tabelle turm_link_1
die Verknüpfungen vom Link 1.
Spalten im Turm
Jede Tabelle verfügt mindestens über vier Spalten, die automatisch vom Turm angelegt werden:
- id – die turm-interne ID, automatisch hochgezählt durch den Turm.
- id_ext – die ID aus dem externen System, muss eindeutig sein und dient der Aktualisierung von Datensätzen.
- turm_create_date – das Erstellungsdatum des Datensatzes, wird automatisch durch den Turm gesetzt.
- turm_mod_date – das Änderungsdatum des Datensatzes, wird automatisch durch den Turm aktualisiert.
Der Turm ergänzt fehlende Spalten selbstständig im laufenden Betrieb, ein manuelles Anlegen ist nicht erforderlich.
Protipp
- Es können etwa 1.600 Spalten pro Tabelle angelegt werden.
- Alle Spalten sind standardmäßig vom Typ Text und können bis zu 1GB Text aufnehmen (Stand: 13.09.2022) (PostgreSQL-Dokumentation).
Protipp
Da jede Spalte standardmäßig vom Typ Text ist, kann es erforderlich sein, das Format anzupassen. Dies geschieht im Mapping-Prozess (siehe weiter unten).
Eine leere Tabelle anlegen
Es ist möglich, leere Tabellen anzulegen, falls noch kein Sync stattgefunden hat. Es ist jedoch empfehlenswert, eine Tabelle aus einem bestehenden System zu erstellen, da so auch gleich die Spalten des Fremdsystems automatisch angelegt und gemappt werden können.
Um eine Tabelle anzulegen, nutzen Sie die Tabellenübersicht:
Dort finden Sie einen Button zum Anlegen einer neuen Tabelle:
Merke
- Tabellen werden automatisch angelegt und benannt nach dem Schema: Modulname_Entityname.
- Spalten werden automatisch angelegt und sind standardmäßig vom Typ Text, auch wenn sie eigentlich Integer oder Datumsfelder darstellen.
- Leere Tabellen sollten nur in Ausnahmefällen definiert werden.
Protipp
Sie können auch Views in der Datenbank anlegen. Diese müssen allerdings im Namen mit _view
enden.
Mapping / Einen Link anlegen
Ein Link verbindet den Turm mit einem Fremdsystem. Hierbei werden Daten geändert oder übertragen. Dies erfolgt mittels Mapping. Das Mapping weist den Turm an, welche Informationen wohin geschrieben werden. Zum Beispiel soll das Feld Notiz aus dem CRM als Beschreibung im DMS erscheinen. Dadurch können Daten von einer Webapp zur anderen übertragen werden.
Jede Entität aus jedem Modul entspricht einer Tabelle im Turm. Um Entitäten zu verknüpfen, muss ein neuer Link angelegt werden.