Form Editor Il tema permette di generare automaticamente dei moduli per la raccolta di dati in tre semplici step: 1. Si crea una tabella nel database per la raccolta dei dati. Per la creazione si parte dalla seguente query e le si aggiungono tutti i campi che servono: CREATE TABLE ProfileNomeProfilo ( ID int IDENTITY NOT NULL, lnumobjectid int NOT NULL, ntable int NOT NULL, szuseragent nvarchar (200) NULL, szremoteaddr nvarchar (20) NULL, dcreatedate datetime NULL, lnumaccountid int NULL, szreferer nvarchar (255) NULL,... Campi specifici della form ) CREATE UNIQUE INDEX indprofilenomeprofiloid ON ProfileNomeProfilo (ID, lnumobjectid, ntable) CREATE INDEX indprofilenomeprofilonumobject ON ProfileNomeProfilo (lnumobjectid) GO Dove NomeProfilo è personalizzabile. 2. Si modifica il file profiles.xml aggiungendo il descrittore della tabella di cui al punto precedente. Il fie si trova in C:\Quintetto\Instance\repository\_Data\profiles.xml 3. Si pubblica un documento xml con xgear pari a 111 (Form) e avente una certa struttura per la descrizione della form desiderata. Tale documento può essere pubblicato in una qualsiasi pagina diversa dalla homepage, assegnandole la posizione desiderata: Pagina generica: Documento in alto Pagina generica: Solo il documento Pagina generica: Documento in basso Pagina generica: Documento in centro Visualizzato in pagina ad-hoc L aspetto grafico della form è definito via css, ma può essere modificato tramite il file ForceStyle.css. Comunque sono già disponibili tre classi di default (da assegnare alla tag form del file xml): form_label_above etichetta visualizzata sopra l'input form_right_vista etichetta visualizzata prima dell'input e allineata a destra. Usata solo nella vista ossia quando la form viene visualizzata da sola in una pagina ad hoc form_right etichetta visualizzata prima dell'input e allineata a destra
I dati inviati tramite la form vengono verificati lato server per controllare che rispettino i criteri definiti nel descrittore della form (file xml): tipo di dati da inserire (numero, testo, data, ecc.), obbligatorietà, lunghezza minima, valore minimo, ecc. Nel caso in cui tali criteri non siano rispettati allora la form viene rispresentata all utente preceduta dall elenco dei campi non validi. Altrimenti i dati vengono inseriti nel database. Da backend è possibile: Interrogare il database per farsi restituire tutti i record di una certa tabella relativa alle form Cancellare uno o più record Esportare in formato Excel tutti i record. Queste funzionalità sono disponibili nella sezione: Backend / Report / Dati delle form Elenco dei campi automaticamente inviati dalla form e quindi inseriti nella tabella del database corrispondente: dcreatedate Data di inserimento del record lnumaccountid Id dell'utente loggato (vuoto se non loggato) szremoteaddr Indirizzo IP szuseragent User agent del browser szreferer Pagina del sito da cui è sttata fatta la richiesta Il file xml per la generazione della form dev essere in formato utf-8 e dev essere valido (ossia dev essere aperto correttamente tramite Internet Explorer). Formato del file xml: <root> <form id="formid" class="form_label_above form_right_vista"> <caption>modulo di test con tutti i campi disponibili</caption> <description>descrizione del modulo</description> <mail> <from>vianini@quintetto.it</from> <to>vianini@quintetto.it</to> <subject>nuovo record</subject> </mail> <succeeded>operazione eseguita con successo!</succeeded> <group id="groupid"> <caption>group 1</caption> <caption /> <input type="text" name="profiletheme.szocchiello_ita"> <caption>text:</caption> <xhtml> <div class="xhtml_test"> prova </div> </xhtml> <input type="radio" name="profilefeedback.szrate"> <caption>dai un voto</caption> <values> <value code="1"> <caption>scarso</caption>
<value code="2"> <caption>mediocre</caption> <value code="3"> <caption>sufficiente</caption> <value code="4"> <caption>buono</caption> <value code="5"> <caption>ottimo</caption> </values>... </group> <group>... </group> <input type="submit" name="submitform" code="conferma"> <caption>conferma</caption> <input type="reset" name="resetform" code="cancella"> <caption>cancella</caption> </form> </root> Descrizione delle tag presenti nel file xml root è la radice del file form serve per identificare la form caption serve per associare una intestazione all elemento padre Possibili elementi padre: form, group, row, input, value. description serve per associare una descrizione alla form mail indica a chi mandare la mail con il riepilogo dei dati inviati da un utente tramite la form dopo aver cliccato il tasto submit. Se tale campo viene omesso la mail non viene mandata. succeeded indica cosa scrivere se l invio della form ha avuto esito positivo group serve per raggruppare gli input della form in base alla loro tipologia (es. Dati anagrafici, ecc.) row serve per raggruppare più input in un unica riga. Per ottenere esattamente l effetto grafico desiderato sarà necessario intervenire a livello css input server per descrivere il tipo di input desiderato xhtml indica il codice xhtml da inserire nella form, nella posizione corrispondente values serve per raggruppare le opzioni disponibili per gli input a scelta multipla (select list e radio buttons) Attributi disponibili: tabindex Campo opzionale Serve per indicare il valore da cui far partire il tabindex della form. Valore di default = 500 Attributo disponibile per la tag form
id Campo opzionale Serve per assegnare un Id a una certa componente della form. Attributo disponibile per le seguenti tag: form, group, input class Campo opzionale Serve per assegnare la classe desiderata a una certa componente della form. Il sistema associa automaticamente anche una classe predefinita a ciascun elemento della form Attributo disponibile per le seguenti tag: form, group, input In particolare per la tag form sono già disponibili i seguenti valori: o form_label_above etichetta visualizzata sopra l'input o form_right_vista etichetta visualizzata prima dell'input e allineata a destra. Usata solo nella vista, ossia quando la form viene visualizzata da sola o form_right etichetta visualizzata prima dell'input e allineata a destra use Campo opzionale Serve per modificare il contenuto della form in base a dove viene visualizzata. o layout la form viene visualizzata insieme a tutti gli altri oggetti della cartella o vista la form viene visualizzata da sola in una pagina ad hoc Attributo disponibile per le seguenti tag: caption, description, succeeded, row, input, xhtml. lang Campo opzionale Serve per distinguere il contenuto della form in base alla lingua corrente. o Ita Italiano o Eng Inglese Attributo disponibile per le seguenti tag: caption, description, succeeded. Attributi disponibii per gli input: type Campo obbligatorio Serve per indicare il tipo di input desiderato. o text campo di tipo testo o number campo numerico o currency campo di tipo valuta o phone campo per numero telefonico o email campo per indirizzo e-mail o fiscalcode campo per codice fiscale o checkbox o date campo di tipo data
Vengono visualizzate tre select list: giorno - mese - anno o password o textarea o hidden campo nascosto o radio radio button o select select list o submit pulsante per l invio della form Questo input ha la particolarità di non doversi trovare all interno della tag group, bensì direttamente sotto la tag form o reset pulsante per cancellare il contenuto della form Questo input ha la particolarità di non doversi trovare all interno della tag group, bensì direttamente sotto la tag form name Campo obbligatorio Formato: NomeTabella.NomeCampo accesskey lettera per l accesso rapido all input. Tale valore se presente viene scritto all interno della label tra prentesi quadre, ma può essere nascosto via css. code Valore di default del campo label Solo per input di tipo checkbox e radio. o before per inserire la label prima dell input o after per inserire la label dopo l input mandatory yes per indicare che il campo è obbligatorio minlength Lunghezza minima del contenuto del campo Solo per input di tipo text. maxlength Lunghezza massima del contenuto del campo Solo per input di tipo text. minvalue Valore minimo accettato Solo per input numerici (number, currency) maxvalue Valore massimo accettato Solo per input numerici (number, currency) notvalidset Elenco dei caratteri non validi Solo per input di tipo text. yearmin Anno minimo Solo per input di tipo date yearmax Anno massimo Solo per input di tipo date size Numero di righe visualizzate. Solo per input di tipo select multiple yes per indicare che la select list è a selezione multipla Solo per input di tipo select rows Numero di righe visualizzate. Solo per input di tipo textarea cols Numero di colonne visualizzate. Solo per input di tipo textarea
mandatory Per la tag value dei campi di tipo radio yes per indicare che questo valore dev'essere settato obbligatoriamente per procedere Esempio. Se è obbligatorio dare l'accesso ai propri dati personali, si potrà procedere solo se si seleziona "Si"