Überblick und Aufruf
Der TableService-Definitionseditor ist die Oberfläche für die Custom Properties
TS_Definition_* und TS_ViewDefinition_*. Aus ihnen liest der TableServiceRouter,
welche Tabellen und Sichten er über die API anbietet, welche Spalten er liefert und
welche davon geschrieben werden dürfen.
Ohne diesen Editor entstehen Definitionen nur aus den Definitionsdateien unter
TableService/data/table-definitions – ein Lauf, der alles überschreibt und sich für
einen einzelnen Kunden nicht anfassen lässt. Mit ihm werden Definitionen im laufenden
System angelegt, geändert, umbenannt, kopiert und gelöscht; die dazugehörige
SQL-Tabelle kann er gleich mit anlegen und erweitern.
Aufruf
Im Bereich Stammdaten stehen dafür zwei Ordner:
| Ordner | Was in der Seitenleiste steht |
|---|---|
| Stammdaten-Konfiguration | die Definitionen der Stammdaten-Datenbank |
| Stammdaten-Konfiguration (Custom) | nur die eigenen Definitionen – die hier angelegten und die aus dem Custom-Ordner des TableService importierten |
Beide Ordner öffnen dieselbe Oberfläche und können dasselbe. Sie unterscheiden sich allein darin, welche Definitionen in der Seitenleiste zur Auswahl stehen; in (Custom) trägt jeder Eintrag den Zusatz eigene.
Welche Definitionen ein Ordner zeigt, ist am Ordner hinterlegt. Weitere Ordner – etwa für eine andere Datenbank – richtet die Administration ein; der Editor selbst legt einen solchen Ordner zu einer geöffneten Definition an, siehe Ordner und Outbar.
Was ein Ordner anzeigt, ist dabei eine Anzeigeentscheidung, keine Befugnis. Was geschrieben werden darf, entscheidet in jedem Fall das Portalskript – siehe Geschützte Datenbanken.
Aufbau der Oberfläche
- Kopfleiste –
Neu,SQL Tabelle anlegen,SQL Tabelle ändern,Aktualisierenund das MenüMehrmit den Werkzeugen für Squeeze, den Tabellenaufbau und JSON. - Seitenleiste – alle sichtbaren Definitionen, nach Tabellen und Views gruppiert, mit Filterfeld und Art-Auswahl.
- Hauptbereich – die geöffnete Definition in drei Reitern:
Allgemein, Spalten und
JSON; darüber
Speichern,Verwerfenund das MenüMehrder Definition. - Statuszeile ganz unten – die Rückmeldung zur letzten Aktion. Grün heißt erledigt, gelb ein Hinweis, rot ein Fehler.
Backend und Offline-Betrieb
Jeder lesende und schreibende Aufruf geht an das Portalskript
DEXPRO__TableServiceDefinitionEditor, aufgerufen über dex_callScriptAsync bzw.
dex_callScript aus DexLib/GeneralFunctions.js. Diese Helfer gehören dem
DOCUMENTS-Client; die Seite sucht sie in diesem Fenster, im parent, im top und im
opener.
Findet sie keinen davon, steht rechts oben das Abzeichen offline:
- Definitionen lassen sich weder lesen noch schreiben,
Speichernbleibt gesperrt. - Bearbeiten geht trotzdem: über Mehr → JSON importieren … lässt sich eine Definition einfügen, im Formular ändern und über Exportieren wieder herunterladen.
Der Normalfall – verbunden – wird nicht angezeigt. Nur der Fehlerfall bekommt ein Abzeichen.
Sprache
Kein sichtbarer Text steht fest in der Seite. Die Texte kommen aus der
Übersetzungstabelle des Clients (lang_properties, Datei Gentable_<lang>.properties),
und solange sie dort noch fehlen, aus TableServiceTranslations.json neben der Seite.
Einzelheiten unter Technik, Dateien und Übersetzungen.