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.
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"
}
}
}
Execute as seguintes etapas para baixar o metamodelo padrão no sistema de arquivos local:
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:
O allOf construir no metamodelo permite herança entre entidades.
Cada propriedade pode incluir ainda mais:
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.
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:
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: |
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:
|
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. |
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.
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. |
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. |
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. |
validatePictureClause |
A propriedade validatePictureClause define uma validação no formato permitido no campo de formulário adaptável após a conversão. |
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:
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.
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:
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:
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.
Execute as seguintes etapas para usar um metamodelo personalizado durante a conversão:
Crie uma pasta em Forms > Forms & Documents e faça upload do arquivo de esquema JSON personalizado do metamodelo para a pasta .
Abra as propriedades do serviço de conversão usando:
Tools > Cloud Services > Automated Forms Conversion Configuration > <properties of="" selected="" configuration="">
No Basic , especifique o local do metamodelo personalizado na Custom Meta-model campo e toque em Save & Close.
Executar a conversão para aplicar o metamodelo personalizado ao processo de conversão.
Alguns exemplos comuns de uso de um metamodelo personalizado para modificar propriedades de campos de formulário adaptáveis incluem:
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"
}
}
}
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"]
}
}
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."
}
}
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:
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"
}
}
}
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"
}
}
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"
}
}
}
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:
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"
}
}
}
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"
}
}
}
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"
}
}
}