Concetti chiave
Panoramica della progettazione dei moduli
Cos’è un XLSForm?
rtSurvey usa una versione estesa dello standard XLSForm per la progettazione dei moduli, offrendo funzionalità potenti per la creazione di sondaggi sofisticati. Questa guida ti introduce ai concetti chiave della progettazione dei moduli in rtSurvey, dalla struttura base di XLSForm alle funzionalità avanzate specifiche di rtSurvey.
Con gli XLSForm, puoi creare moduli in un formato leggibile dall’uomo usando il familiare strumento Excel, rendendolo accessibile a quasi tutti. Questo standard consente la facile condivisione e collaborazione nella creazione dei moduli.
Sebbene gli XLSForm siano adatti ai principianti, consentono anche agli utenti esperti di creare moduli complessi.
rtSurvey fornisce un modo coerente per incorporare funzionalità avanzate come la logica di salto nei moduli su varie piattaforme di raccolta dati web e mobile.
Struttura dell’XLSForm
Un XLSForm consiste tipicamente di due fogli di lavoro principali:
- survey: Definisce la struttura e il contenuto del tuo modulo.
- choices: Specifica le scelte di risposta per le domande a scelta multipla.
Un foglio di lavoro settings opzionale può fornire specifiche aggiuntive del modulo.
È importante notare che le colonne obbligatorie nei fogli di lavoro survey e choices devono essere presenti affinché il modulo funzioni correttamente. Le colonne opzionali in entrambi i fogli di lavoro forniscono un ulteriore controllo sul comportamento di ogni voce nel modulo ma non sono essenziali.
Le colonne nella tua cartella di lavoro Excel possono apparire in qualsiasi ordine, e le colonne opzionali possono essere lasciate vuote. Tuttavia, è fondamentale usare la sintassi precisa e le convenzioni di denominazione specificate nella documentazione XLSForm affinché il modulo funzioni correttamente.
Il foglio di lavoro survey
Il foglio di lavoro survey è dove definisci la struttura del tuo modulo e fornisci il contenuto. Ogni riga nel foglio di lavoro survey rappresenta una domanda o un elemento nel tuo modulo. Le seguenti colonne sono obbligatorie nel foglio di lavoro survey:
type: Specifica il tipo di voce che ti aspetti per la domanda.name: Specifica il nome univoco della variabile per quella voce. I nomi devono iniziare con una lettera o un underscore e possono contenere solo lettere, cifre, trattini, underscore e punti. I nomi sono sensibili alle maiuscole.label: Contiene il testo effettivo che vedi per la domanda nel modulo.
| type | name | label |
|---|---|---|
| today | today | |
| select_one gender | gender | Genere del rispondente? |
| integer | age | Età del rispondente? |
Il foglio di lavoro choices
Il foglio di lavoro choices è usato per specificare le scelte di risposta per le domande a scelta multipla.
Ogni riga rappresenta una scelta di risposta. Le seguenti colonne sono obbligatorie nel foglio di lavoro choices:
list_name: Raggruppa insieme un insieme di scelte di risposta correlate.name: Specifica il nome univoco della variabile per quella scelta di risposta.label: Mostra la scelta di risposta esattamente come vuoi che appaia nel modulo.
| list_name | name | label |
|---|---|---|
| gender | transgender | Transgender |
| gender | female | Femmina |
| gender | male | Maschio |
| gender | other | Altro |
Le colonne che aggiungi alla tua cartella di lavoro Excel, siano esse obbligatorie o opzionali, possono apparire in qualsiasi ordine. Le colonne opzionali possono essere omesse completamente. Le righe o le colonne possono essere lasciate vuote per migliorare la leggibilità, ma i dati dopo 20 colonne o righe vuote adiacenti su un foglio non saranno elaborati. Tutta la formattazione dei file .xlsx viene ignorata, quindi puoi usare linee di separazione, ombreggiatura e altre formattazioni del font per rendere il modulo più leggibile.
Una cosa da tenere a mente quando si creano moduli in Excel è che la sintassi usata deve essere precisa. Ad esempio, se scrivi Choices o choice invece di choices, il modulo non funzionerà.
Il foglio di lavoro settings
Il foglio di lavoro settings è opzionale ma consente di specificare metadati e comportamento a livello di modulo. Le colonne comuni nel foglio di lavoro settings includono:
| Colonna | Descrizione |
|---|---|
| form_title | Il titolo del modulo come appare agli utenti |
| form_id | Un identificatore univoco per il modulo, usato nella gestione dei dati e nelle chiamate API |
| default_language | Il codice lingua predefinito per i moduli multilingua (es. ’en’ per inglese, ‘it’ per italiano) |
| version | Il numero di versione del modulo, utile per tracciare le modifiche |
| instance_name | Espressione per generare un nome univoco per ogni invio del modulo |
| generation | Intero che contrassegna la generazione del modulo. Incrementa per le modifiche strutturali |
| family | Identificatore per raggruppare i moduli correlati tra le modifiche strutturali |
Il foglio di lavoro settings in rtSurvey può includere anche configurazioni aggiuntive specifiche delle funzionalità estese di rtSurvey. Consulta la documentazione di rtSurvey per un elenco completo delle impostazioni supportate.
Componenti chiave del foglio di lavoro survey
Il foglio di lavoro survey è il nucleo della progettazione del tuo modulo. Ecco una panoramica dei suoi componenti chiave:
| Componente | Descrizione |
|---|---|
| type | Specifica il tipo di domanda (es. text, integer, select_one) |
| name | Identificatore univoco per la domanda |
| label | Il testo visualizzato al rispondente |
| hint | Guida aggiuntiva per il rispondente |
| appearance | Modifica come viene visualizzata la domanda |
| relevant | Determina quando la domanda deve essere posta (logica di salto) |
| constraint | Valida la risposta |
| calculation | Calcola valori basati su altre risposte |
| required | Specifica se la domanda deve essere risposta |
Ognuno di questi componenti svolge un ruolo cruciale nella creazione di sondaggi efficaci ed efficienti.
Tipi di domanda
XLSForm supporta vari tipi di domanda. Queste sono solo alcune delle opzioni che puoi inserire nella colonna type nel foglio di lavoro survey nel tuo XLSForm:
| Tipo di domanda | Input risposta |
|---|---|
| integer | Input intero (cioè, numero intero). |
| decimal | Input decimale. |
| range | Input di intervallo (inclusa la valutazione) |
| text | Risposta testo libero. |
| select_one [options] | Domanda a scelta multipla; è possibile selezionare solo una risposta. |
| select_multiple [options] | Domanda a scelta multipla; è possibile selezionare più risposte. |
| select_one_from_file [file] | Scelta multipla da file; è possibile selezionare solo una risposta. |
| select_multiple_from_file [file] | Scelta multipla da file; è possibile selezionare più risposte. |
| rank [options] | Domanda di rank; ordina un elenco. |
| note | Mostra una nota sullo schermo, non accetta input. |
| geopoint | Raccoglie una singola coordinata GPS. |
| geotrace | Registra una linea di due o più coordinate GPS. |
| geoshape | Registra un poligono di più coordinate GPS; l’ultimo punto è uguale al primo. |
| date | Input data. |
| time | Input orario. |
| dateTime | Accetta un input di data e ora. |
| image | Scatta una foto o carica un file immagine. |
| audio | Registra un audio o carica un file audio. |
| background-audio | L’audio viene registrato in background durante la compilazione del modulo. |
| video | Registra un video o carica un file video. |
| file | Input file generico (txt, pdf, xls, xlsx, doc, docx, rtf, zip) |
| barcode | Scansiona un barcode, richiede che l’app scanner barcode sia installata. |
| calculate | Esegue un calcolo; vedi la sezione Calcolo di seguito. |
| acknowledge | Prompt di conferma che imposta il valore su “OK” se selezionato. |
| hidden | Un campo senza elemento UI associato che può essere usato per memorizzare una costante |
| xml-external | Aggiunge un riferimento a un file dati XML esterno |
Etichette
Le etichette sono il testo visualizzato ai rispondenti per ogni domanda. Sono fondamentali per una comunicazione chiara nei sondaggi.
- Utilizzo base: Nella colonna
label, inserisci il testo della domanda. - Lingue multiple: Usa colonne aggiuntive come
label::Italianelabel::Englishper i sondaggi multilingua. - Formattazione: rtSurvey supporta la formattazione HTML base nelle etichette per enfasi o struttura.
Esempio:
| type | name | label | label::Italian |
|------|------|-------|----------------|
| text | name | What is your name? | Qual è il tuo nome? |
Suggerimenti
I suggerimenti forniscono guida aggiuntiva ai rispondenti senza ingombrare il testo principale della domanda.
- Utilizzo: Aggiungi suggerimenti nella colonna
hint. - Visibilità: I suggerimenti vengono tipicamente visualizzati sotto il testo principale della domanda.
- Multilingua: Come le etichette, i suggerimenti possono essere specificati per più lingue usando colonne
hint::Language.
Esempio:
| type | name | label | hint |
|------|------|-------|------|
| integer | age | Quanti anni hai? | Inserisci la tua età in anni |
Aspetto
La colonna appearance in rtSurvey consente la personalizzazione di come vengono visualizzate le domande.
- Opzioni standard: Include ‘multiline’ per il testo, ‘horizontal’ per le domande di selezione.
- Estensioni rtSurvey:
- Input orario: Varie opzioni di visualizzazione dell’orologio (es.
inline,inline-1line) - Personalizzazione del colore: Usa la funzione
colors()per cambiare i colori delle icone
- Input orario: Varie opzioni di visualizzazione dell’orologio (es.
Esempio:
| type | name | label | appearance |
|------|------|-------|------------|
| text | time | Inserisci l'orario | inline-[%H:%M] |
Rilevante
La colonna relevant implementa la logica di salto, determinando quando una domanda deve essere visualizzata.
- Sintassi: Usa le espressioni XPath per definire le condizioni.
- Variabili: Fai riferimento ai nomi delle altre domande usando
${question_name}.
Esempio:
| type | name | label | relevant |
|------|------|-------|----------|
| text | allergies | Elenca le allergie | ${has_allergies} = 'yes' |
Obbligatorio
La colonna required specifica se una domanda deve essere risposta.
- Utilizzo base: Usa ‘yes’ o ’true’ per rendere obbligatoria una domanda.
- Avanzato: Può usare espressioni per il requisito condizionale.
Esempio:
| type | name | label | required |
|------|------|-------|----------|
| text | email | Indirizzo email | yes |
Ripetizioni
Le ripetizioni consentono di rispondere a un gruppo di domande più volte.
- Utilizzo: Usa le righe
begin repeateend repeatper definire un gruppo ripetente. - Denominazione: Dai a ogni gruppo di ripetizione un nome univoco.
Esempio:
| type | name | label |
|------|------|-------|
| begin repeat | household_member | Membro del nucleo familiare |
| text | member_name | Nome |
| integer | member_age | Età |
| end repeat | | |
Media
rtSurvey supporta vari tipi di media nei sondaggi, incluse immagini, audio e video.
- Tipi di domanda: Usa ‘image’, ‘audio’ o ‘video’ nella colonna type.
- Media nelle etichette: Fai riferimento ai file multimediali nelle etichette usando i tag HTML.
Esempio:
| type | name | label |
|------|------|-------|
| image | house_photo | Scatta una foto della casa |
| note | | <img src="logo.jpg" /> Benvenuto nel sondaggio |
Sola lettura
Le domande in sola lettura mostrano informazioni senza consentire l’input dell’utente.
- Utilizzo: Aggiungi ‘readonly’ alla colonna
appearance. - Calcoli: Spesso usato con il tipo calculate per visualizzare i valori calcolati.
Esempio:
| type | name | label | appearance | calculation |
|------|------|-------|------------|-------------|
| calculate | bmi | BMI | readonly | ${weight} / (${height} * ${height}) |
Estensioni rtSurvey
rtSurvey espande lo standard XLSForm supportando capacità aggiuntive come layout a griglia, formato HTML e molti nuovi widget.
Layout a griglia
rtSurvey consente al tuo modulo di imitare l’aspetto dei tradizionali sondaggi cartacei compattando più domande in una riga.