Best Practices für Jitterbit App Builder
Einführung
App Builder-Anwendungen können an Größe und Komplexität zunehmen und erfordern oft die Arbeit mehrerer Entwickler über viele Monate oder Jahre hinweg. Diese Best Practices helfen dir, diese Komplexität zu bewältigen, deine Apps leichter zu warten und sie mit optimaler Leistung am Laufen zu halten.
Der App-Entwicklungslebenszyklus
Entwickle deine Apps, indem du die folgenden Aufgaben iterativ durchläufst:
1. Anforderungen ermitteln: Anforderungen sammeln
Bevor du mit der Entwicklung einer App beginnst, solltest du einen Überblick darüber haben, was sie tun wird und wer sie nutzen wird. Hier sind einige Ideen, wie du diese Informationen beschaffen kannst:
-
Zuhören und lernen: Organisiere persönliche Workshops und Design-Sessions, um zu verstehen, wer die App nutzen wird und was sie tun soll.
-
Wichtige Informationen identifizieren: Sammle und dokumentiere die Kernanforderungen für Daten, Benutzerpersonas, Geschäftsprozesse sowie Zugriff und Sicherheit.
-
Vermeidung von Annahmen: Stelle Fragen, um den App-Nutzer zum kritischen Denken über das zu bewegen, was er dich bauen bittet. Hinterfrage die Begründung und Logik hinter den Geschäftsprozessen deiner Nutzer.
-
Verständnis bestätigen: Lies dein Verständnis der Anforderungen mit deinen App-Nutzern und anderen Stakeholdern durch. Nutze Flussdiagramme und andere visuelle Hilfsmittel, um technische Anforderungen besser mit nicht-technischen Nutzern zu kommunizieren.
2. Modellieren: Das Fundament gestalten
Ein solides Datenmodell ist das Fundament einer erfolgreichen Anwendung. Nimm dir Zeit für diesen Schritt, um später erhebliche Überarbeitungen zu vermeiden.
-
Erstelle ein Entity-Relationship-Diagramm (ERD): Ein ERD dokumentiert dein Datenmodell und macht es einfach, Tabellenstrukturen und Beziehungen zu verstehen. Es bietet eine Whiteboard-ähnliche Erfahrung, bei der du Änderungen leicht vornehmen kannst, bevor du sie in der Datenbank speicherst. Das Folgende ist ein Beispiel für ein einfaches ERD:
erDiagram Student { UUID student_id PK "Student ID" string name } Course { UUID course_id PK "Course ID" string title } Enrollment { UUID enrollment_id PK "Enrollment ID" UUID student_id FK "Student ID" UUID course_id FK "Course ID" string grade } Student ||--o{ Enrollment : "takes" Course ||--o{ Enrollment : "has" -
Grundelemente gestalten: Zusätzlich zum Datenmodell erstellst du nach Bedarf Flussdiagramme, Swimlane-Diagramme, Wireframes und Sitemaps, um das Anwendungsdesign auszuarbeiten.
3. Erstellen und demonstrieren: Iterative Entwicklung
Mit einem soliden Design kannst du mit der Entwicklung der Anwendung beginnen.
-
In Schichten entwickeln: Entwickle deine App in unterschiedlichen Schichten: Daten, Geschäftslogik und Benutzeroberfläche. Baue von der Datenschicht nach oben auf.
-
Definiere ein Minimum Viable Product (MVP): Definiere und liste die Kernelement der App auf und hole die Genehmigung der App-Nutzer ein, bevor du mit dem Hauptaufbau beginnst.
-
Früh und häufig demonstrieren: Plane regelmäßige Demonstrationen der funktionierenden Teile der App. Dies hilft Nutzern zu verstehen, was möglich ist, und ihre Erwartungen und Anforderungen anzupassen.
4. Verfeinern und testen: Feedback und QA einarbeiten
-
Verfeinern: Arbeite Feedback aus Demo-Sessions ein, um die Anwendung zu verfeinern und granularere UI/UX-Design-Funktionen hinzuzufügen.
-
Testen: Gründliches Testen ist wichtig.
-
Interne QA: Führe immer zuerst interne Tests durch, um Fehler zu finden.
-
End-User UAT: Lass App-Nutzer User Acceptance Testing durchführen. Sie kennen den Geschäftsprozess am besten und können wertvollen Feedback geben.
-
Realistische Daten verwenden: Nutze realistische Testdaten, um sicherzustellen, dass Funktionen so getestet werden, wie End-User sie nutzen würden.
-
Positive und negative Tests: Teste sowohl erwartete Ergebnisse (positive Tests) als auch unerwartete Verhaltensweisen (negative Tests).
-
5. Bereitstellen: Release-Management
-
Verpacken und installieren: Nutze App Builders Release Management, um Schemaänderungen und Anwendungsaktualisierungen zwischen Umgebungen zu fördern. Dies stellt sicher, dass Änderungen in der richtigen Reihenfolge repliziert werden und das Risiko menschlicher Fehler reduziert wird.
-
Erste Veröffentlichung: Das MVP ist live in der Produktion. Die Entwicklung wird typischerweise für einen kurzen Zeitraum eingefroren, um sich auf die Produktionsunterstützung zu konzentrieren.
-
Zukünftige Versionen: Der Entwicklungsprozess startet für neue Funktionen und zukünftige Versionen neu.
6. Dokumentieren und pflegen
-
Geschäftsprozess dokumentieren: Dies ist für die Wissensweitergabe, das Onboarding neuer Entwickler und für zukünftige Wartung unerlässlich.
-
Ungenutzte Objekte löschen: Regelmäßig ungenutzte Tabellen, Regeln und Seiten löschen, um die Anwendungskomplexität zu reduzieren und die Arbeit damit zu erleichtern.
-
Nichts unvollständig hinterlassen: Funktionen, an denen man arbeitet, fertigstellen. Eine fehlerhafte oder unvollständige Funktion verwirrt andere Entwickler und ist später schwerer zu vervollständigen.
Datenschicht
Datenmodellierung
-
Namenskonventionen:
-
Für Tabellen unterschiedliche, Singular- und aussagekräftige Substantive verwenden (z. B.
Customer,Order). Abkürzungen wo möglich vermeiden. -
UUIDs für alle Primär- und Fremdschlüssel verwenden. Eine gute Namenskonvention ist
TableNameID(z. B.CustomerID). -
Boolesche Felder mit „is" präfixieren (z. B.
isActive). -
Geschäftsregeln neigen dazu, sich zu vermehren. Namenskonventionen für Geschäftsregeln verwenden, um den Überblick zu behalten.
-
-
Schlüssel und Indizierung:
-
Einteile Primärschlüssel: Einteile UUID-Primärschlüssel verwenden. Dies vereinfacht das Datenmodell und unterstützt automatisch die vollständigen Audit-Funktionen von App Builder.
-
Spalten indizieren: Alle Fremdschlüssel indizieren. Auch alle Felder indizieren, die häufig zum Sortieren, Filtern oder Verbinden von Daten verwendet werden, um die Leistung zu optimieren.
-
-
Beziehungen:
- Bridge- oder Join-Tabellen verwenden, um Viele-zu-Viele-Beziehungen zu verwalten. Flache Designs vermeiden (mehrere Spalten für verwandte Daten zu einer einzelnen Tabelle hinzufügen), da diese nicht skalierbar sind.
Tabellendesign
-
Konfigurierbare Daten: Das Datenmodell so gestalten, dass es konfigurierbar ist. Beispiel:
-
Werte, die sich im Laufe der Zeit ändern können (z. B. Status), sollten in separaten Nachschlagetabellen gespeichert werden, anstatt sie in der Geschäftslogik hart zu codieren.
-
Für zeitbasierte Daten (z. B. Preise) eine Tabelle auf niedrigerer Ebene mit effektiven Datumsbereichen verwenden.
-
-
Auditing aktivieren: Audit Lite oder Full Audit für alle Tabellen aktivieren, um Datenänderungen automatisch für Verlauf und Compliance zu verfolgen.
-
Tabellenverwendung definieren: Beim Erstellen von Tabellen deren Verwendungstyp definieren (Developer, Shared oder User data). Dies steuert, wie Daten zwischen Umgebungen bereitgestellt werden, und ist entscheidend für die Release-Verwaltung.
-
Konsistente Werte: Konsistent sein, wie Werte wie
NULLverwendet werden. EinNULL-Wert sollte eine klare und konsistente Bedeutung im gesamten Datenmodell haben.
Nachschlag- und Parametertabellen
-
Nachschlagetabellen: Nachschlagetabellen verwenden, um Wertlisten zu verwalten. Sie sollten Folgendes enthalten:
-
Title: Ein für Menschen lesbarer Anzeigewert. App Builder verwendet denTitle-Verwendungstyp, um automatisch Listensteuerelemente zu generieren. -
Enum: Ein statischer, für Menschen lesbarer aufgezählter Wert. Enums in der Geschäftslogik zu verwenden ist viel klarer als auf eine rohe UUID zu verweisen. -
IsActive: Ein boolescher Wert, um zu steuern, welche Werte in der Benutzeroberfläche zur Auswahl verfügbar sind. -
Index: Eine Ganzzahlspalte, um die Standard-Sortierreihenfolge der Liste zu steuern.
-
-
Parametertabelle: Jede Anwendung sollte eine Parametertabelle haben. Dies ist eine eindeutige Tabelle, die nur einen Datensatz enthält und zum Speichern globaler Anwendungseinstellungen und Konstanten verwendet wird. Dies vermeidet das Hartcodieren von Werten und ermöglicht es Administratoren, diese über die Benutzeroberfläche zu ändern.
Datenverbindungen
-
Sichere Verbindungen: Sichere Verbindungen zu externen Datenquellen konfigurieren.
-
App Builder-Konnektoren verwenden: Wenn Daten aus der Datenbank einer anderen Anwendung auf demselben Server verwendet werden müssen, einen App Builder-Konnektor verwenden. Dies reduziert Bereitstellungsabhängigkeiten, da die logischen und physischen Modelle beider Datenbanken nicht gleichzeitig bereitgestellt werden müssen.
Geschäftslogik
Regeldesign
-
Verfügbare Regeltypen kennen: Verstehen Sie, wann man Business Objects (zur Datenanzeige), Validierungen (zur Datenprüfung) und CRUD-Regeln (zur Datenänderung) einsetzt.
-
Regeln einfach halten: Vereinfachen Sie die Struktur von Objekten und Regeln. Nutzen Sie wiederverwendbare Unterabfragen überall dort, wo möglich, um Logik-Duplikate zu vermeiden.
-
Datengesteuerte Logik:
-
Mehr konfigurieren, weniger programmieren: Speichern Sie veränderbare Werte in Konfigurationstabellen, nicht direkt in Regeln. Dies ermöglicht einfache Updates über die Benutzeroberfläche ohne Entwickler-Eingriff.
-
Logik über das Datenmodell durchsetzen: Bauen Sie Logik auf Tabellenkonfiguration auf, anstatt Werte hart zu codieren. Verwenden Sie beispielsweise ein boolesches Feld in einer Tabelle, um einen Prozess zu steuern, anstatt eine
IIF-Anweisung mit einem hart codierten Status.
-
-
Funktionen effizient nutzen: Nutzen Sie die integrierten mvSQL-Funktionen von App Builder für häufige Aufgaben.
Namenskonventionen für Business Rules
Eine konsistente Namenskonvention für Business Rules hilft dabei, komplexe Apps zu verwalten. Verwenden Sie das folgende allgemeine Muster: Ziel (Zweck oder Untertyp) Beschreibung – Optionaler Filter.
| Regeltyp | Namensmuster | Beispiel |
|---|---|---|
| Business Object (Events) | {{Ziel}} ({{Beschreibung}}) |
Customer (Details) |
| Business Object (Reporting) | {{Ziel}} ({{Edge Case Untertyp}}) {{Beschreibung}} |
Customer (Chart) Sales Trend |
| List | {{Ziel}} (List) {{Optionale Beschreibung}} |
Customer (List) |
| Subquery | {{Ziel}} (Subquery) {{Beschreibung}} |
Customer (Subquery) Concat Search Term |
| CRUD/Insert, CRUD/Cram | {{Ziel}} ({{Untertyp}}) {{Beschreibung|Quelle}} |
Customer (Insert) Salesforce |
| CRUD/Update | {{Ziel}} ({{Untertyp}}) {{Beschreibung|Feldnamen}} |
Customer (Update) Standing ID |
| CRUD/Delete | {{Ziel}} ({{Untertyp}}) {{Beschreibung}} |
Customer (Delete) No Activity |
| Default | {{Ziel}} (Default) {{Feldnamen}} – {{Quelltabelle}} |
Customer (Default) AccountStatusID |
| Performance SQL | {{Ziel}} {{SQL-Funktion}} {{Beschreibung}} |
Customer (Group By) Country, State |
| Validation | {{Ziel}} (Validation) {{Beschreibung}} |
Customer (Validation) Name too short |
| Visibility | {{Ziel}} (Visibility) {{Beschreibung|Quelltabelle}} |
Customer (Visibility) CustomerType |
| Bridge | {{Ziel}} (Bridge) {{Beschreibung}} |
Order (Bridge) Failed |
| Reach | {{Ziel}} (Reach) {{Beschreibung|Quelltabelle}} |
Customer (Reach) CustomerType |
| Webhook | {{Ziel}} (Webhook) {{Beschreibung}} |
Customer (Webhook) External |
Abfrageoptimierung
-
Nur benötigte Spalten auswählen: Beziehen Sie nur die Spalten ein, die Sie in Ihren Regeln benötigen.
-
Nach Schlüsseln verknüpfen: Verknüpfen Sie Tabellen mit ihren UUID-Schlüsseln für optimale Leistung.
-
Intelligente Verknüpfungen: Verwenden Sie den passenden Join-Typ für Ihre Anforderungen. Bevorzugen Sie die Verwendung eines einzelnen Outer-Join-Typs (wie
LEFT JOIN) in einer Abfrage. -
WHERE-Klauseln optimieren: Vermeiden Sie Ausdrücke auf beiden Seiten eines
WHERE-Klausel-Operators, da dies die Leistung beeinträchtigen kann. -
Union auf höchster Ebene: Verwenden Sie beim Kombinieren von Datensätzen
UNIONauf der höchstmöglichen Ebene in Ihrer Abfrage für bessere Leistung.
Ereignisse und Aktionen
-
Ereignisse auf Tabellenebene registrieren: Registrieren Sie Ereignisse (wie Validierungen und Aktionen) nach Möglichkeit auf Tabellenebene. Dies ermöglicht es anderen Geschäftsregeln, diese Logik zu erben, und bietet einen zentralen Ort für die Verwaltung.
-
Aktionen verketten: Verwenden Sie Erfolgs- und Fehleraktionen, um mehrere Regeln und Validierungen für komplexe „Wenn-dann"-Workflows zu verknüpfen.
-
Trigger verstehen: Verstehen Sie, was ein Ereignis auslöst (eine Systemaktionen oder eine Benutzeraktion).
Validierungen
-
Datenqualität erzwingen: Verwenden Sie Validierungen, um sicherzustellen, dass Daten korrekt sind, bevor sie gespeichert werden.
-
Mehrstufige Durchsetzung: Wenden Sie Validierungen auf der Ebene der Geschäftslogik oder Tabelle an, nicht nur in der Benutzeroberfläche, um die Datenintegrität zu gewährleisten.
UI/UX
Ein gutes UI/UX-Design ist für den Erfolg einer Anwendung entscheidend. Eine gut gestaltete Benutzeroberfläche sollte intuitiv, effizient und komfortabel für den App-Benutzer sein.
Grundprinzipien
-
Funktionalität zuerst: Konzentrieren Sie sich darauf, eine funktionsfähige Anwendung zu erstellen, bevor Sie das visuelle Design verfeinern. Geschäftslogik und Datenstrukturen können sich während der Entwicklung ändern, was möglicherweise zu einer Überarbeitung vorzeitiger UI-Arbeiten führt.
-
Konsistenz ist entscheidend: Alle Elemente, von Schaltflächen und Schriftarten bis hin zu Farben und Layout, sollten in der gesamten Anwendung konsistent sein. Dies schafft ein komfortables und vorhersehbares Erlebnis für Benutzer.
-
Halten Sie es sauber:
-
Seien Sie großzügig mit Platz: Quetschen Sie Elemente nicht in die Benutzeroberfläche. Angemessener Abstand reduziert Unordnung und kognitive Belastung und macht Informationen leichter verdaulich.
-
Verwenden Sie subtile Gestaltung: Verwenden Sie saubere, moderne Gestaltung. Beispielsweise sollten Schatten leicht und subtil sein, nicht dunkel und überwältigend (es sei denn, das ist Ihre Unternehmensgestaltung).
-
Löschen Sie ungenutzte Objekte: Entfernen Sie ungenutzte Seiten und andere Objekte, um den App-Overhead zu reduzieren und die Wartung zu erleichtern.
-
Layout und Navigation
-
Wählen Sie die richtige Navigation:
-
Seitennavigation ist in der Regel die beste Wahl, da sie responsiv, skalierbar ist und eine Ordner-/Baumstruktur deutlich anzeigen kann. Sie eignet sich am besten für Apps mit vielen Navigationselementen.
-
Top-Navigation funktioniert gut für Apps mit sehr wenigen Elementen auf oberster Ebene, bei denen Bildschirmplatz Priorität hat. Sie eignet sich nicht gut für responsives Design oder tiefe Untermenüs.
-
-
Etablieren Sie eine visuelle Hierarchie: Verwenden Sie Größe, Gewicht und Farbe, um den Blick des App-Benutzers auf die wichtigsten Informationen auf der Seite zu lenken. Bereichsüberschriften, Unterüberschriften und Inhalte sollten unterschiedlich sein.
-
Vereinfachen Sie Aktionen: Geben Sie Ihren App-Benutzern einen einzigen, klaren Ort, um eine bestimmte Aktion auszuführen. Vermeiden Sie mehrere Möglichkeiten, um dasselbe zu tun.
-
Organisieren Sie Inhalte:
-
Gruppieren Sie Inhalte: Organisieren Sie komplexe Bildschirme mit logischen Gruppen oder Registerkarten.
-
Verbinden Sie Bereiche: Verbinden Sie UI-Bereiche so, dass die Auswahl eines Elements in einem automatisch zugehörige Informationen in einem anderen aktualisiert.
-
Verwenden Sie Pop-ups richtig: Verwenden Sie Pop-up-Fenster für Details oder Dateneingabe. Zeigen Sie niemals mehrere Pop-ups übereinander an.
-
Benutzereingabe und Interaktion
-
Entwerfen Sie klare Schaltflächen:
-
Aktionsorientierter Text: Verwenden Sie Aktionsverben auf Schaltflächen (z. B. „Bericht erstellen", „Für später speichern") anstelle von generischem Text wie „Ja" oder „Nein".
-
Schaltflächenhierarchie: Erstellen Sie eine klare visuelle Unterscheidung zwischen primären Aktionen (durchgehende, fette Farben) und sekundären Aktionen (Umriss oder weniger prominent).
-
-
Geben Sie hilfreiche Fehlermeldungen: Fehlermeldungen sollten einfache Sprache verwenden, das Problem klar identifizieren und konstruktiv eine Lösung vorschlagen. Verlassen Sie sich nicht ausschließlich auf Farbe, um einen Fehler anzuzeigen.
-
Verwenden Sie Symbole effektiv:
-
Verwenden Sie Beschriftungen mit erkennbaren Symbolen: Verwenden Sie bekannte Symbole (z. B. eine Lupe für die Suche) in Kombination mit aussagekräftigen Textbeschriftungen. Viele Symbole werden von App-Benutzern allein nicht universell verstanden.
-
Behalten Sie einen konsistenten Stil bei: Verwenden Sie Symbole, die denselben visuellen Stil haben (z. B. Füllung, Strich und Größe).
-
-
Verbessern Sie die Dateneingabe:
-
Erforderliche Felder kennzeichnen: Geben Sie deutlich an, welche Felder obligatorisch sind.
-
Listensteuerelemente verwenden: Bieten Sie vordefinierte Optionen für die Dateneingabe, um Konsistenz zu gewährleisten.
-
Den Live Designer verwenden: Nehmen Sie Echtzeit-UI-Anpassungen direkt in der Anwendung vor, um die Benutzerfreundlichkeit schnell zu verfeinern.
Typografie und Farbe
-
Lesbare, konsistente Schriftarten verwenden:
-
Schriftfamilien begrenzen: Verwenden Sie nicht mehr als zwei Schriftfamilien. Oft reicht eine aus.
-
Schriftpaarungen berücksichtigen: Wenn Sie zwei Schriftarten verwenden, nutzen Sie eine für Überschriften und eine andere für Fließtext.
-
Großbuchstaben vermeiden: Verwenden Sie keine Großbuchstaben für Fließtext, da dies langsamer zu lesen ist. Sie sollten nur für kurze Warnungen oder große Überschriften verwendet werden.
-
-
Eine klare Farbpalette verwenden:
-
Farben begrenzen: Streben Sie 3 bis 4 Farben an: eine Primärfarbe, eine Sekundärfarbe und eine oder zwei Akzentfarben.
-
Semantische Farben verwenden: Nutzen Sie häufig assoziierte Farben, um Informationen über den Status bereitzustellen (beispielsweise Rot für eine Warnung, Grün für Erfolg, Grau für eine deaktivierte Schaltfläche).
-
Gestaltung für Barrierefreiheit
-
Hohen Farbkontrast gewährleisten: Text sollte ein hohes Kontrastverhältnis zu seinem Hintergrund aufweisen (mindestens 4,5:1 für normalen Text).
-
Für Tastaturnavigation gestalten: Stellen Sie sicher, dass alle Formulare und interaktiven Elemente für App-Benutzer funktionieren, die nur per Tastatur navigieren können.
-
Anklickbare Elemente groß genug gestalten: Auf Mobilgeräten und Touchscreens müssen Schaltflächen, Links und andere anklickbare Elemente groß genug sein, um leicht verwendet zu werden. Eine Mindestgröße von 32x32 Pixeln ist ein guter Ausgangspunkt.
-
Auf echten Mobilgeräten testen: Die beste Möglichkeit, um zu bestätigen, dass Ihre Anwendung wirklich responsiv und benutzerfreundlich ist, besteht darin, sie auf echten Mobilgeräten zu testen, nicht nur in Browser-Emulatoren.
Umgebungen und Bereitstellungen
Der 3-stufige Ansatz
Entwickeln Sie Ihre Apps in App Builder Instanzen in mindestens diesen drei Umgebungen:
-
DEV (Entwicklung): Diese Umgebung ermöglicht es Entwicklern, an neuen Funktionen zu arbeiten, ohne Benutzer zu beeinträchtigen. Alle Änderungen und Entwicklungsarbeiten sollten hier stattfinden.
-
QA (Qualitätssicherung): Bietet App-Benutzern eine Umgebung zum Testen, ohne Entwickler oder Produktionsdaten zu beeinträchtigen.
-
PROD (Produktion): Die Live-Umgebung für App-Benutzer.
Release- und Änderungsverwaltung
-
QA oder PROD niemals direkt ändern: Erstellen Sie immer in DEV, fördern Sie zu QA zum Testen und fördern Sie dann zu PROD nach QA-Freigabe. Das direkte Vornehmen von Änderungen in höheren Umgebungen kann Ihre Systeme desynchronisieren und zukünftige Bereitstellungen gefährden.
-
App Builders Release-Verwaltung verwenden: Dies stellt sicher, dass alle Änderungen, die Sie in DEV vorgenommen haben, in der gleichen Reihenfolge zu QA und PROD repliziert werden, was menschliche Fehler verhindert.
-
Datenbanken sichern: Erstellen Sie immer eine Datenbanksicherung Ihrer Umgebungen vor einer App-Bereitstellung oder einem App Builder-Versionsupgrade.
-
Aussagekräftige Änderungsprotokolle: Schließen Sie Änderungsverwaltungsprotokolle regelmäßig ab und seien Sie aussagekräftig darüber, was sich geändert hat. Dies erleichtert es Ihnen, historische Änderungen zu überprüfen, wenn Sie ein Problem beheben müssen.
-
Bereitstellungen planen: Gehen Sie methodisch vor, wenn Sie Apps in die Produktion verschieben, und setzen Sie Erwartungen im Voraus. Planen Sie Bereitstellungen nach Geschäftszeiten, um die Auswirkungen zu minimieren.
Anleitungen zur Planung von Plattformversions-Upgrades in diesen Umgebungen, einschließlich In-Place- und Blue/Green-Strategien, finden Sie unter Produktions-Upgrade-Strategien.
Anwendungssicherheit
-
Sicherheitsanbieter verwenden: Verwenden Sie nach Möglichkeit einen Sicherheitsanbieter für die Authentifizierung. Weisen Sie Sicherheit nicht manuell zu.
-
Rollenbasierter Zugriff (RBAC): Weisen Sie App-Benutzern Rollen zu, um den Seitenzugriff und die Aktionen zu steuern. UI-Elemente können so eingestellt werden, dass sie sich entsprechend der Rolle eines App-Benutzers anpassen.
-
Effiziente Gruppenverwaltung: Organisieren Sie App-Benutzer in Gruppen, um die Berechtigungsverwaltung zu vereinfachen.
-
Sicherheit auf Zeilenebene: Verwenden Sie Reach-Regeln, um verschiedenen App-Benutzern auf demselben Bildschirm unterschiedliche Datenteilmengen anzuzeigen.
-
SSO integrieren: Verwenden Sie Single Sign-On (SSO) für eine optimierte und sichere Benutzerauthentifizierung.
Benachrichtigungssysteme
-
Bidirektionale Benachrichtigungen: Gestalten Sie Benachrichtigungen so, dass App-Benutzer mit Optionen antworten können, die Anwendungsdaten aktualisieren.
-
Personalisierter Inhalt: Verwenden Sie dynamische Daten in Nachrichten für personalisierte Benachrichtigungen.
-
Link zu öffentlichen Seiten: Stellen Sie sicher, dass alle Anwendungsseiten, auf die von einer Benachrichtigung verlinkt wird, öffentlich zugänglich sind.
-
Konsistente Auslöser: Registrieren Sie Benachrichtigungen auf Tabellenebene für zuverlässiges Auslösen.
-
Benutzerkonfigurierbare Nachrichten: Ermöglichen Sie App-Benutzern, Benachrichtigungstext über die Benutzeroberfläche zu ändern. Dies reduziert die Notwendigkeit der Entwicklerbeteiligung für einfache Textänderungen.