Dynamisches Schema
Definieren Sie eine Hierarchie von Kategorien, Gruppen und Attributen, und ermöglichen Sie Anwendern, Gruppen von Attributen in einem Datensatz auszuwählen.
Hauptvorteile
- Organisieren und definieren Sie Metadaten in einem flexiblen Schema, anstatt einer Tabelle neue Spalten hinzuzufügen.
- Definieren Sie ein strukturiertes Framework für die Gruppierung dynamischer Attribute.
- Erfassen Sie Daten dynamisch mit unterschiedlichen Attributen pro Datensatz.
Dynamischer Schema-Workflow
- Planen Sie Ihre Metadatenstrategie.
- Erstellen Sie Attributgruppen.
- Fügen Sie jeder Gruppe dynamische Attribute hinzu.
- Organisieren Sie Ihre Gruppen in Kategorien.
- Fügen Sie Ihren Tabellen dynamische Attributspeicherfelder hinzu.
- Füllen Sie dynamische Attributspeicherfelder mit der Methode „GlideRecord setValue()“ aus.
Anwendungsfälle
- Erfassen Sie Gruppen von Attribut-Wert-Paaren, die Produkte beschreiben, die in einem großen Kaufhaus verkauft werden, indem Sie ein dynamisches Schema für Ihre Produkte definieren. Speichern Sie die Attribute und ihre Daten in einem dynamischen Attributspeicherfeld.
Angenommen, Sie haben eine anwenderdefinierte Produkttabelle, in der Datensätze für verschiedene Arten von Produkten gespeichert werden, z. B. TV-Geräte, Sunscreens, Kopfbedeckungen und T-Shirt. Sie können Gruppen dynamischer Attribute für jeden Produkttyp erstellen (z. B. Bildschirmtyp, Hersteller, Farbe oder Größe). Sie können die Gruppen in dynamische Kategorien einteilen (z. B. Elektronik, Gesundheit und Mode, Haushaltswaren und Mode). Benutzer können Datensätze zu Ihrer Produkttabelle hinzufügen und in jedem Produktdatensatz andere Attribute erfassen.
- Beschreiben Sie einen Datensatz, indem Sie mindestens ein dynamisches Attributwertpaar als Zeichenfolgenobjekt in einem dynamischen Attributspeicherfeld erfassen. Sie können auch vorübergehende Attribut-Wert-Paare in einem Datensatz erfassen, indem Sie einer Tabelle ein dynamisches Attributspeicherfeld hinzufügen und das Feld mithilfe der GlideRecord- API mit Zeichenfolgendaten füllen.
APIs
- DynamicSchemaAPI - Global
- GlideAggregate - Global
Nur die folgenden GlideAggregate -Methoden unterstützen die Verwendung dynamischer Attribute:
- GlideAggregate - addAggregate(String agg, String name)
- GlideAggregate - addHaving(String aggName, String fieldName, String operator, String value)
- GlideAggregate - getDynamicAttributeValue(String fullPath)
- GlideAggregate - getDynamicAttributeValue(String dynamicAttributeField, String groupAttrPath)
- GlideAggregate - getDynamicAttributeDisplayValue(String fullPath)
- GlideAggregate - getDynamicAttributeDisplayValue(String dynamicAttributeField, String groupAttrPath)
- GlideAggregate - getValue(String name)
- GlideAggregate - groupBy(String name)
- GlideAggregate - orderBy(String name)
- GlideAggregate - orderByAggregate(String agg, String fieldName)
- GlideDynamicAttributeStore - Global
- GlideElementDynamicAttributeStore - Global
- GlideRecord - Global
Nur die folgenden GlideRecord -Methoden unterstützen dynamische Attribute:
- GlideRecord - addQuery(String name, Object operator, Object value)
- GlideRecord - getDisplayValue(String name)
- GlideRecord - getDynamicAttribute(String fullPath)
- GlideRecord - getDynamicAttribute(String dynamicAttributeField, String groupAttrPath)
- GlideRecord - getDynamicAttributeDisplayValue(String fullPath)
- GlideRecord - getDynamicAttributeDisplayValue(String dynamicAttributeField, String groupAttrPath)
- GlideRecord - getDynamicAttributeValue(String fullPath)getDynamicAttributeValue (Zeichenfolge – vollständiger Pfad)
- GlideRecord - getDynamicAttributeValue(String dynamicAttributeField, String groupAttrPath)
- GlideRecord - getValue(String fieldName)
- GlideRecord - orderBy(String fieldName)
- GlideRecord - orderByDesc(String fieldName)
- GlideRecord - setDisplayValue(String name, Object value)
- GlideRecord - setDynamicAttributeDisplayValue(String fullPath, Object value)
- GlideRecord - setDynamicAttributeDisplayValue(String dynamicAttributeField, String groupAttrPath, Object value)
- GlideRecord - setDynamicAttributeValue(String fullPath, Object value)
- GlideRecord - setDynamicAttributeValue(String dynamicAttributeField, String groupAttrPath, Object value)
- GlideRecord - setDynamicAttributeValues(String dynamicAttributeField, GlideDynamicAttributeStore values)
- GlideRecord - setValue(String name, Object value)