Tenants, Apps und Märkte
Vier Begriffe beantworten fast jede Frage, die mit „Wo stelle ich das um?“ beginnt: Tenant, App, Abo und Markt. Sie sind zwanzig Minuten wert, denn die meiste Verwirrung in der Administration entsteht, weil einer davon mit einem anderen verwechselt wird.
Ihr Tenant ist Ihr Unternehmen
Ein Tenant ist ein Unternehmen. Ihres. Er hat eine feste, lesbare Kennung,
einen Slug wie max-mueller-gmbh, die Ihre Daten überallhin begleitet: in der
Datenbank, im Anmeldesystem, in URLs, in Logs, im Support-Fall, den jemand für
Sie eröffnet. Die Kennung wird beim Anlegen des Tenants vergeben und ändert sich
danach nicht mehr. Wählen Sie also einen Namen, mit dem Sie leben können.
Die Plattform ist mandantenfähig: dieselbe Software bedient jeden Kunden. Ihre Daten liegen nicht in einer eigenen Kopie der Anwendung, und sie sind auch nicht mit denen anderer vermischt. Die Datenbank erzwingt die Trennung, eine Ebene unterhalb der Software: jede Tabelle trägt die Tenant-Kennung, und jede Abfrage wird gegen die Kennung in Ihrer Sitzung gefiltert, bevor die Anwendung eine Zeile zu sehen bekommt. Das ist keine Regel, an die eine App denken muss. Eine App kann sie nicht vergessen, und eine schlecht geschriebene App kann sie nicht umgehen.
Alles ist eine App, auch das, was schon da ist
Das ist der Gedanke, der überrascht. Produkte, Preise, Bestellungen, Kunden, Märkte, also die Dinge, die am ersten Tag da waren, sind nicht „die Plattform“, an die seitlich Apps angeschraubt werden. Sie sind Apps, gebaut wie alles, was Sie später hinzufügen, und beim Anlegen Ihres Tenants installiert.
Eine App ist in sich geschlossen und erklärt in einer Handvoll Dateien, was sie ist:
| Datei | Was sie deklariert |
|---|---|
manifest.json | Identität, Version, Abhängigkeiten und die Berechtigungen, die die App braucht |
schema.json | Die Tabellen, die ihr gehören: ihr Datenmodell |
cockpit.json | Was sie dem Cockpit hinzufügt: Navigationseinträge, Bildschirme, Dashboard-Widgets, Schaltflächen |
settings.json | Ihre Konfiguration, pro Tenant und pro Markt |
billing.json | Wie sie verkauft wird: enthalten, kostenlos oder kostenpflichtig |
Zwei Folgen, die Ihnen im Alltag begegnen:
Die Navigation des Cockpits wird zusammengesetzt, sie ist nicht fest. Das Menü, das Sie sehen, ist die Summe der in Ihrem Tenant installierten Apps. Installieren Sie eine App, erscheinen neue Einträge; deinstallieren Sie sie, verschwinden sie. Hat das Cockpit einer Kollegin einen Menüpunkt, den Ihres nicht hat, liegt das an einer installierten App oder einer Berechtigung, nicht an einem Fehler.
Apps haben von sich aus keinen Zugriff. Eine App deklariert in ihrem Manifest jede Entität, die sie liest und schreibt, und jede Fähigkeit, die sie braucht: ausgehenden Netzwerkzugriff auf einen benannten Host, Event-Abonnements, Speicher. Diese Deklaration sehen Sie an der App als ihr Zugriffsregister, und es lohnt sich, es zu lesen. Eine App, die Schreibzugriff auf Preise verlangt, sagt Ihnen etwas, über das Sie entscheiden sollten, statt daran vorbeizuscrollen.
Sie geben Zugriff ausdrücklich frei, wenn ein App-Update mehr verlangt als bisher. Bis Sie freigeben, läuft Ihr Tenant auf der Version weiter, der Sie bereits zugestimmt haben. Siehe Apps und der Marketplace.
Apps gibt es in drei Arten, und der Unterschied steht auf Ihrer Rechnung:
| Art | Woher sie kommt | Preismodell |
|---|---|---|
| Enthalten | Kern-Apps, die mit Ihrem Abo kommen | Enthalten |
| Öffentlich | Der App-Marketplace, von revenexx oder einem zugelassenen Partner | Kostenlos oder Kostenpflichtig |
| Privat | Nur für Ihr Unternehmen gebaut, von Ihnen oder Ihrem Partner | Nicht öffentlich gelistet |
Ihr Abo entscheidet, was enthalten ist
Ihr Abo ist ein Tarif. Apps mit dem Preismodell Enthalten kommen mit ihm; der Marketplace legt Funktionen obendrauf, entweder kostenlos oder auf einer eigenen Abo-Zeile.
Das ist die Antwort auf „Die Dokumentation beschreibt einen Bildschirm, den ich nicht habe“. Drei mögliche Ursachen, in der Reihenfolge, in der sich das Prüfen lohnt: Die App ist nicht installiert, Ihr Abo enthält sie nicht, oder Ihr Zugriff erlaubt sie nicht. Siehe Abo und Abrechnung und Nutzer, Rollen und Berechtigungen.
Märkte sind Geschäftskontexte innerhalb Ihres Tenants
Ein Markt ist ein eigener kommerzieller Kontext innerhalb Ihres einen Tenants: ein Land, eine Region, eine Marke, ein B2C-Ableger eines B2B-Geschäfts. Jeder Markt hat seine eigene Basiswährung, seine eigenen Locales, die Währungen, in denen er handelt, und seine eigenen Steuerklassen. Sie pflegen sie unter Commerce Studio › Configuration › Märkte, mit den Reitern Übersicht, Währungen und Steuerklassen.
Märkte kommen aus einer Kern-App, die auf jedem Tenant vorhanden ist, und diese App tut eine strukturelle Sache: Sie gibt jeder anderen App eine Dimension, nach der sie Daten aufteilen kann. Produkte, Preise, Kunden, Bestellungen und Kundenkennzahlen lassen sich alle pro Markt abgrenzen. Deshalb ist ein Markt die richtige Antwort für die österreichische Tochter. Sie bekommen getrennte Währung, Steuer und Sortiment und behalten einen Katalog, einen Kundenstamm und ein Reporting.
Den Markt, in dem Sie arbeiten, wechseln Sie in der oberen Leiste des Cockpits. Die Vorgabe ist Global, und das ist gar kein Markt. Es ist die tenantweite Grundlinie, von der jeder Markt erbt, bis er etwas überschreibt. App-Einstellungen funktionieren genauso: Ein Feld ist entweder global, oder es ist marktbezogen und kann die Grundlinie überschreiben.
Die Unterscheidung, an der sich alle stoßen
Es gibt zwei getrennte Personenkreise mit zwei getrennten Rollensystemen, und sie zu verwechseln ist der häufigste Fehler in diesem Bereich.
| Ihr Team | Die Einkäufer Ihrer Kunden | |
|---|---|---|
| Wer | Ihre Kolleginnen und Kollegen: Admins, Produktmanager, Innendienst | Einkäufer bei den Unternehmen, die bei Ihnen kaufen |
| Wo sie sich anmelden | Im Cockpit, über Revenexx SSO | In Ihrer Storefront |
| Wer sie verwaltet | Sie, unter Einstellungen › Team | Sie, unter CRM › Kontakte, pro Kundenorganisation |
| Was Rollen steuern | Welche Cockpit-Bildschirme und Aktionen sie bekommen | Ob ein Einkäufer Preise sehen, bestellen oder freigeben darf (CRM › Rollen) |
| Dokumentiert in | Nutzer, Rollen und Berechtigungen | Kontakte und Rollen |
Sie teilen keine Konten, kein Login und keine Rollendefinitionen. Einem Kollegen Zugang zum Cockpit zu geben, gibt ihm nichts in Ihrem Shop. Einem Einkäufer eine Freigeber-Rolle in einer Kundenorganisation zu geben, gibt ihm nichts im Cockpit.
Weiter
- Nutzer, Rollen und Berechtigungen — richten Sie zuerst Ihr eigenes Team ein.
- Apps und der Marketplace — was eine Installation tut.