Modularität-FAQ und -Schnellstart
Für Nutzer, die Modularität v2 in Ninox 3.17 Beta in der Private Cloud testen
1. Einführung
Mit Modularität können Sie eine eigenständige Ninox-Datenbank (ein Modul) erstellen, die über eine Modulschnittstelle in andere Arbeitsbereiche eingebunden werden kann. Die Vorteile sind Isolation, Wiederverwendbarkeit und sichere Updates – Fehler und Schemaänderungen bleiben in ihrem eigenen Modul, und Sie können neue Versionen veröffentlichen, ohne dass dies Auswirkungen auf Verbraucherinnen hat.
Dieser Artikel richtet sich an Partner, die Modularität in der Beta-Phase testen. Wir begleiten Sie vom ersten Kontakt über die tägliche Nutzung bis hin zur Fehlerbehebung. Bei Bedarf finden Sie vollständige Definitionen im Glossar, das Sie in einer zweiten Registerkarte geöffnet lassen können.
Hinweise zum Testen der Beta-Version
- Einige Phasen befinden sich in der aktiven Entwicklung, daher sind Änderungen an der Benutzeroberfläche und gelegentliche Unvollkommenheiten zu erwarten.
- In dieser Beta-Version können nur Datenfelder freigegeben werden; Felder für Beziehungen, Formeln, Bilder und dynamische (Mehrfach-)Auswahl werden noch nicht unterstützt.
- Das HR-Modul kann noch nicht verbunden werden. Wie in der Webinar-Demo erwähnt, konzentrieren wir uns derzeit darauf, die Module unabhängig, interoperabel und austauschbar zu machen. Sobald dies funktioniert, werden wir uns mit der Distribution und einfacheren Updates befassen.
- Wir werden diesen Artikel und die anderen Dokumentationen (Glossar, Konzepte) mit jeder neuen Phase aktualisieren.
- Bei Fragen oder Problemen beim Testen schreiben Sie bitte einen Beitrag im Forum. Bei Fragen zur Dokumentation kommentieren Sie bitte direkt unter dem Artikel.
Für bestehende Produktionsdatenbanken, die Sie in Module konvertieren möchten
Bestehende Verknüpfungen zu verbundenen Datenbanken und externe API-Integrationen sollten weiterhin funktionieren. Die wichtigste Einschränkung ist, dass ein Feld, das aus einer mit Modularität v1 erstellten Datenbankverbindung stammt, möglicherweise nicht freigegeben wird und es daher zu Problemen kommen kann. Bitte testen Sie dies während der Beta-Phase und teilen Sie uns mit, wenn es nicht funktioniert.
2. Wichtige Rollen und Begriffe
- Modulautor: Erstellt die Anbieterdatenbank, gibt Tabellen/Felder frei, versioniert die Schnittstelle und veröffentlicht später das Modul.
- Modulverbraucher: Fügt das Modul einem Arbeitsbereich hinzu, stellt eine Verbindung zu seiner Schnittstelle her, wählt Lese- oder Schreibrechte und kann es später möglicherweise innerhalb der eigenen Ninox-App erweitern.
- Endnutzer: Arbeitet in der fertigen Lösung und ist in der Regel nicht darüber informiert, dass diese im Hintergrund von Modulen unterstützt wird.
3. Module und Schnittstellen verstehen
Was ist ein Modul?
Ein Modul ist eine eigenständige Ninox-Datenbank, die nur die von Ihnen ausgewählten Daten und Logik gemeinsam nutzt. Sie können es in vielen Arbeitsbereichen wiederverwenden und sicher aktualisieren, ohne Ihre interne Konfiguration offenzulegen. In Zukunft werden wir möglicherweise Möglichkeiten zum Verpacken oder Monetarisieren von Modulen hinzufügen, aber diese Features sind in dieser Beta-Version noch nicht verfügbar.
Was ist eine Schnittstelle?
Eine Schnittstelle ist der öffentliche Vertrag zwischen Ihrer Anbieterdatenbank und allen Verbraucherdatenbanken, die mit ihr verbunden sind. Sie definiert alle Tabellen und Felder, die Sie freigeben, anhand folgender Angaben:
- Die Schnittstellen-ID (eindeutige Bezeichnung, die die API identifiziert)
- Jede Tabellen-ID mit ihrem öffentlichen Namen
- Jede Feld-ID mit ihrem öffentlichen Namen
- Die Zugriffsrechte für jedes Feld (Lesen oder Schreiben)
Visuelle Hilfe – Aufbau eines Moduls
Dieses Diagramm zeigt, wie die 3 Teile eines Moduls derzeit zusammenwirken:
- Anbieterdatenbank: Hier befinden sich Ihre Tabellen, Felder und Skripte. Alles, was Sie hier freigeben, wird über die Schnittstelle ausgegeben. Sie behalten immer Schreibrechte.
- Modulschnittstelle: Die Liste der Tabellen und Felder, die Sie freigegeben haben, mit ihren internen Namen, den Namen, die Ihre Verbraucherinnen sehen, und der Zugriffsebene jedes Elements.
- Verbraucherdatenbank: Was Ihre Endnutzerinnen installieren. Ninox erstellt hier externe Tabellen, die Ihre freigegebenen Daten spiegeln und während der Verbindung synchronisiert bleiben. Sie entscheiden, ob Endnutzer in diese Tabellen zurückschreiben können.
4. Lebenszyklus eines Moduls
Das Diagramm zeigt den idealen End-to-End-Prozess eines Moduls: Entwerfen → Freigeben → Testen → Veröffentlichen → Verbrauchen/Bereitstellen → Aktualisieren/Abkündigen.
Im Folgenden finden Sie einen Überblick über die einzelnen Phasen mit Hinweisen dazu, was Sie derzeit in der Beta-Version tun können und was noch nicht verfügbar ist.
- Entwerfen – heute verfügbar
Erstellen Sie Ihr Schema, Ihre Skripte und Ihre Geschäftslogik in einer normalen Ninox-Datenbank. Betrachten Sie dies als Blaupause für Ihr zukünftiges Modul. - Freigeben – heute verfügbar (mit Einschränkungen)
Öffnen Sie die Moduleinstellungen > Öffentliche Felder konfigurieren und wählen Sie aus, welche Tabellen und Datenfelder Sie freigegeben wollen. In der aktuellen Beta-Version können nur Datenfelder freigegeben werden. Beziehungs-, Formel-, Bild- und dynamische (Mehrfach-)Auswahlfelder sind in dieser Beta-Version nicht verfügbar. - Testen – nicht verfügbar
Automatisierte Integrationstests, die Ihre freigegebene Schnittstelle vor der Veröffentlichung überprüfen, sind in der Beta-Version noch nicht verfügbar. Erstellen Sie vorerst eine temporäre Verbraucherdatenbank und testen Sie manuell. - Veröffentlichen – nicht verfügbar
In späteren Versionen können Sie das Modul (einschließlich seiner Schnittstelle) möglicherweise verpacken und für einen Kanal freigeben, sodass es von jedem Arbeitsbereich gefunden und hinzugefügt werden kann. Während der Beta-Phase ist die Freigabe auf private Arbeitsbereiche oder Importe (direkte Kopien) beschränkt. - Verbrauchen und Bereitstellen – heute verfügbar
- Verbrauchen: Fügen Sie das Modul einem anderen Arbeitsbereich hinzu. Ninox erstellt externe Tabellen, die synchronisiert bleiben.
- Bereitstellen: Sobald ein Verbraucher eine Verbindung herstellt, liefert Ihre Anbieterdatenbank Live-Daten (und akzeptiert Schreibvorgänge, wenn Sie diese Berechtigung erteilt haben) über die freigegebene Schnittstelle.
- Aktualisieren (heute verfügbar – mit Einschränkungen) und Abkündigen (nicht verfügbar)
Umbenennen der Schnittstellen-ID sowie Aktualisieren, Verschieben oder Löschen freigegebener Tabellen und Felder erstellt eine neue Schnittstelle, die Verbraucherinnen aktualisieren können, wenn sie bereit sind. Um ein Modul abzukündigen (einzustellen), markieren Sie alte Versionen als veraltet und weisen Sie Verbraucher auf das Update hin.
- Aktualisieren: Modularität v2 unterstützt noch keine Updates Ihrer eigenen Module. Verwenden Sie in der Zwischenzeit den Update-Manager oder teilen Sie eine aktualisierte Datenbank zum Importieren.
- Abkündigen: Es gibt bisher keinen formellen Ablauf für die Abkündigung. Sie können Versionen nicht als veraltet markieren oder Verbraucherinnen innerhalb von Ninox zur Aktualisierung auffordern. Kommunizieren Sie vorerst direkt mit den Verbrauchern und stellen Sie ihnen manuelle Anweisungen für die Umstellung auf neuere Versionen bereit.
5. Namen und IDs – was Sie bedenkenlos umbenennen können
Schnittstellen-ID: Eindeutige Bezeichnung, die die API identifiziert. Durch Umbenennen wird eine neue Schnittstelle erstellt und bestehende Verbindungen auf der Verbraucherseite werden unterbrochen, bis der Verbraucherinnen auf die neue Version aktualisiert wird.
Tabellen-/Feldname: Nur für Autoreninnen sichtbar, kann jederzeit ohne Bedenken umbenannt werden.
Öffentlicher Tabellen-/Feldname: Verbraucherorientierter Name, der mit einer versteckten System-ID verknüpft ist. Kann ohne Bedenken umbenannt werden, da sich die versteckte ID nie ändert.
6. Erstellen, Bearbeiten und Speichern einer Schnittstelle (Autoren)
So erstellen Sie eine Modulschnittstelle
- Klicken Sie im Arbeitsbereich auf die Karte der Anbieterdatenbank.
- Schalten Sie den Bearbeitungsmodus ein.
- Klicken Sie im linken Navigationsbereich rechts neben dem Datenbanknamen auf den Button mit den drei Punkten.
- Wählen Sie aus der Auswahlliste die Option Moduleinstellungen.
- Wählen Sie im Dialog Öffentliche Felder konfigurieren oben links aus der Auswahlliste eine Tabelle aus.
- Wählen Sie die Felder aus, die Sie freigeben möchten.
- Optional für jedes Feld: Erteilen Sie den Verbrauchern die Berechtigung, Ihre Quelldaten zu überschreiben, indem Sie Schreiben einschalten.
- Optional für jede Tabelle: Legen Sie die Datensatzberechtigungen fest, indem Sie Erstellen und/oder Löschen einschalten.
- Wenn Sie fertig sind, klicken Sie auf den Button Speichern.
- Bestätigen Sie den Vorgang durch Klicken auf den Button Speichern im Dialog.
- Klicken Sie auf der Seite Moduleinstellungen auf den Button Öffentliche Felder konfigurieren.
- Geben Sie auf der Seite Moduleinstellungen eine Schnittstellen-ID ein und klicken Sie auf den Button Schnittstelle speichern.
Warnung: Ihre Schnittstellen-ID ist eine Kennung auf API-Ebene. Das bedeutet, dass eine spätere Änderung der ID automatisch zum Update der Schnittstellenversion führt, wodurch Verbindungen unterbrochen werden und Verbraucherinnen aufgefordert werden, auf die neue Version zu aktualisieren. Schnittstellen-IDs werden auch zur Identifizierung verfügbarer Schnittstellen in der Datenbank von Autorinnen verwendet. Vergeben Sie deshalb einen menschenlesbaren Namen, der den Zweck des Moduls beschreibt.
Tipp: Geben Sie nur das frei, was die Verbraucher wirklich benötigen – weniger Synchronisierungspunkte bedeuten weniger Überraschungen. Vergeben Sie Schreibrechte nur sparsam, da die Verbraucherinnen nach Erteilung der Schreibrechte Ihre Quelldaten überschreiben können.
So bearbeiten Sie eine Modulschnittstelle
- Navigieren Sie zur Seite Moduleinstellungen und klicken Sie auf den Button Schnittstelle bearbeiten.
- Nun haben Sie folgende Möglichkeiten:
- Fügen Sie neue Felder hinzu, die freigegeben werden sollen, oder entfernen Sie bereits freigegebene Felder. Rufen Sie der Dialog Öffentliche Felder konfigurieren auf und befolgen Sie die gleichen Schritte wie beim Erstellen einer Schnittstelle.
- Aktualisieren Sie den Schnittstellen-ID, indem Sie auf den Button Schnittstelle bearbeiten klicken.
So löschen Sie eine Modulschnittstelle
- Navigieren Sie zur Seite Moduleinstellungen und klicken Sie auf den Button Löschen.
- Bestätigen Sie den Vorgang, indem Sie im Dialog auf den Button Schnittstelle löschen klicken.
Hinweis: Wenn Sie alle zuvor freigegebenen Felder im Dialog Öffentliche Felder konfigurieren deaktivieren und Ihre Änderungen speichern, wird Ihre Modulschnittstelle automatisch gelöscht.
7. Datenfreigabe und -synchronisierung
Derzeit unterstützt: Tabellen und einfache Datenfelder wie Text, Zahl, Datum + Uhrzeit, Ja / Nein, Auswahl und Mehrfachauswahl.
Geplant, noch nicht unterstützt: Beziehungsfelder, Formelfelder, Bildfelder, dynamische (Mehrfach-)Auswahlfelder.
Zu Testzwecken: Stellen Sie sicher, dass Ihre Daten in einem unterstützten Format (d. h. als Datenfelder) übertragen werden.
8. Modul verbinden (Verbraucher)
So verbinden Sie ein Modul:
- Klicken Sie im Arbeitsbereich auf die Karte der Anbieterdatenbank.
- Schalten Sie den Bearbeitungsmodus ein.
- Klicken Sie auf die Karte Modul verbinden.
- Wählen Sie im Dialog Modul verbinden ein Modul aus.
- Klicken Sie auf den Button Weiter.
- Wählen Sie in der oberen linken Ecke eine Tabelle aus der Auswahlliste aus, um eine Vorschau aller für die Verbindung verfügbaren Felder und Ihre Zugriffsrechte für jedes Feld anzuzeigen.
- Klicken Sie auf den Button Verbinden.
- Der Dialog wird ausgeblendet und bei erfolgreicher Verbindung wird in der oberen rechten Ecke Ihres Bildschirms kurz die Meldung Modulschnittstelle gespeichert angezeigt.
9. Datenkonflikte lösen und Modul erneut verbinden (Verbraucher)
Wenn eine Anbieter- oder Verbraucherdatenbank gelöscht oder verschoben wird, bleiben die Daten zwar erhalten, jedoch wird die Synchronisierung unterbrochen.
So verbinden Sie das Modul erneut:
- Klicken Sie im Arbeitsbereich auf die Karte der Anbieterdatenbank.
- Schalten Sie den Bearbeitungsmodus ein.
- Klicken Sie auf die Karte Modul verbinden.
- Wählen Sie im Dialog Modul verbinden ein Modul aus.
- Klicken Sie auf den Button Weiter.
- Wie beim ersten Verbinden, sehen Sie eine Vorschau aller für die Verbindung verfügbaren Felder und Ihre Zugriffsrechte für jedes Feld.
- Klicken Sie auf den Button Verbinden.
- Alle erkannten Datenkonflikte werden angezeigt. Neue Datensätze werden in grün, aktualisierte in blau und gelöschte in rot hervorgehoben.
- Sie haben zwei Optionen:
- Widersprüchliche Verbraucherdaten mit Anbieterdaten des überschreiben. Klicken Sie dazu erneut auf den Button Verbinden. Der Dialog wird ausgeblendet und bei erfolgreicher Verbindung wird in der oberen rechten Ecke Ihres Bildschirms kurz die Meldung Modulschnittstelle gespeichert angezeigt.
- Datenkonflikte manuell lösen. Öffnen Sie dazu die im Dialog benannte Tabelle und korrigieren Sie die widersprüchlichen Verbraucherdaten. Wenn Sie fertig sind, klicken Sie auf Abbrechen. Starten Sie anschließend den Vorgang zum Verbinden des Moduls erneut.
10. Felder entfernen (Autoren)
So entfernen Sie freigegebene Felder aus einer Schnittstelle:
- Klicken Sie im Arbeitsbereich auf die Karte der Anbieterdatenbank.
- Schalten Sie den Bearbeitungsmodus ein.
- Klicken Sie im linken Navigationsbereich rechts neben dem Datenbanknamen auf den Button mit den drei Punkten.
- Wählen Sie aus der Auswahlliste die Option Moduleinstellungen aus.
- Klicken Sie auf der Seite Moduleinstellungen unter dem Tabellennamen auf das Papierkorbsymbol für jedes Feld, das Sie nicht mehr freigeben möchten.
- Wiederholen Sie diesen Vorgang für alle Tabellen, die Felder enthalten, die Sie entfernen möchten.
- Klicken Sie auf den Button Schnittstelle speichern.
- Bestätigen Sie den Vorgang, indem Sie im Dialog auf den Button Speichern klicken.
11. Wohin als nächstes
- Für ein tieferes, abstrakteres Verständnis der Modularität von Ninox gehen Sie zu den Modularität-Konzepten.
- Genaue Definitionen von Rollen, Feldern, Namen und Berechtigungen finden Sie im Glossar.