Esquema dinâmico
Defina uma hierarquia de categorias, grupos e atributos e permita que os usuários selecionem grupos de atributos em um registro.
Principais benefícios
- Organize e defina metadados no esquema flexível em vez de adicionar novas colunas a uma tabela.
- Defina uma estrutura estruturada para agrupar atributos dinâmicos.
- Capture dados dinamicamente usando diferentes atributos por registro.
Fluxo de trabalho de esquema dinâmico
- Planeje sua estratégia de metadados.
- Crie grupos de atributos.
- Adicione atributos dinâmicos a cada grupo.
- Organize seus grupos em categorias.
- Adicione campos de armazenamento de atributo dinâmico às suas tabelas.
- Preencha campos de armazenamento de atributo dinâmico usando o método GlideRecord setValue().
Casos de uso
- Capture grupos de pares de atributo-valor que descrevem produtos vendidos em uma grande loja de departamentos, definindo um esquema dinâmico para seus produtos. Armazene os atributos e seus dados em um campo de armazenamento de atributo dinâmico.
Por exemplo, suponha que você tenha uma tabela de produtos personalizada que armazena registros de diferentes tipos de produtos, como televisões, protetores solar, descansos e t-mails. Você pode criar grupos de atributos dinâmicos para cada tipo de produto (como tipo de tela, UPC, cor ou tamanho). Você pode organizar os grupos em categorias dinâmicas (como eletrônicos, saúde e belezura, artigos para casa e peças de reposição). Os usuários podem adicionar registros à tabela Produtos e capturar diferentes atributos em cada registro de produto.
- Descreva um registro capturando um ou mais pares de atributo-valor dinâmicos como objetos de cadeia de caracteres em um campo de armazenamento de atributo dinâmico. Você também pode capturar pares de atributo-valor transitórios em um registro adicionando um campo de armazenamento de atributo dinâmico a uma tabela e preenchendo o campo com dados de cadeia de caracteres usando a API GlideRecord.
APIs
- DynamicSchemaAPI - Global
- GlideAggregate - Global
Somente os seguintes métodos GlideAggregate são compatíveis com o uso de atributos dinâmicos:
- 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
Somente os seguintes métodos GlideRecord são compatíveis com atributos dinâmicos:
- 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(cadeia de caracteres 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)