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 clicar aqui para acessar ou baixar o schema do idioma inglês. O metamodelo dos idiomas Francês, Alemão Espanhol, Italiano e Português também está disponível 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é a pasta Forms > Forms & Documents Meta Model.

  3. Selecione o arquivo global.schema.json e toque em Download. Uma caixa de diálogo de download é exibida. Selecione a opção Download asset(s) as binary files. 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, Event representa o nome de uma entidade com um valor para id como Eventid. A entidade Evento inclui várias propriedades:

  • startDate
  • endDate
  • localização

A construção allOf 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 de 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 de metamodelo personalizados.

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 da Ajuda a um campo de formulário em Exemplos de metamodelo personalizados.

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 Metamodelos personalizados.

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 de metamodelo personalizados.

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ável e Adicionar opções adicionais à lista suspensa em exemplos de metamodelo personalizado.

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 a propriedade aem:affKeyword.

{
  "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 texto Bank account number no formulário, o serviço de conversão converte o campo em um tipo number usando a propriedade type.

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

Você pode usar a propriedade 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 de metamodelo personalizados.

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 de metamodelo personalizado.

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 de metamodelo personalizado .
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ários 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 nos exemplos de formulário adaptável Custom meta-model.

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 de metamodelo personalizado.

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 a tag de metatag aem:Language na 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.

  • Certifique-se de que todas as propriedades do esquema JSON usem apenas os valores suportados. 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> <>Propriedades da configuração selecionada>

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

  4. Execute 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 metamodelo personalizado, o serviço de conversão usa a propriedade title como uma palavra-chave de pesquisa. Depois de recuperar o texto Bank account number no formulário, o serviço de conversão substitui o texto pela sequência Customer account number mencionada com a propriedade jcr:title na seção aem:afProperties.

{
  "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 campo Bank account number do tipo de texto no formulário antes da conversão para um campo de tipo de número no formulário adaptável após a conversão.

Neste metamodelo personalizado, o serviço de conversão usa o texto dentro de aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o texto Bank account number no formulário, o serviço de conversão converte o campo em um tipo de número usando a propriedade type.

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

Adicionar texto de Ajuda a um campo de formulário

Exemplo: Adicione o texto Ajuda ao campo Número da conta bancária do formulário adaptável.

Neste metamodelo personalizado, o serviço de conversão usa o texto dentro de aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o texto Bank account number no formulário, o serviço de conversão adiciona o texto Ajuda ao campo de formulário adaptável usando a propriedade description.

{
  "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 campo ​País do tipo string no formulário antes da conversão em caixas de seleção no formulário adaptável após a conversão.

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

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

sling: resourceType e ​guideNodeClassproperties 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 campo Endereço de email para um formato de email.

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

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

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

Exemplo 1: adicione uma validação ao campo ​CEP do formulário adaptável.

Neste metamodelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como palavra-chave de pesquisa. Após recuperar o texto CEP no formulário, o serviço de conversão adiciona uma validação ao campo usando a propriedade validatePictureClause definida na seção aem:afProperties. Com base na validação, a entrada especificada para o campo CEP 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: Adicione uma validação ao campo Bank account number do formulário adaptável.

Neste metamodelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como palavra-chave de pesquisa. Depois de recuperar o texto Bank account number no formulário, o serviço de conversão adiciona uma validação ao campo usando a propriedade mandatory definida na seção aem:afProperties. Com base na validação, você deve especificar um valor para o campo Bank account number 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 campo ​País do tipo string no formulário antes da conversão em opções suspensas no formulário adaptável após a conversão.

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

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

sling: resourceType e ​guideNodeClassproperties 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: adicione Sri Lankas uma opção extra a uma lista suspensa existente usando um metamodelo personalizado.

Para adicionar uma opção extra, atualize a propriedade enum com a nova opção. Neste exemplo, atualize a propriedade enum com Sri Lanka como uma opção extra. Os valores listados na propriedade enum são exibidos 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 campo ​Endereço do tipo sequência de caracteres em um campo de várias linhas no formulário após a conversão.

Neste metamodelo personalizado, o serviço de conversão usa texto dentro de aem:affKeyword como palavra-chave de pesquisa. Após recuperar o texto Address no formulário, o serviço converte o campo de texto em um campo de várias linhas usando a propriedade multiLine definida na seção aem:afProperties.

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

Nesta página