Ampliar o meta modelo padrão

O serviço Automated forms conversion identifica e extrai objetos de formulário de formulários de origem. O mapeador semântico ajuda o serviço a decidir como os objetos extraídos são representados em um formulário adaptável. Por exemplo, um formulário de origem pode ter vários tipos diferentes de representações de uma data. O mapeador semântico ajuda a mapear todas as representações de objetos de formulário de data do formulário de origem com o componente de data dos formulários adaptáveis. O mapeador semântico também permite que o serviço pré-configure e aplique validações, regras, padrões de dados, texto da Ajuda e propriedades de acessibilidade a componentes de formulário adaptáveis durante a conversão.

O metamodelo é um esquema JSON. Antes de começar com o metamodelo, verifique se você está familiarizado com o JSON. Você deve ter experiência na criação, edição e leitura de dados salvos no formato JSON.

Metamodelo padrão

O serviço Automated forms conversion tem um meta modelo padrão. É um esquema JSON e reside na Adobe Cloud com outros componentes do serviço Automated forms conversion. Você pode encontrar uma cópia do metamodelo em seu servidor de AEM local em: http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json. Você também pode clique aqui para acessar ou baixar o schema do idioma inglês. O metamodelo para Francês, Alemão Espanhol, Italianoe Português idiomas também estão disponíveis para download.

O esquema do metamodelo é derivado de entidades de esquema em https://schema.org/docs/schemas.html. Ele tem Pessoa, PostalAddress, LocalBusiness e mais entidades, conforme definido em https://schema.org. Cada entidade do metamodelo adere ao tipo de objeto de esquema JSON. O código a seguir representa uma estrutura de metamodelo de amostra:

   "Entity": {
      "id": "Entity",
      "properties": {
        "name": {
          "type": "string"
        },

        "description": {
          "type": "string",
          "description": "Description of the item"
        }
      }
    }

Baixe o metamodelo padrão

Execute as seguintes etapas para baixar o metamodelo padrão no sistema de arquivos local:

  1. Faça logon na instância do AEM Forms.
  2. Navegue até o Forms > Forms & Documents > Meta Model pasta.
  3. Selecione o global.schema.json arquivo e toque em Download. Uma caixa de diálogo de download é exibida. Selecione o Download asset(s) as binary files opção. Tocar Download. Um arquivo é baixado.

Noções básicas do metamodelo

Um metamodelo refere-se a um arquivo de esquema JSON que contém entidades. Todas as entidades no arquivo de esquema JSON incluem um nome e uma id. Cada entidade pode incluir várias propriedades. As entidades e suas propriedades podem variar com base no domínio . É possível aumentar um arquivo de esquema com palavras-chave e configurações de campo para mapear propriedades de esquema a componentes de formulário adaptáveis.

"Event": {
      "id": "Eventid",
      "allOf": [
        {
          "$ref": "#Entity"
        },
        {
          "properties": {
            "startDate": {
              "type": "string",
              "format": "date",
              "description": "Specify the start date and time of the event in ISO 8601 date format."
            },
            "endDate": {
              "type": "string",
              "format": "date",
              "description": "Specify the end date and time of the event in ISO 8601 date format."
            },
            "location": {
              "$ref": "#PostalAddress",
              "description": "Specify the location of the event."
            }
          }
        }
      ]
    }

Neste exemplo, Evento representa o nome de uma entidade com um valor para id as Eventid. A entidade Evento inclui várias propriedades:

  • startDate
  • endDate
  • localização

O allOf construir no metamodelo permite herança entre entidades.

Cada propriedade pode incluir ainda mais:

Propriedades do metamodelo

Com base nas palavras-chave referenciadas usando aem:affKeyword, o serviço de conversão executa uma operação de pesquisa nos campos do formulário de origem. O serviço de conversão aplica as propriedades do esquema JSON e propriedades adicionais aos campos que atendem aos critérios de pesquisa.

Neste exemplo, o serviço de conversão pesquisa por telefone, telefone, celular, telefone celular, telefone fixo, telefone celular, número de telefone, número de telefone e palavras-chave do número de telefone no formulário de origem. Com base nos campos que incluem essas palavras-chave, o serviço de conversão aplica o tipo, padrão e aem:afProperties aos campos do formulário adaptável após a conversão.

Propriedades do esquema JSON para campos de formulário adaptáveis gerados

O metamodelo oferece suporte às seguintes propriedades comuns do esquema JSON para campos de formulário adaptáveis gerados usando o serviço Automated forms conversion:

Nome da Propriedade Descrição

título

O texto mencionado na propriedade title em um metamodelo serve como uma palavra-chave de pesquisa para executar ações nos campos de formulário adaptáveis gerados. Por exemplo, modificar o rótulo de um campo de formulário adaptável. Para obter mais informações, consulte Modificar o rótulo de um campo de formulário em Exemplos personalizados de metamodelo.

descrição

A propriedade description define o texto Ajuda para o campo de formulário adaptável gerado. Para obter mais informações, consulte Adicionar texto de Ajuda a um campo de formulário em Exemplos personalizados de metamodelo.

tipo

A propriedade type define o tipo de dados do campo de formulário adaptável gerado. Os valores possíveis para a propriedade title incluem:

  • sequência de caracteres: Gera um campo de formulário adaptável do tipo de dados de texto.
  • número: Gera um campo de formulário adaptável do tipo de dados numéricos.
  • número inteiro: Gera um campo de formulário adaptável de tipo de dados numéricos com subtipo definido como inteiro.
  • booleano: Gera um componente de formulário adaptável de switch.

Para obter mais informações sobre como usar a propriedade type em um metamodelo, consulte Modificar o tipo de campo de formulário em Exemplos personalizados de metamodelo.

pattern

A propriedade pattern restringe o valor do campo de formulário adaptável gerado com base em uma expressão regular. Por exemplo, o código a seguir no metamodelo restringe o valor do campo de formulário adaptável gerado a dez dígitos:
"padrão": "/\\d{10}/"
Da mesma forma, o código a seguir no metamodelo restringe o valor de um campo a um formato de data específico.
"padrão": "date{DD MMMM, AAAA}",

format

A propriedade format restringe o valor do campo de formulário adaptável gerado com base em um padrão nomeado em vez de uma expressão regular. Os valores possíveis para a propriedade format incluem:

  • email: Gera um componente de formulário adaptável por email.
  • nome do host: Gera um componente de formulário adaptável de caixa de texto.
Para obter mais informações sobre como usar a propriedade format em um metamodelo, consulte Modificar o formato de um campo de formulário em Exemplos personalizados de metamodelo.

enum e enumNames

As propriedades enum e enumNames restringem os valores dos campos suspensos, de caixa de seleção ou de botão de opção a um conjunto fixo. Os valores listados em enumNames são exibidos na interface do usuário. Os valores listados usando a propriedade enum são usados para o cálculo.
Para obter mais informações, consulte Converter um campo de formulário em caixas de seleção de múltipla escolha no formulário adaptável, Converter um campo de texto em lista suspensa no formulário adaptávele Adicionar opções adicionais à lista suspensa em Exemplos personalizados de metamodelo.

Pesquisa por palavra-chave para aplicar propriedades aos campos de formulário adaptáveis gerados

O serviço Automated forms conversion realiza uma pesquisa por palavra-chave no formulário de origem durante a conversão. Depois de filtrar os campos que atendem aos critérios de pesquisa, o serviço de conversão aplica as propriedades definidas para esses campos no metamodelo aos campos de formulário adaptável gerados.

As palavras-chave são referenciadas usando o aem:affKeyword propriedade.

{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"]
 }
}

Neste exemplo, o serviço de conversão usa o texto em aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o Número da conta bancária texto no formulário, o serviço de conversão converte o campo em um número digite usando o type propriedade.

Propriedades adicionais para campos de formulário adaptáveis gerados

Você pode usar o aem:afProperties no metamodelo para definir as seguintes propriedades adicionais para campos de formulários adaptáveis gerados usando o serviço Automated forms conversion:

Nome da Propriedade Descrição

multiLine

A propriedade multiLine converte um campo de formulário de origem em um campo de várias linhas no formulário adaptável após a conversão. Para obter mais informações, consulte Converter um campo de cadeia de caracteres em um campo de várias linhas em Exemplos personalizados de metamodelo.

mandatory

A propriedade mandatory define a entrada de um campo de formulário adaptável após a conversão como obrigatória.
Para obter mais informações, consulte Adicionar validações a campos de formulário adaptáveis em Exemplos personalizados de metamodelo.

jcr:title

A propriedade jcr:title, com o título propriedade de esquema JSON, permite modificar o rótulo de um campo de formulário adaptável após a conversão.
Para obter mais informações, consulte Modificar o rótulo de um campo de formulário em Exemplos personalizados de metamodelo.
Consulte Criação de formulários adaptáveis usando o esquema JSON para obter informações sobre mais propriedades que podem ser aplicadas a campos de formulário adaptáveis usando o esquema JSON.

sling:resourceType e guideNodeClass

as propriedades sling:resourceType e guideNodeClass permitem mapear um campo de formulário para um componente de formulário adaptável correspondente.
Para obter mais informações, consulte Converter um campo de formulário em caixas de seleção de múltipla escolha no formulário adaptável e Converter um campo de texto em lista suspensa no formulário adaptável em Exemplos personalizados de metamodelo.

validatePictureClause

A propriedade validatePictureClause define uma validação no formato permitido no campo de formulário adaptável após a conversão.
Para obter mais informações, consulte Adicionar validações a campos de formulário adaptáveis em Exemplos personalizados de metamodelo.

Criar um modelo personalizado em seu próprio idioma

Você pode criar um meta modelo específico de idioma. Esse metamodelo ajuda a criar regras de mapeamento no idioma de sua escolha. O serviço Automated forms conversion permite criar meta modelos nos seguintes idiomas:

  • Inglês (EN)
  • Francês (França)
  • Alemão (Alemanha)
  • Espanhol (Espanha)
  • Italiano (Itália)
  • Português (pt-br)

Adicione o aem:Language metatag à parte superior de um metamodelo para especificar seu idioma. Por exemplo,

"metaTags": {
        "aem:Language": "fr"
    }

Quando nenhum idioma é especificado, o serviço considera que o metamodelo está em inglês.

Considerações para a criação de um meta modelo específico de idioma

  • Verifique se o nome de cada chave está em inglês. Por exemplo, emailAddress.

  • Certifique-se de que todas as referências de entidade e valores predefinidos de todas as chaves de id contenham apenas caracteres ASCII. Por exemplo, "id": "ContactPoint" / "$ref": "#ContactPoint".

  • Verifique se todos os valores correspondentes às seguintes chaves estão na linguagem do metamodelo especificado:

    • aem:affKeyword
    • título
    • descrição
    • enumNames
    • shortDescription
    • validatePictureClauseMessage

    Por exemplo, quando o idioma do metamodelo é francês ("aem:Language": "fr"), assegurar que todas as descrições e mensagens estejam em francês.

  • Garantir tudo Propriedades do schema JSON usar somente valores compatíveis. Por exemplo, a propriedade type só pode abranger valores selecionados de String, Number, Integer e Boolean.

A imagem a seguir exibe exemplos do metamodelo de idioma inglês e o metamodelo de idioma francês correspondente:

Modificar campos de formulário adaptáveis usando metamodelo personalizado

Sua organização pode ter padrões e validações além dos listados no metamodelo padrão. É possível estender o metamodelo padrão para adicionar padrões, validações e entidades específicas à sua organização. O serviço Automated forms conversion aplica o metamodelo personalizado aos campos de formulário durante a conversão. Você pode continuar atualizando o metamodelo à medida que novos padrões, validações e entidades específicas da sua organização são descobertos.

O serviço Automated forms conversion usa um metamodelo padrão salvo no seguinte local para mapear campos de formulário de origem para os campos de formulário adaptáveis durante a conversão:

http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json

No entanto, você pode salvar um metamodelo personalizado em uma pasta e modificar as propriedades do serviço de conversão para usar o metamodelo personalizado durante a conversão.

Usar metamodelo personalizado durante a conversão

Execute as seguintes etapas para usar um metamodelo personalizado durante a conversão:

  1. Crie uma pasta em Forms > Forms & Documents e faça upload do arquivo de esquema JSON personalizado do metamodelo para a pasta .

  2. Abra as propriedades do serviço de conversão usando:

    Tools > Cloud Services > Automated Forms Conversion Configuration > <properties of="" selected="" configuration="">

  3. No Basic , especifique o local do metamodelo personalizado na Custom Meta-model campo e toque em Save & Close.

  4. Executar a conversão para aplicar o metamodelo personalizado ao processo de conversão.

Exemplos de metamodelo personalizado

Alguns exemplos comuns de uso de um metamodelo personalizado para modificar propriedades de campos de formulário adaptáveis incluem:

  • Modificar o rótulo de um campo de formulário
  • Modificar o tipo de campo de formulário
  • Adicionar texto de Ajuda a um campo de formulário
  • Converter um campo de formulário em botões de opção de múltipla escolha no formulário adaptável
  • Modificar o formato de um campo de formulário
  • Adicionar validações a campos de formulário adaptáveis
  • Converter um campo de formulário em opções de lista suspensa no formulário adaptável
  • Adicionar opções adicionais à lista suspensa
  • Converter um campo de cadeia de caracteres em um campo de várias linhas

Modificar o rótulo de um campo de formulário

Exemplo: Modifique o rótulo do número de conta bancária no formulário para Número de conta personalizado no formulário adaptável após a conversão.

Neste meta modelo personalizado, o serviço de conversão usa o título como uma palavra-chave de pesquisa. Depois de recuperar o Número da conta bancária texto no formulário, o serviço de conversão substitui o texto pelo Número da conta do cliente string mencionada com a jcr:title na aem:afProperties seção.

{
  "numberfields": {
      "type": "number",
   "title": "Bank account number",
   "aem:afProperties" : {
    "jcr:title" : "Customer account number"
   }
   }
}

Modificar o tipo de campo de formulário

Exemplo: Modifique o Número da conta bancária campo do tipo de texto no formulário antes da conversão para um campo do tipo número no formulário adaptável após a conversão.

Neste meta modelo personalizado, o serviço de conversão usa o texto dentro de aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o Número da conta bancária texto no formulário, o serviço de conversão converte o campo em um tipo de número usando a variável type propriedade.

{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"]
 }
}

Adicionar texto de Ajuda a um campo de formulário

Exemplo: Adicionar texto de Ajuda ao Número da conta bancária campo de formulário adaptável.

Neste meta modelo personalizado, o serviço de conversão usa o texto dentro de aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o Número da conta bancária no formulário, o serviço de conversão adiciona o texto Ajuda ao campo de formulário adaptável usando o descrição propriedade.

{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"],
   "description": "Specify your bank account number."
 }
}

Converter um campo de formulário em caixas de seleção de múltipla escolha no formulário adaptável

Exemplo: Converta o País campo do tipo string no formulário antes da conversão para caixas de seleção no formulário adaptável após a conversão.

Neste meta modelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o País texto no formulário, o serviço de conversão converte o campo nas seguintes caixas de seleção usando o enum propriedade:

  • Índia
  • Inglaterra
  • Austrália
  • Nova Zelândia

sling:resourceType e guideNodeClass As propriedades mapeiam um campo de formulário para o componente de formulário adaptável da caixa de seleção.

{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidecheckbox",
      "guideNodeClass": "guidecheckbox"
    }
  }
}

Modificar o formato de um campo de formulário

Exemplo: Modifique o formato do Endereço de email para um formato de email.

Neste meta modelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o Endereço de email texto no formulário, o serviço de conversão converte o campo em um formato de email usando a variável format propriedade.

{
   "additionalDetails" : {
      "aem:affKeyword": ["E-mail Address"],
       "type" : "string",
       "format" : "email"
  }
}

Adicionar validações a campos de formulário adaptáveis

Exemplo 1: Adicionar uma validação ao Código postal campo do formulário adaptável.

Neste meta modelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como a palavra-chave de pesquisa. Depois de recuperar o Código postal no formulário, o serviço de conversão adiciona uma validação ao campo usando o validatePictureClause definida na variável aem:afProperties seção. Com base na validação, a entrada especificada para a variável Código postal no formulário adaptável após a conversão deve incluir seis caracteres.

{
   "postalCode" : {
      "aem:affKeyword": ["Postal Code"],
      "type" : "string",
      "aem:afProperties" : {
        "validatePictureClause" : "\\d{6}"
      }
   }
}

Exemplo 2: Adicionar uma validação ao Número da conta bancária campo do formulário adaptável.

Neste meta modelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como a palavra-chave de pesquisa. Depois de recuperar o Número da conta bancária no formulário, o serviço de conversão adiciona uma validação ao campo usando o mandatory definida na variável aem:afProperties seção. Com base na validação, você deve especificar um valor para a variável Número da conta bancária antes de enviar o formulário após a conversão.

{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"],
   "aem:afProperties" : {
        "mandatory": "true"
      }
   }
}

Converter um campo de texto em lista suspensa no formulário adaptável

Exemplo: Converta o País campo do tipo string no formulário antes da conversão para opções suspensas no formulário adaptável após a conversão.

Neste meta modelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como a palavra-chave de pesquisa. Depois de recuperar o País no formulário, o serviço de conversão converte o campo nas seguintes opções da lista suspensa usando o enum propriedade:

  • Índia
  • Inglaterra
  • Austrália
  • Nova Zelândia

sling:resourceType e guideNodeClass As propriedades mapeiam um campo de formulário para o componente de formulário adaptável suspenso.

{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidedropdownlist",
      "guideNodeClass": "guideDropDownlist"
    }
  }
}

Adicionar opções adicionais à lista suspensa

Exemplo: Adicionar Sri Lanka como uma opção extra para uma lista suspensa existente usando um metamodelo personalizado.

Para adicionar uma opção extra, atualize o enum com a nova opção. Neste exemplo, atualize o enum propriedade com Sri Lanka como uma opção extra. Valores listados em enum são exibidas na lista suspensa.

{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand",
   "Sri Lanka"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidecheckbox",
      "guideNodeClass": "guidecheckbox"
    }
  }
}

Converter um campo de cadeia de caracteres em um campo de várias linhas

Exemplo: Converta o Endereço campo do tipo string para um campo de várias linhas no formulário após a conversão.

Neste meta modelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como a palavra-chave de pesquisa. Depois de recuperar o Endereço texto no formulário, o serviço converte o campo de texto em um campo de várias linhas usando o multiLine definida na variável aem:afProperties seção.

{
 "multiLine" : {
   "aem:affKeyword": [
      "Address"
    ],
    "type" : "string",
    "aem:afProperties": {
      "multiLine": "true"
    }
  }
}

Nesta página