Schéma dynamique
Définissez une hiérarchie de catégories, de groupes et d’attributs, et permettez aux utilisateurs de sélectionner des groupes d’attributs sur un enregistrement.
Avantages clés
- Organisez et définissez les métadonnées dans un schéma flexible au lieu d’ajouter de nouvelles colonnes à une table.
- Définissez un cadre de travail structuré pour le regroupement d’attributs dynamiques.
- Capturez les données de manière dynamique à l’aide de différents attributs par enregistrement.
Workflow de schéma dynamique
- Planifiez votre stratégie de métadonnées.
- Créez des groupes d’attributs.
- Ajoutez des attributs dynamiques à chaque groupe.
- Organisez vos groupes en catégories.
- Ajoutez des champs de magasin d’attributs dynamiques à vos tables.
- Renseignez les champs de magasin d’attributs dynamiques à l’aide de la méthode GlideRecord setValue().
Cas d'utilisation
- Capturez les groupes de paires attribut-valeur qui décrivent les produits vendus dans un grand magasin en définissant un schéma dynamique pour vos produits. Stockez les attributs et leurs données dans un champ de magasin d’attributs dynamique.
Par exemple, supposons que vous disposez d’une table Produits personnalisés qui stocke les enregistrements de différents types de produits tels que les téléviseurs, les crèmes solaires, les oreillers et les chemises. Vous pouvez créer des groupes d’attributs dynamiques pour chaque type de produit (comme le type d’écran, le CUP ou la couleur). Vous pouvez organiser les groupes en catégories dynamiques (comme l’électronique, la santé et la beauté, les articles pour la maison et les vêtements). Les utilisateurs peuvent ajouter des enregistrements à votre table Produits et capturer différents attributs dans chaque enregistrement de produit.
- Décrivez un enregistrement en capturant une ou plusieurs paires attribut-valeur dynamiques en tant qu’objets de chaîne dans un champ de magasin d’attributs dynamique. Vous pouvez également capturer des paires attribut-valeur transitoires sur un enregistrement en ajoutant un champ de magasin d’attributs dynamique à une table et en remplissant le champ avec des données de chaîne à l’aide de l’API GlideRecord .
API
- DynamicSchemaAPI - Global
- GlideAggregate - Global
Seules les méthodes GlideAggregate suivantes prennent en charge l’utilisation d’attributs dynamiques :
- 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
Seules les méthodes GlideRecord suivantes prennent en charge les attributs dynamiques :
- 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(String fullPath)
- 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)