Estender o metamodelo padrão extend-the-default-meta-model
O serviço de automated forms conversion (AFCS) 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 de ajuda e propriedades de acessibilidade aos componentes de formulário adaptáveis durante a conversão.
O modelo meta é um esquema JSON. Antes de começar com o metamodelo, verifique se você está familiarizado com JSON. Você deve ter experiência em criação, edição e leitura de dados salvos no formato JSON.
Metamodelo padrão default-meta-model
O serviço do Automated forms conversion (AFCS) tem um metamodelo padrão. É um esquema JSON e reside na Adobe Cloud com outros componentes do serviço do Automated forms conversion (AFCS). Você pode encontrar uma cópia do metamodelo em seu servidor 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 esquema do idioma inglês. O metamodelo para os idiomas francês, alemão espanhol, italiano e português também está disponível para download.
O esquema do modelo meta é 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 um exemplo de estrutura de metamodelo:
"Entity": {
"id": "Entity",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string",
"description": "Description of the item"
}
}
}
Baixar o metamodelo padrão download-the-default-meta-model
Execute as seguintes etapas para baixar o metamodelo padrão no sistema de arquivos local:
- Faça logon na sua instância do AEM Forms.
- Navegue até a pasta Forms > Forms & Documents > Meta Model.
- 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. Toque em Download. Um arquivo é baixado.
Noções básicas sobre o metamodelo understanding-the-meta-model
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. Você pode aumentar um arquivo de esquema com palavras-chave e configurações de campo para mapear propriedades de esquema para 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 habilita a herança entre entidades.
Cada propriedade pode incluir ainda:
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 as propriedades adicionais aos campos que atendem aos critérios de pesquisa.
Neste exemplo, o serviço de conversão procura palavras-chave de telefone, telefone, celular, telefone comercial, telefone residencial, número de telefone, número de telefone e 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, o padrão e aem:afProperties aos campos de formulário adaptáveis após a conversão.
Propriedades do esquema JSON para campos de formulário adaptável gerados jsonschemaproperties
O metamodelo é compatível com as seguintes propriedades comuns do esquema JSON para campos de formulário adaptáveis gerados usando o serviço do Automated forms conversion (AFCS):
Pesquisa baseada em palavra-chave para aplicar propriedades a campos de formulário adaptáveis gerados keywordsearch
O serviço Automated forms conversion (AFCS) executa 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áveis 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 Número da conta bancária no formulário, o serviço de conversão converte o campo em um tipo número usando a propriedade tipo.
Propriedades adicionais para campos de formulário adaptável gerados additionalproperties
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 de Automated forms conversion (AFCS):
Criar um modelo personalizado no seu próprio idioma language-specific-meta-model
Você pode criar um metamodelo específico de idioma. Esse metamodelo ajuda a criar regras de mapeamento no idioma de sua escolha. O serviço Automated forms conversion (AFCS) permite criar metamodelos nos seguintes idiomas:
- Inglês (EN)
- Francês (França)
- Alemão (Alemanha)
- Espanhol (Espanha)
- Italiano (Itália)
- Português (pt-br)
Adicione a marca de metatag aem:Language à 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 metamodelo específico de idioma
-
Verifique se o nome de cada chave está no idioma inglês. Por exemplo, emailAddress.
-
Garantir que todas as referências de entidade e os valores predefinidos de toda a chave de id incluam apenas caracteres ASCII. Por exemplo "id": "ContactPoint" / "$ref": "#ContactPoint".
-
Verifique se todos os valores correspondentes às seguintes chaves estão no idioma do metamodelo especificado:
- aem:affKeyword
- cargo
- descrição
- enumName
- shortDescription
- validatePictureClauseMessage
Por exemplo, quando o idioma do metamodelo for francês ("aem:Language": "fr"), verifique se todas as descrições e mensagens estão em francês.
-
Verifique se todas as propriedades do esquema JSON usam apenas valores suportados. Por exemplo, a propriedade de tipo só pode abranger valores selecionados de String, Número, Inteiro e Booleano.
A imagem a seguir exibe exemplos de metamodelo de idioma inglês e do metamodelo de idioma francês correspondente:
Modificar campos de formulário adaptáveis usando o metamodelo personalizado modify-adaptive-form-fields-using-custom-meta-model
Sua organização pode ter padrões e validações, além daqueles 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 do Automated forms conversion (AFCS) aplica o metamodelo personalizado aos campos de formulário durante a conversão. É possível continuar atualizando o metamodelo à medida que novos padrões, validações e entidades específicos da sua organização são descobertos.
O serviço do Automated forms conversion (AFCS) 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 meta modelo personalizado durante a conversão use-custom-meta-model-during-conversion
Execute as seguintes etapas para usar um metamodelo personalizado durante a conversão:
-
Crie uma pasta em Forms > Forms & Documents e carregue o arquivo de esquema JSON de metamodelo personalizado para a pasta.
-
Abra as propriedades do serviço de conversão usando:
Tools > Cloud Services > Automated Forms Conversion Configuration > <Propriedades da configuração selecionada>
-
Na guia Basic, especifique o local do modelo meta personalizado no campo Custom Meta-model e toque em Save & Close.
-
Execute a conversão para aplicar o metamodelo personalizado ao processo de conversão.
Exemplos de metamodelo personalizado custommetamodelexamples
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 um campo de formulário
- Adicionar texto de ajuda a um campo de formulário
- Conversão de 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 mais opções à lista suspensa
- Converter um campo de sequência em um campo de várias linhas
Modificar o rótulo de um campo de formulário modify-the-label-of-a-form-field
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 Número da conta bancária no formulário, o serviço de conversão substituirá o texto pela cadeia de caracteres Número da conta do cliente 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 um campo de formulário modify-the-type-of-a-form-field
Exemplo: modifique o campo de tipo de texto Número de conta bancária 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 em aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o texto Número da conta bancária 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 add-help-text-to-a-form-field
Exemplo: adicionar texto de 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 em aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o texto Número da conta bancária no formulário, o serviço de conversão adiciona o texto da 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 convert-a-form-field-to-multiple-choice-check-boxes-in-the-adaptive-form
Exemplo: converta o campo País do tipo de sequência de caracteres no formulário antes da conversão para caixas de seleção no formulário adaptável após a conversão.
Neste metamodelo personalizado, o serviço de conversão usa texto em aem:affKeyword como uma palavra-chave de pesquisa. Depois de recuperar o texto País 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
As propriedades sling:resourceType e guideNodeClass 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 modify-the-format-of-a-form-field
Exemplo: modificar o formato do campo Endereço de email para um formato de email.
Neste metamodelo personalizado, o serviço de conversão usa texto em aem:affKeyword como uma palavra-chave de pesquisa. Depois de 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 add-validations-to-adaptive-form-fields
Exemplo 1: Adicione uma validação ao campo Código Postal do formulário adaptável.
Neste metamodelo personalizado, o serviço de conversão usa texto em aem:affKeyword como a palavra-chave de pesquisa. Depois de recuperar o texto Código Postal 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 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: Adicione uma validação ao campo Número da conta bancária do formulário adaptável.
Neste metamodelo personalizado, o serviço de conversão usa texto em aem:affKeyword como a palavra-chave de pesquisa. Depois de recuperar o texto Número da conta bancária no formulário, o serviço de conversão adiciona uma validação ao campo usando a propriedade obrigatória definida na seção aem:afProperties. Com base na validação, você deve especificar um valor para o campo 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 convert-a-text-field-to-drop-down-list-in-the-adaptive-form
Exemplo: converta o campo País do tipo de sequência de caracteres no formulário antes da conversão para as opções suspensas no formulário adaptável após a conversão.
Neste metamodelo personalizado, o serviço de conversão usa texto em aem:affKeyword como a palavra-chave de pesquisa. Depois de recuperar o texto País no formulário, o serviço de conversão converte o campo nas seguintes opções de lista suspensa usando a propriedade enum:
- Índia
- Inglaterra
- Austrália
- Nova Zelândia
As propriedades de sling:resourceType e guideNodeClass 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 mais opções à lista suspensa add-additional-options-to-the-drop-down-list
Exemplo: Adicione Sri Lanka como 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 sequência em um campo de várias linhas convert-a-string-field-to-a-multi-line-field
Exemplo: Converta o campo Endereço do tipo cadeia 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 em aem:affKeyword como a palavra-chave de pesquisa. Depois de 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"
}
}
}