Come creare una nuova tipologia

Per creare (o modificare, o cancellare) una nuova tipologia di domanda, selezionare la voce "Nuovi tipi di domanda" dal menu Strumenti, oppure premere il pulsante dalla barra degli strumenti.

Apparirà una finestra di dialogo con la lista delle tipologie già presenti, con il nome, l'icona associata e con il rispettivo numero di versione:

Per creare una nuova tipologia di domanda, premere il pulsante "Nuovo". Apparirà la seguente finestra di dialogo:

Il tab "Principale" chiede di inserire le principali informazioni:

1. Il nome della tipologia di domanda (tra tutte, l'unica obbligatoria)

2. Una versione, composta da una coppia di numeri che identifica il numero della versione e della sotto-versione. La versione è utile nel caso venga modificato più volte e venga distribuito a terze persone, così è possibile tenere traccia delle varie distribuzioni.

3. Una descrizione (opzionale), che fornisce tutte le informazioni sulla tipologia di domanda

4. Un'icona, di dimensioni massime 16 x 16 pixel (non importa il formato, se JPEG, GIF, PNG o altro, comunque meglio trasparente), e lunghezza del file inferiore a 10KB , che verrà visualizzata sia nell'elenco delle tipologie, sia nell'albero delle domande, per identificare meglio le domande con quella tipologia.

5. Come valutare la domanda, con una risposta corretto o errato, oppure a punteggio (e specificando il punteggio minimo e quello massimo).

6. Se includere oppure no il pulsante di conferma. Se il pulsante di conferma non viene incluso, sarà il codice Javascript che dovrà confermare la domanda nel momento che riterrà opportuno.

Gli altri due tab, "HEAD" e "BODY", permettono di definire rispettivamente la sezione HEAD e la sezione BODY della pagina HTML.

Tab "HEAD"

Contiene al suo interno due sotto-tab, uno per la parte Javascript e uno per la parte CSS. Entrambi permettono di specificare un elenco di file.

Il sotto-tab "Javascript" permette di specificare uno o più file .JS che verranno inclusi nella pagine HTML del quiz (sezione HEAD) mediante il seguente tag HTML:

<script type="text/javascript" src="..."></script>

Il sotto-tab "CSS" permette di specificare uno o più file .CSS che verranno inclusi nella pagina HTML del quiz (sezione HEAD) mediante il seguente tag HTML:

<link rel="stylesheet" type="text/css" href="..." />

IMPORTANTE:

I file verranno copiati nel file del quiz .XQZ, in modo tale che, una volta inseriti nella lista, non esisterà più nessuna dipendenza, anzi, se verranno modificati esternamente, dovranno essere cancellati dalla lista e inseriti nuovamente.

Tab "BODY"

Contiene al suo interno quattro sotto-tab, due per la parte di codice Javascript e HTML (nella sezione BODY dell'HTML), uno per specificare la lista dei file multimediali e uno per la definizione dei parametri (nome, tipo, valore predefinito e se crittografato oppure no).

Tab "BODY" > Javascript

Contiene la parte di codice Javascript nella sezione BODY dell'HTML.
Se il codice viene specificato fuori da una funzione, viene eseguito quando la pagina HTML del quiz viene aperta, se specificato in una funzione function(), occorre che venga richiamato da un evento da un elemento HTML (o da altra funzione Javascript).

Tab "BODY" > HTML

Contiene la parte di codice HTML nella sezione BODY dell'HTML.

Come evidenziato nella parte inferiore della finestra, la seguente riga di codice:

<INPUT type="hidden" NAME="custom_%NAME_%NUM" VALUE="0">

verrà sempre aggiunta automaticamente al fondo del codice HTML inserito dall'utente. E' un tag "nascosto" e, come spiegato nel capitolo precedente (concetti generali), è il punto di unione tra il motore Javascript di QuizFaber e il motore della tipologia di domanda definita dall'utente.

Tab "BODY" > Multimedia

E' un elenco di file di qualsiasi genere, ma dato che dovranno essere visualizzati in una pagina HTML, saranno tipicamente immagini o video (in generale, file multimediali).

IMPORTANTE:

1) Come per i file .JS e .CSS della sezione HEAD, il contenuto del file multimediale verrà copiato nel file del quiz .XQZ, e verrà quindi persa la dipendenza dal file esterno. Quindi, se il file multimediale viene modificato all'esterno, occorrerà che venga eliminato dalla lista e nuovamente inserito.

2) Diveramente dai file multimediali inseriti nell'editor delle domande di QuizFaber, dove il file è automaticamente riconosciuto e il tag HTML inserito senza che l'utente debba conoscere nulla di programmazione HTML, in questo caso non esiste nessun supporto automatico, ovvero: se inserisco un'immagine nella lista, la visualizzo, scrivendo nella parte BODY > HTML il tag HTML IMG:

<IMG SRC="media/nome_del_file">

3) Tutti i file multimediali verranno copiati nella cartella multimediale del quiz (solitamente di nome "media"), quindi, quando vengono riferiti nel codice HTML, il loro nome deve essere preceduto dal percorso "media/" (come l'esempio dell'immagine al punto precedente).

Tab "BODY" > Parametri

Un parametro è caratterizzato da:

Il tipo può essere:

Il valore predefinito può essere utile se si vuole impostare, ad esempio, un valore tipico che può essere utilizzato. In un puzzle, un parametro che specifica il numero di pezzi in orizzontale e verticale può avere valore tipico di 3, 4 o 5 (ad aumentare la difficoltà nel risolvere il puzzle).

Infine in un quiz dove uno dei parametri è la risposta esatta, è importante che il suo valore venga crittografato nella pagina HTML (usando l'algoritmo già utilizzato da QuizFaber) in modo che un'occhiata al codice sorgente della pagina sveli la risposta esatta.

Ad esempio, in una tipologia del tipo a risposta numerica, il numero da calcolare, che posso chiamare "ANSWER", verrà segnato come crittografato.

Come usare i parametri nel codice

I parametri definiti per una tipologia di domanda possono essere utilizzati nel codice Javascript e HTML della sezione BODY (non nella sezione HEAD!) usando la seguente convenzione:

%NOME_PARAMETRO%

Ovvero facendo precedere e seguire il nome del parametro con il simbolo %.

Ecco un esempio:

function checkNumericAnswer%NUM%()
{
	var answerField = document.getElementById("numeric_ans_%NUM%");
	var answerValue = parseFloat(answerField.value);
	var min_value = (%ANSWER% - %TOLERANCE%);
	var max_value = (%ANSWER% + %TOLERANCE%);
	if ((answerValue >= min_value) && (answerValue <= max_value)) {
		document.domanda.custom_%NAME%_%NUM%.value = 1;
	}
	else {
		document.domanda.custom_%NAME%_%NUM%.value = 0;
	}
}

Si noti che viene definita una funzione Javascript il cui nome dipende dal numero di domanda in cui verrà inserita nel quiz, in modo da evitare che due domande della stessa tipologia definiscano la stessa funzione, creando un errore di sintassi.

Prossimo paragrafo : Aggiungere una nuova domanda personalizzata


Articoli correlati