Conceitos-chave
Visão geral do design de formulários
O que é um XLSForm?
O rtSurvey usa uma versão alargada do padrão XLSForm para design de formulários, oferecendo funcionalidades poderosas para criar inquéritos sofisticados. Este guia apresentará os conceitos-chave do design de formulários no rtSurvey, desde a estrutura básica do XLSForm até às funcionalidades avançadas específicas do rtSurvey.
Com os XLSForms, pode criar formulários num formato legível por humanos usando a familiar ferramenta Excel, tornando-o acessível a quase toda a gente. Este padrão facilita a partilha e colaboração na criação de formulários.
Embora os XLSForms sejam amigos dos iniciantes, também permitem a utilizadores experientes criar formulários complexos.
O rtSurvey fornece uma forma consistente de incorporar funcionalidades avançadas, como lógica de salto, em formulários em várias plataformas de recolha de dados web e móvel.
Estrutura do XLSForm
Um XLSForm consiste tipicamente em duas folhas de trabalho principais:
- survey: Define a estrutura e conteúdo do seu formulário.
- choices: Especifica as opções de resposta para perguntas de escolha múltipla.
Uma folha de trabalho settings opcional pode fornecer especificações adicionais do formulário.
É importante notar que as colunas obrigatórias nas folhas de trabalho survey e choices devem estar presentes para o formulário funcionar corretamente. As colunas opcionais em ambas as folhas de trabalho fornecem mais controlo sobre o comportamento de cada entrada no formulário, mas não são essenciais.
As colunas do seu livro de trabalho Excel podem aparecer em qualquer ordem, e as colunas opcionais podem ser deixadas em branco. No entanto, é crucial usar a sintaxe precisa e as convenções de nomenclatura especificadas na documentação do XLSForm para o formulário funcionar corretamente.
A folha de trabalho survey
A folha de trabalho survey é onde define a estrutura do seu formulário e fornece o conteúdo. Cada linha na folha de trabalho survey representa uma pergunta ou elemento no seu formulário. As seguintes colunas são obrigatórias na folha de trabalho survey:
type: Especifica o tipo de entrada que espera para a pergunta.name: Especifica o nome de variável único para essa entrada. Os nomes devem começar com uma letra ou sublinhado e só podem conter letras, dígitos, hífenes, sublinhados e pontos. Os nomes são sensíveis a maiúsculas e minúsculas.label: Contém o texto real que vê para a pergunta no formulário.
| type | name | label |
|---|---|---|
| today | today | |
| select_one gender | gender | Género do respondente? |
| integer | age | Idade do respondente? |
A folha de trabalho choices
A folha de trabalho choices é usada para especificar as opções de resposta para perguntas de escolha múltipla.
Cada linha representa uma opção de resposta. As seguintes colunas são obrigatórias na folha de trabalho choices:
list_name: Agrupa um conjunto de opções de resposta relacionadas.name: Especifica o nome de variável único para essa opção de resposta.label: Mostra a opção de resposta exatamente como quer que apareça no formulário.
| list_name | name | label |
|---|---|---|
| gender | transgender | Transgénero |
| gender | female | Feminino |
| gender | male | Masculino |
| gender | other | Outro |
As colunas que adiciona ao seu livro de trabalho Excel, quer sejam obrigatórias ou opcionais, podem aparecer em qualquer ordem. As colunas opcionais podem ser omitidas completamente. As linhas ou colunas podem ser deixadas em branco para facilitar a leitura, mas os dados após 20 colunas ou linhas em branco adjacentes numa folha não serão processados. Toda a formatação de ficheiros .xlsx é ignorada, por isso pode usar linhas divisórias, sombreamento e outra formatação de tipo de letra para tornar o formulário mais legível.
Uma coisa a ter em mente ao criar formulários no Excel é que a sintaxe que usa deve ser precisa. Por exemplo, se escrever Choices ou choice em vez de choices, o formulário não funcionará.
A folha de trabalho settings
A folha de trabalho settings é opcional, mas permite-lhe especificar metadados e comportamento ao nível do formulário. As colunas comuns na folha de trabalho settings incluem:
| Coluna | Descrição |
|---|---|
| form_title | O título do formulário como aparece para os utilizadores |
| form_id | Um identificador único para o formulário, usado na gestão de dados e chamadas de API |
| default_language | O código de idioma predefinido para formulários multilingues (por ex., ’en’ para inglês) |
| version | O número de versão do formulário, útil para rastrear alterações |
| instance_name | Expressão para gerar um nome único para cada submissão de formulário |
| generation | Número inteiro que marca a geração do formulário. Incremente para alterações estruturais |
| family | Identificador para agrupar formulários relacionados ao longo de alterações estruturais |
A folha de trabalho settings no rtSurvey também pode incluir configurações adicionais específicas das funcionalidades alargadas do rtSurvey. Consulte a documentação do rtSurvey para uma lista completa de configurações suportadas.
Componentes Principais da Folha de Trabalho Survey
A folha de trabalho survey é o núcleo do design do seu formulário. Aqui está uma visão geral dos seus componentes principais:
| Componente | Descrição |
|---|---|
| type | Especifica o tipo de pergunta (por ex., text, integer, select_one) |
| name | Identificador único para a pergunta |
| label | O texto exibido ao respondente |
| hint | Orientação adicional para o respondente |
| appearance | Modifica como a pergunta é exibida |
| relevant | Determina quando a pergunta deve ser feita (lógica de salto) |
| constraint | Valida a resposta |
| calculation | Calcula valores com base noutras respostas |
| required | Especifica se a pergunta deve ser respondida |
Cada um destes componentes desempenha um papel crucial na criação de inquéritos eficazes e eficientes. Clique nos links na coluna “Secção Detalhada” para saber mais sobre cada componente.
Tipos de perguntas
O XLSForm suporta vários tipos de perguntas. Estas são apenas algumas das opções que pode introduzir na coluna type na folha de trabalho survey no seu XLSForm:
| Tipo de pergunta | Entrada de resposta |
|---|---|
| integer | Entrada de número inteiro (ou seja, número inteiro sem decimais). |
| decimal | Entrada decimal. |
| range | Entrada de intervalo (incluindo classificação) |
| text | Resposta de texto livre. |
| select_one [options] | Questão de escolha múltipla; apenas uma resposta pode ser selecionada. |
| select_multiple [options] | Questão de escolha múltipla; múltiplas respostas podem ser selecionadas. |
| select_one_from_file [file] | Escolha múltipla a partir de ficheiro; apenas uma resposta pode ser selecionada. |
| select_multiple_from_file [file] | Escolha múltipla a partir de ficheiro; múltiplas respostas podem ser selecionadas. |
| rank [options] | Questão de classificação; ordenar uma lista. |
| note | Exibir uma nota no ecrã, não requer entrada. Abreviação para type=text com readonly=true. |
| geopoint | Recolher uma única coordenada GPS. |
| geotrace | Registar uma linha de duas ou mais coordenadas GPS. |
| geoshape | Registar um polígono de múltiplas coordenadas GPS; o último ponto é o mesmo que o primeiro. |
| date | Entrada de data. |
| time | Entrada de hora. |
| dateTime | Aceita uma data e uma entrada de hora. |
| image | Tirar uma foto ou carregar um ficheiro de imagem. |
| audio | Fazer uma gravação de áudio ou carregar um ficheiro de áudio. |
| background-audio | O áudio é gravado em segundo plano enquanto preenche o formulário. |
| video | Fazer uma gravação de vídeo ou carregar um ficheiro de vídeo. |
| file | Entrada de ficheiro genérico (txt, pdf, xls, xlsx, doc, docx, rtf, zip) |
| barcode | Digitalizar um código de barras, requer a instalação da aplicação de scanner de código de barras. |
| calculate | Efetuar um cálculo; consulte a secção Cálculo abaixo. |
| acknowledge | Prompt de confirmação que define o valor como “OK” se selecionado. |
| hidden | Um campo sem elemento de UI associado que pode ser usado para armazenar uma constante |
| xml-external | Adiciona uma referência a um ficheiro de dados XML externo |
Etiquetas
As etiquetas são o texto exibido aos respondentes para cada pergunta. São cruciais para uma comunicação clara nos inquéritos.
- Utilização básica: Na coluna
label, introduza o texto da pergunta. - Múltiplos idiomas: Use colunas adicionais como
label::Englishelabel::Frenchpara inquéritos multilingues. - Formatação: O rtSurvey suporta formatação HTML básica nas etiquetas para ênfase ou estrutura.
Exemplo:
| type | name | label | label::French |
|------|------|-------|---------------|
| text | name | Qual é o seu nome? | Quel est votre nom? |
Dicas
As dicas fornecem orientação adicional aos respondentes sem sobrecarregar o texto principal da pergunta.
- Utilização: Adicione dicas na coluna
hint. - Visibilidade: As dicas são tipicamente exibidas abaixo do texto principal da pergunta.
- Multilingue: Como as etiquetas, as dicas podem ser especificadas para múltiplos idiomas usando colunas
hint::Idioma.
Exemplo:
| type | name | label | hint |
|------|------|-------|------|
| integer | age | Quantos anos tem? | Por favor introduza a sua idade em anos |
Aparência
A coluna appearance no rtSurvey permite a personalização de como as perguntas são exibidas.
- Opções padrão: Incluem ‘multiline’ para texto, ‘horizontal’ para perguntas de seleção.
- Extensões rtSurvey:
- Entrada de hora: Várias opções de exibição de relógio (por ex.,
inline,inline-1line) - Personalização de cor: Use a função
colors()para alterar as cores dos ícones
- Entrada de hora: Várias opções de exibição de relógio (por ex.,
Exemplo:
| type | name | label | appearance |
|------|------|-------|------------|
| text | time | Introduza a hora | inline-[%H:%M] |
Relevante
A coluna relevant implementa lógica de salto, determinando quando uma pergunta deve ser exibida.
- Sintaxe: Use expressões XPath para definir condições.
- Variáveis: Referencie outros nomes de perguntas usando
${question_name}.
Exemplo:
| type | name | label | relevant |
|------|------|-------|----------|
| text | allergies | Listar alergias | ${has_allergies} = 'yes' |
Obrigatório
A coluna required especifica se uma pergunta deve ser respondida.
- Utilização básica: Use ‘yes’ ou ’true’ para tornar uma pergunta obrigatória.
- Avançado: Pode usar expressões para requisito condicional.
Exemplo:
| type | name | label | required |
|------|------|-------|----------|
| text | email | Endereço de email | yes |
Repetições
As repetições permitem que um grupo de perguntas seja respondido múltiplas vezes.
- Utilização: Use as linhas
begin repeateend repeatpara definir um grupo repetitivo. - Nomenclatura: Dê a cada grupo de repetição um nome único.
Exemplo:
| type | name | label |
|------|------|-------|
| begin repeat | household_member | Membro do agregado familiar |
| text | member_name | Nome |
| integer | member_age | Idade |
| end repeat | | |
Multimédia
O rtSurvey suporta vários tipos de multimédia em inquéritos, incluindo imagens, áudio e vídeo.
- Tipos de pergunta: Use ‘image’, ‘audio’ ou ‘video’ na coluna type.
- Multimédia em etiquetas: Referencie ficheiros de multimédia em etiquetas usando tags HTML.
Exemplo:
| type | name | label |
|------|------|-------|
| image | house_photo | Tire uma foto da casa |
| note | | <img src="logo.jpg" /> Bem-vindo ao inquérito |
Somente leitura
As perguntas de apenas leitura exibem informação sem permitir entrada do utilizador.
- Utilização: Adicione ‘readonly’ à coluna
appearance. - Cálculos: Frequentemente usadas com o tipo calculate para exibir valores calculados.
Exemplo:
| type | name | label | appearance | calculation |
|------|------|-------|------------|-------------|
| calculate | bmi | IMC | readonly | ${weight} / (${height} * ${height}) |
Extensões rtSurvey
O rtSurvey alarga o padrão XLSForm suportando capacidades adicionais como grid layout, html format e muitos novos widgets.
Layout em grelha
O rtSurvey permite que o seu formulário imite o aspeto de inquéritos tradicionais em papel compactando múltiplas perguntas numa linha.