Vollständige Prüfung im Jitterbit App Builder
Übersicht
Die Vollständige Prüfung-Funktion im App Builder ist standardmäßig für neu erstellte Datenquellen und Tabellen aktiviert. Die Vollständige Prüfung ist eine Prüfungsfunktion, die hinzugefügt wurde, um die vorhandene Prüfung lite Fähigkeit zu ergänzen. Die Vollständige Prüfung zeichnet geschäftliche Änderungen an Ihren Daten auf und ermöglicht es Ihnen, diese Änderungen einzusehen. Wenn die Vollständige Prüfung aktiviert ist, wird eine spezielle Prüfprotokolltabelle mit dem Namen App BuilderAuditLog in Ihrer Datenquelle erstellt. Änderungen werden in der Prüfprotokolltabelle für alle Tabellen erfasst, bei denen die Vollständige Prüfung aktiviert ist.
Standardmäßig bereinigt oder löscht der App Builder keine in der Vollständigen Prüfungstabelle gespeicherten Datensätze automatisch. Wenn Sie dieses Verhalten ändern möchten, siehe die Funktion Prüfungskonfiguration, die es einem Administratorbenutzer ermöglicht, einen Zeitraum festzulegen, für den Daten aufbewahrt werden sollen, nach dem der App Builder Prüfungsdatensätze über den definierten Zeitraum hinaus löschen sollte.
Wichtig
Die Schaltfläche zur Prüfung von Prüfprotokollen kann nur von den folgenden Paneltypen aus aufgerufen werden:
- Formular (Prüfschaltfläche im Panelrahmen)
- Raster (Prüfsymbol in der Nähe der Bearbeitungs-/Löschsymbole)
CRUD-Regeln erfassen derzeit nicht, was der Wert zuvor in der Prüfungstabelle war. Wenn die CRUD-Regel durch die Geschäftsschicht läuft, wird die Prüfung erfasst.
Der App Builder kann einen Fehler beim Befüllen der Basislinie auslösen, wenn er auf Felder über Nvarchar(700) oder eine binäre Spalte stößt. Als Workaround können Sie manuell Feld(er) über der Grenze oder binäre Felder aus der Vollständigen Prüfung entfernen. Ein späteres Update wird dieses Verhalten beheben.
Funktionen
Geschäftliche Änderungen
Die Vollständige Prüfung erfasst geschäftliche Änderungen für aktivierte Tabellen. Das bedeutet, dass die Vollständige Prüfung jedes Einfügen, Aktualisieren oder Löschen aufzeichnet, das durch die Geschäftsschicht des App Builders geht. Dazu gehören:
- Änderungen aus der Anwendungsschicht
- CRUD-Geschäftsregeln
Änderungen, die nicht unterstützt werden:
- CRUD-Direktregeln
- Migrationen
- Direkte Datenbankmanipulation
- Gespeicherte Prozeduren
List resolution
Full Audit wird versuchen, Lookup-Werte aufzuzeichnen, wenn eine Bearbeitung über die UI-Schicht mit einem List-Steuerelementtyp vorgenommen wird. Wenn wir beispielsweise eine Bestellseite haben, die ein List-Steuerelement zur Auswahl eines Produkts enthält, werden sowohl die Werte der Schlüssel- als auch der Titelspalte (z. B. ProductID und ProductName) im Audit-Log erfasst.
Foreign key resolution
Ähnlich wie bei der Listenauflösung werden auditierte Tabellen, die Fremdschlüssel enthalten, versuchen, ihre Werte aufzulösen. CRUD-Geschäftsregeln haben keine zugehörigen List-Steuerelemente (sie laufen nicht über die UI-Schicht), und diese Technik ermöglicht es Full Audit, weiterhin aufgelöste Titelwerte zu protokollieren. Angenommen, wir haben zwei Tabellen mit den folgenden Spalten:
Order table
OrderID
ProductID
(Fremdschlüssel zur Produkttabelle)
Product table
ProductID
Name
(Verwendung der Titelspalte)
Full Audit wird den Fremdschlüssel in der Bestelltabelle erkennen, wenn Änderungen an Order.ProductID protokolliert werden, und den Wert der Titelspalte "Name" im Protokoll einfügen.
Environment promotion
Die Aktivierung von Full Audit erfordert, dass die Datenquelle (und verwandte Apps) in der Entwicklungsumgebung konfiguriert und nach oben befördert wird. Derzeit unterstützt der App Builder nicht die Konfiguration von Audit in oberen Umgebungen (z. B. in QA oder Produktion, aber nicht in der Entwicklung).
Obwohl die Audit-Tabelle selbst in oberen Umgebungen erstellt wird, wird keine der Audit-Log-Daten übertragen.
Baseline population
Der App Builder ermöglicht es einem Designer, eine Basislinie aller für Full Audit aktivierten Tabellen im Audit-Log zu erstellen. Dies muss manuell in jeder Umgebung erfolgen. Die Basislinienbefüllung kann mehrmals durchgeführt werden - nur Datensätze, die kein vorheriges Audit-Log haben, werden befüllt.
App Builder includes full audit
Die meisten Tabellen im App Builder haben Full Audit aktiviert. Dies ermöglicht Entwicklern, Audit-Logs für Dinge wie Seiten, Tabellen, Spalten, Steuerelemente, Benachrichtungsserver usw. einzusehen.
Vollständige Auditierung in einer App Builder-App konfigurieren
Der folgende Abschnitt beschreibt, wie die vollständige Auditierung konfiguriert wird. Die vollständige Auditierung ist standardmäßig für neu erstellte Datenquellen und Tabellen aktiviert.
Vollständige Auditierung für eine Datenquelle aktivieren
- Navigieren Sie zu App Workbench > klicken Sie auf die Schaltfläche Datenquellen
- Wählen Sie die Datenquelle aus, die Sie konfigurieren möchten
- Klicken Sie auf die Schaltfläche Audit aktivieren
- Klicken Sie auf Fortfahren
Optionen für die vollständige Auditierung einer Datenquelle konfigurieren
Um die Optionen für die vollständige Auditierung Ihrer Datenquelle zu konfigurieren:
- Navigieren Sie zu App Workbench > klicken Sie auf das Kachel Datenquellen
- Wählen Sie die Datenquelle aus, die Sie konfigurieren möchten
- Klicken Sie auf die Schaltfläche Audit-Konfiguration
- Nehmen Sie die erforderlichen Änderungen vor und klicken Sie auf Speichern
Vollständige Auditierung für eine Tabelle aktivieren
Die vollständige Auditierung ist standardmäßig für Tabellen aktiviert, wenn die Datenquelle dies unterstützt. Die Schritte sind unten aufgeführt, falls erforderlich. Nach der Aktivierung der vollständigen Auditierung für eine Datenquelle wird die vollständige Auditierung standardmäßig für alle Tabellen aktiviert. App Builder fügt allen Tabellen eine Spalte AppBuilderAuditRefId
hinzu, um die Auditdaten zu speichern.
Falls erforderlich, können Sie die vollständige Auditierung für einzelne Tabellen deaktivieren, die nicht auditiert werden sollen. Um die vollständige Auditierung für eine Tabelle zu deaktivieren, klicken Sie manuell auf die Schaltfläche Vollständige Auditierung deaktivieren auf Tabellenebene. Darüber hinaus müssen Sie möglicherweise die Spalte AppBuilderAuditRefID
für jede Tabelle löschen, die keinen einzelnen UUID-Primärschlüssel hat. Es ist eine gute Praxis, auch die Migrationsregeln zu überprüfen und zu bereinigen, um die Erstellung und Löschung der Spalte AppBuilderAuditRefID
zu vermeiden.
Einzelner UUID-Primärschlüssel
Für eine Tabelle mit einem einzelnen UUID-Primärschlüssel ist die Aktivierung der vollständigen Auditierung einfach:
- Navigieren Sie zu App Workbench
- Klicken Sie auf die Kachel Tabellen
- Suchen Sie die Tabelle, für die Sie die vollständige Auditierung aktivieren möchten, und klicken Sie auf das Bleistift-Bearbeitungssymbol
- Klicken Sie im Tabellenbereich auf Mehr > Randfall > Vollständige Auditierung aktivieren
Wenn Sie die vollständige Prüfung für eine Tabelle deaktivieren möchten, folgen Sie den obigen Anweisungen bis Schritt 3, klicken Sie auf Edge Case und dann auf die Schaltfläche Disable Full Audit.
Andere Primärschlüsselkonfigurationen
Tabellen, die keinen einzelnen UUID-Primärschlüssel haben, erfordern etwas mehr Aufwand, um die vollständige Prüfung zu aktivieren. Da die vollständige Prüfung eine eindeutige UUID pro Tabellenaufzeichnung erfordert, müssen wir eine neue Spalte hinzufügen und befüllen. Diese neue Spalte wird den Audit
Spaltentyp verwenden.
- Navigieren Sie zu App Workbench
- Suchen Sie die Tabelle, für die Sie die vollständige Prüfung aktivieren möchten, unter Tables
- Klicken Sie auf das Bleistiftsymbol zum Bearbeiten der Tabelle
-
Klicken Sie im Spaltenbereich auf + Column, um eine neue Spalte mit den folgenden Eigenschaften hinzuzufügen:
- Typ:
UUID
. - Nullwerte zulassen:
True
- Automatisch generieren:
True
- Name:
AuditID
(dieser Name kann beliebig gewählt werden)
- Typ:
-
Erstellen Sie eine neue Migration Rule, um die Spalte für Ihre vorhandenen Datensätze zu befüllen
- Zweck:
Migration
- Aktion:
Update
- Wählen Sie Ihre Tabelle oben aus und zielen Sie darauf ab
- Verwenden Sie die MvSQL-Funktion
NewUUID()
als Wert für Ihre AuditID-Spalte
- Zweck:
-
Führen Sie die Migrationsregel aus
-
Navigieren Sie zurück zu den Spalteninformationen und setzen Sie Folgendes:
- Nullwerte zulassen:
False
- Spalten Nutzungs Typ:
Audit
- Nullwerte zulassen:
-
Navigieren Sie zur Tabelle und klicken Sie auf More > Edge Case > Enable Full Audit, Proceed. Der App Builder zeigt eine Erfolgsmeldung an, wenn die Aufgabe abgeschlossen ist.
Vollständige Prüfung auf einer Seite aktivieren
Damit Benutzer die vollständigen Prüfprotokolle sehen können, muss das Seitenpanel den Audit Link aktivieren:
- Navigieren Sie zu der Seite, auf der Sie die Anzeige der vollständigen Prüfung aktivieren möchten
- Gehen Sie zu Action Drawer > Live Designer
- Wählen Sie das Panel aus dem Seitenpanel-Layout aus
- Klicken Sie im Bereich Live Edit auf der rechten Seite auf die Registerkarte Built-In
- Aktivieren Sie Show Audit
- Kehren Sie zur Anwendungsansicht zurück, aktualisieren Sie den Webbrowser und bestätigen Sie, dass Sie die erwarteten Ergebnisse sehen
Sicherheit
Um auf das vollständige Prüfprotokoll zuzugreifen, muss der Benutzer:
-
Gehören Sie mindestens einer der folgenden Rollen an:
- App Builder - Administratorenrolle
- App Builder - Prüfungsrolle
-
Haben Sie Lesezugriff auf das Datenobjekt, das im Seitenbereich verlinkt ist
- Haben Sie Lesezugriff auf die Zeile selbst
Baseline befüllen
Full Audit unterstützt das Befüllen einer Basislinie für alle Datensätze in geprüften Tabellen. Dies wird Prüfprotokolle mit Populate
als Vorgangsname für alle vorhandenen Datensätze in der geprüften Tabelle schreiben. Alle Prüfprotokolle, die bereits für einen Datensatz existieren, werden nicht dupliziert (es ist also sicher, dies bei Bedarf mehrmals auszuführen).
- Navigieren Sie zu Action Drawer > IDE > Zusätzliche Einstellungen
- Klicken Sie auf die Schaltfläche Prüfprotokolle befüllen
- Suchen Sie Ihre App-Datenquelle
- Klicken Sie auf die Schaltfläche Alle befüllen in der Datenquelle oder befüllen Sie einzelne Tabellen
- Klicken Sie auf Fortfahren, dies startet eine Hintergrundaufgabe, die ausgeführt wird