x

Capitolele principale

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Ghid de inițiere rapidă
  3. LimeSurvey CE - Instalare
  4. Cum să proiectați un sondaj bun (Ghid)
  5. Noțiuni de bază
  6. Configurați LimeSurvey
  7. Sondaje - Introducere
  8. Setările sondajului
  9. Vizualizați meniul sondajului
  10. Vedeți structura sondajului
  11. Introducere - Întrebări
  12. Introducere - Grupuri de întrebări
  13. Introducere - Managementul Sondajelor
  14. Opțiunile barei de instrumente pentru sondaj
  15. Sondaj multilingv
  16. Ghid de inițiere rapidă - ExpressionScript
  17. Caracteristici avansate
  18. Întrebări generale frrecvente
  19. Depanare
  20. Soluții alternative
  21. Licență
  22. Jurnal de modificare a versiunii
  23. Pluginuri - Avansat
 Actions

Tab Separated Value survey structure/ro: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "Scopul importului/exportului cu valori separate prin file este să vă permită să vă proiectați rapid sondajul folosind o foaie de calcul. Ne așteptăm să importați fre..."
Maren.fritz (talk | contribs)
Created page with "Iată câteva lucruri convenabile pe care le puteți face cu această abordare a instrumentelor de creație: #'''Utilizați aceleași răspunsuri pentru multe întrebări'''...."
Line 33: Line 33:
Scopul importului/exportului cu valori separate prin file este să vă permită să vă proiectați rapid sondajul folosind o foaie de calcul. Ne așteptăm să importați frecvent foaia, să verificați valabilitatea acesteia folosind funcția „Afișați logica sondajului” și să o testați. De fiecare dată când îl importați, veți primi un nou sondaj. Deci, s-ar putea să ajungeți cu multe sondaje parțial dezvoltate, dar asta este în regulă. Obișnuiește-te să ții evidența care este cel mai recent sau șterge-l pe cel vechi după ce le importați pe cele noi. Întrucât nu utilizați niciodată coduri SGQA în Valoare separată de file, nu trebuie să vă faceți griji cu privire la codurile atribuite de LimeSurvey pentru cheile primare de sondaj, grup, întrebări și răspunsuri. Deci, nu ezitați să importați și să exportați ori de câte ori doriți.
Scopul importului/exportului cu valori separate prin file este să vă permită să vă proiectați rapid sondajul folosind o foaie de calcul. Ne așteptăm să importați frecvent foaia, să verificați valabilitatea acesteia folosind funcția „Afișați logica sondajului” și să o testați. De fiecare dată când îl importați, veți primi un nou sondaj. Deci, s-ar putea să ajungeți cu multe sondaje parțial dezvoltate, dar asta este în regulă. Obișnuiește-te să ții evidența care este cel mai recent sau șterge-l pe cel vechi după ce le importați pe cele noi. Întrucât nu utilizați niciodată coduri SGQA în Valoare separată de file, nu trebuie să vă faceți griji cu privire la codurile atribuite de LimeSurvey pentru cheile primare de sondaj, grup, întrebări și răspunsuri. Deci, nu ezitați să importați și să exportați ori de câte ori doriți.


Here are some convenient things you can do with this approach to authoring instruments:
Iată câteva lucruri convenabile pe care le puteți face cu această abordare a instrumentelor de creație:
#'''Use same Answers for many questions'''. Just copy the 'A' rows and paste after each question that should have the same set.
#'''Utilizați aceleași răspunsuri pentru multe întrebări'''. Doar copiați rândurile „A” și lipiți după fiecare întrebare care ar trebui să aibă același set.
#'''Use same subquestions for many questions'''. Just copy the 'SQ' rows and paste them after each question that needs it.
#'''Folosiți aceleași subîntrebări pentru multe întrebări'''. Doar copiați rândurile „SQ” și lipiți-le după fiecare întrebare care are nevoie.
#'''"Looping" - use same group many times'''. After the group is the way you want it, copy it as many times as needed. Use Excel filtering to view just the 'G' rows (for groups), and use the Excel column drag feature to update the relevance equations for each group (e.g., for a census, the first relevance might be "numPeople > 1", the next should be "numPeople > 2". The drag feature will auto-update the number). Filter by 'Q' rows and ensure that each question has a unique value (e.g., say you name your variables g1_q1, g1_q2, g1_qN, use find/replace to convert g1 to g2 the second group; g3 for the third, etc.).
#'''"Looping" - utilizați același grup de mai multe ori'''. După ce grupul este așa cum doriți, copiați-l de câte ori este necesar. Utilizați filtrarea Excel pentru a vizualiza doar rândurile „G” (pentru grupuri) și utilizați funcția de tragere a coloanei Excel pentru a actualiza ecuațiile de relevanță pentru fiecare grup (de exemplu, pentru un recensământ, prima relevanță ar putea fi „numPeople > 1”, următorul ar trebui să fie „numPeople > 2”. Funcția de glisare va actualiza automat numărul). Filtrați după rândurile „Q” și asigurați-vă că fiecare întrebare are o valoare unică (de exemplu, să spuneți că vă denumiți variabilele g1_q1, g1_q2, g1_qN, utilizați find/replace pentru a converti g1 în g2 al doilea grup; g3 pentru al treilea etc.) .
#'''Re-ordering questions/groups'''. Simply re-order the rows of the spreadsheet file.
#'''Reordonarea întrebărilor/grupurilor'''. Pur și simplu reordonați rândurile fișierului tabelar.
#'''Testing survey modules'''. For long surveys, you may want to break up the testing into modules. Simply create new spreadsheet files for each module, deleting any rows that you don't need. This avoids the need to enter lots of data to test later sections of the survey.
#'''Testarea modulelor de sondaj'''. Pentru sondaje lungi, poate doriți să împărțiți testarea în module. Pur și simplu creați noi fișiere foaie de calcul pentru fiecare modul, ștergând toate rândurile de care nu aveți nevoie. Acest lucru evită nevoia de a introduce multe date pentru a testa secțiunile ulterioare ale sondajului.
#'''Testing mandatory questions'''. A common complaint is not the need to make many questions mandatory, but the need to turn off the mandatory feature for testing. Simply create the master spreadsheet with mandatory set to the final desired values. Then, to test it, just delete the "mandatory" column and save the test version of the spreadsheet. When you import that version, none of the questions will be mandatory. After you have finished your testing, import the master copy.
#'''Testarea întrebărilor obligatorii'''. O plângere comună nu este necesitatea de a face multe întrebări obligatorii, ci nevoia de a dezactiva caracteristica obligatorie pentru testare. Pur și simplu creați foaia de calcul principală cu setarea obligatorie la valorile finale dorite. Apoi, pentru a-l testa, ștergeți coloana „obligatorie” și salvați versiunea de testare a foii de calcul. Când importați acea versiune, niciuna dintre întrebări nu va fi obligatorie. După ce ați terminat testarea, importați copia principală.
#'''Setting defaults'''. Rather than using the GUI, you can enter any desired defaults in the default column. This is especially helpful for cases where the GUI does not let you enter the desired value, like [[ExpressionScript - Presentation|expressions]] to set the default for list items (like populating a list from a [[Survey participants|survey participant]] attribute).
#'''Setarea setărilor implicite'''. În loc să utilizați interfața grafică, puteți introduce orice setări implicite dorite în coloana implicită. Acest lucru este util în special pentru cazurile în care GUI nu vă permite să introduceți valoarea dorită, cum ar fi [[ExpressionScript - Prezentare|expresii]] pentru a seta valoarea implicită pentru elementele din listă (cum ar fi popularea unei liste de la un [[Participanți la sondaj|participant la sondaj]]).
#'''Translation'''. You can create copies of your spreadsheet - one per language. Include all the rows for the primary language, then copy and paste them below, and use drag to change the language field to the target language. These can be distributed to your translators, and re-integrated into a single spreadsheet file when they are done.
#'''Traducere'''. Puteți crea copii ale foii de calcul - una pentru fiecare limbă. Includeți toate rândurile pentru limba principală, apoi copiați și inserați-le mai jos și folosiți tragerea pentru a schimba câmpul de limbă în limba țintă. Acestea pot fi distribuite traducătorilor dvs. și reintegrate într-un singur fișier foaie de calcul când sunt terminate.
#'''Bulk setting of advanced question attributes'''. You may want all of your equations to start visible (so you can see their values as you collect data), but then hide them all before going to production. Simply filter the spreadsheet on class = 'Q' and question type = '*' (equation), and set always_hide to 1 for each of those questions. Similarly, say after you create the survey, you decide which questions should appear in public statistics. Rather than edit each question through the GUI, filter on class = 'Q', and set public_statistics = 1 for all of the questions that should be visible in statistics.
#'''Setarea în bloc a atributelor avansate ale întrebării'''. Poate doriți ca toate ecuațiile dvs. să înceapă vizibile (astfel încât să le puteți vedea valorile pe măsură ce colectați date), dar apoi să le ascundeți pe toate înainte de a trece la producție. Pur și simplu filtrați foaia de calcul pe class = „Q” și tipul întrebării = *(ecuație) și setați always_hide la 1 pentru fiecare dintre acele întrebări. În mod similar, să spunem că după ce creați sondajul, decideți ce întrebări ar trebui să apară în statisticile publice. În loc să editați fiecare întrebare prin GUI, filtrați pe class = 'Q' și setați public_statistics = 1 pentru toate întrebările care ar trebui să fie vizibile în statistici.
#'''Find and replace'''. Say you decide you need to change some phrasing across all of your questions, you can use Excel find and replace to make those changes. Similarly, say you decide to do a bulk-renaming of your variables, find and replace can come to the rescue. If you need regular-expression based find and replace, you can select the desired column, copy to a text editor, do your find and replace, and paste the column back into the spreadsheet.
#'''Găsiți și înlocuiți'''. Să presupunem că decideți că trebuie să schimbați o parte din formularea tuturor întrebărilor dvs., puteți utiliza Excel pentru a găsi și înlocui pentru a face acele modificări. În mod similar, să presupunem că decideți să faceți o redenumire în bloc a variabilelor dvs., găsirea și înlocuirea poate veni în ajutor. Dacă aveți nevoie de găsirea și înlocuirea bazată pe expresii regulate, puteți selecta coloana dorită, puteți copia într-un editor de text, puteți căuta și înlocui și lipiți coloana înapoi în foaia de calcul.
#'''Gaining approvals'''. If you are doing research, you may have an Institutional Review board who insists upon seeing the text of the questions. This may be a convenient way to share it.  Similarly for discussions with a client.
#'''Obținerea aprobărilor'' '. Dacă faceți cercetări, este posibil să aveți un consiliu de evaluare instituțională care insistă să vadă textul întrebărilor. Aceasta poate fi o modalitate convenabilă de a-l partaja. La fel și pentru discuțiile cu un client.
#'''Team consensus'''. If you are trying to get a group to agree upon the wording or appearance of a question or group, you can rapidly prototype / edit the spreadsheet, import it, and show the team (via question or group preview) exactly what the users will see.  That way you can get approval from the team before they leave the room rather than having to document requirements, build them, and get approval at future meetings.
#'''Consens de echipă'''. Dacă încercați să convingeți un grup să cadă de acord cu privire la formularea sau aspectul unei întrebări sau al unui grup, puteți să creați rapid prototipuri / editați foaia de calcul, să o importați și să arătați echipei (prin întrebare sau previzualizare de grup) exact ceea ce vor vedea utilizatorii. . În acest fel, puteți obține aprobarea echipei înainte de a părăsi sala, în loc să trebuiască să documentați cerințele, să le construiți și să obțineți aprobarea la întâlnirile viitoare.
#'''Upgrading from other survey formats'''. If your survey is in XML, Word, or other format, you can create a translation process to map them to this format. Although you could also try mapping to the .lss format, the advantage of this format is that it doesn't require you to keep track of foreign key relationships between groups, questions, subquestions, answers, and defaults.
#'''Actualizarea de la alte formate de sondaj'''. Dacă sondajul dvs. este în format XML, Word sau alt format, puteți crea un proces de traducere pentru a le mapa la acest format. Deși ați putea încerca și maparea în formatul .lss, avantajul acestui format este că nu vă necesită să urmăriți relațiile cheie străine dintre grupuri, întrebări, subîntrebări, răspunsuri și valori implicite.





Revision as of 08:28, 6 November 2023


Import și export cu valori separate prin file ale structurii sondajului

Această caracteristică este concepută pentru a facilita utilizarea unui software pentru foi de calcul precum LibreOffice, Excel sau Google Docs pentru a crea și edita chestionare. Elimină complet dependența de codurile SGQA.

Această caracteristică acceptă importul din fișiere TSV (Tabula Separated Value) codificate ASCII sau UTF-8 care au extensia .txt.


Template:Notă


Noțiuni introductive

Cea mai simplă modalitate este de a efectua un sondaj existent și de a-l exporta în format Valoare separată prin tabulatori. Folosiți butonul normal de export pentru sondaj și, în loc să selectați formatul .lss, selectați „Format valori separate prin tabele (*.txt)”. Acesta va fi salvat ca un fișier cu valori separate prin file în formatul adecvat (fișier Unicode delimitat prin file), cu toate titlurile de coloană corecte.

Orice software pentru foi de calcul care acceptă valori separate prin file este în regulă (de exemplu, OpenOffice sau LibreOffice). LimeSurvey ignoră orice formatare din foaia de calcul, dar nu ezitați să adăugați unele dacă vă ajută.

Rețineți că fișierul exportat este în format UTF-8, cu marca de ordine a octetilor (BOM) ca primele trei caractere (ascunse). Dacă faceți dublu clic pe .txt și încercați să îl deschideți direct cu Excel, acesta nu se va deschide corect deoarece Excel nu își dă seama că este formatat UTF-8. Pentru a deschide aceste fișiere cu Excel, deschideți mai întâi Excel, apoi selectați File:Open, selectați fișierul .txt și spuneți Excel că folosește codificarea UTF-8.

Va exista câte un rând pentru fiecare grup, întrebare, subîntrebare și răspuns. Există, de asemenea, rânduri pentru variabilele sondajului global și pentru variabilele sondajului specifice limbii. Prima limbă va fi listată, urmată de orice limbă secundară. Deci, dacă există mai multe limbi, va apărea mai întâi întregul conținut al limbii de bază (de exemplu, toate grupurile, întrebările, subîntrebările și răspunsurile). Aceasta va fi urmată de o copie tradusă pentru fiecare limbă secundară (cu exact același număr și ordine sau rânduri pentru setul tradus).

Relațiile sunt deduse prin proximitate. Deci, întrebările care urmează unui grup fac parte din acel grup; subîntrebările care urmează unei întrebări fac parte din acea întrebare, iar răspunsurile care urmează după o întrebare fac parte din întrebarea respectivă. Astfel, nu trebuie să cunoașteți ID-urile (gid, qid, sqid) pentru orice întrebări. Acestea vor fi calculate automat la import. De fapt, acest format nu folosește deloc gid, qid sau sqid (sau coduri SGQA).


Sfaturi

Scopul importului/exportului cu valori separate prin file este să vă permită să vă proiectați rapid sondajul folosind o foaie de calcul. Ne așteptăm să importați frecvent foaia, să verificați valabilitatea acesteia folosind funcția „Afișați logica sondajului” și să o testați. De fiecare dată când îl importați, veți primi un nou sondaj. Deci, s-ar putea să ajungeți cu multe sondaje parțial dezvoltate, dar asta este în regulă. Obișnuiește-te să ții evidența care este cel mai recent sau șterge-l pe cel vechi după ce le importați pe cele noi. Întrucât nu utilizați niciodată coduri SGQA în Valoare separată de file, nu trebuie să vă faceți griji cu privire la codurile atribuite de LimeSurvey pentru cheile primare de sondaj, grup, întrebări și răspunsuri. Deci, nu ezitați să importați și să exportați ori de câte ori doriți.

Iată câteva lucruri convenabile pe care le puteți face cu această abordare a instrumentelor de creație:

  1. Utilizați aceleași răspunsuri pentru multe întrebări. Doar copiați rândurile „A” și lipiți după fiecare întrebare care ar trebui să aibă același set.
  2. Folosiți aceleași subîntrebări pentru multe întrebări. Doar copiați rândurile „SQ” și lipiți-le după fiecare întrebare care are nevoie.
  3. "Looping" - utilizați același grup de mai multe ori. După ce grupul este așa cum doriți, copiați-l de câte ori este necesar. Utilizați filtrarea Excel pentru a vizualiza doar rândurile „G” (pentru grupuri) și utilizați funcția de tragere a coloanei Excel pentru a actualiza ecuațiile de relevanță pentru fiecare grup (de exemplu, pentru un recensământ, prima relevanță ar putea fi „numPeople > 1”, următorul ar trebui să fie „numPeople > 2”. Funcția de glisare va actualiza automat numărul). Filtrați după rândurile „Q” și asigurați-vă că fiecare întrebare are o valoare unică (de exemplu, să spuneți că vă denumiți variabilele g1_q1, g1_q2, g1_qN, utilizați find/replace pentru a converti g1 în g2 al doilea grup; g3 pentru al treilea etc.) .
  4. Reordonarea întrebărilor/grupurilor. Pur și simplu reordonați rândurile fișierului tabelar.
  5. Testarea modulelor de sondaj. Pentru sondaje lungi, poate doriți să împărțiți testarea în module. Pur și simplu creați noi fișiere foaie de calcul pentru fiecare modul, ștergând toate rândurile de care nu aveți nevoie. Acest lucru evită nevoia de a introduce multe date pentru a testa secțiunile ulterioare ale sondajului.
  6. Testarea întrebărilor obligatorii. O plângere comună nu este necesitatea de a face multe întrebări obligatorii, ci nevoia de a dezactiva caracteristica obligatorie pentru testare. Pur și simplu creați foaia de calcul principală cu setarea obligatorie la valorile finale dorite. Apoi, pentru a-l testa, ștergeți coloana „obligatorie” și salvați versiunea de testare a foii de calcul. Când importați acea versiune, niciuna dintre întrebări nu va fi obligatorie. După ce ați terminat testarea, importați copia principală.
  7. Setarea setărilor implicite. În loc să utilizați interfața grafică, puteți introduce orice setări implicite dorite în coloana implicită. Acest lucru este util în special pentru cazurile în care GUI nu vă permite să introduceți valoarea dorită, cum ar fi expresii pentru a seta valoarea implicită pentru elementele din listă (cum ar fi popularea unei liste de la un participant la sondaj).
  8. Traducere. Puteți crea copii ale foii de calcul - una pentru fiecare limbă. Includeți toate rândurile pentru limba principală, apoi copiați și inserați-le mai jos și folosiți tragerea pentru a schimba câmpul de limbă în limba țintă. Acestea pot fi distribuite traducătorilor dvs. și reintegrate într-un singur fișier foaie de calcul când sunt terminate.
  9. Setarea în bloc a atributelor avansate ale întrebării. Poate doriți ca toate ecuațiile dvs. să înceapă vizibile (astfel încât să le puteți vedea valorile pe măsură ce colectați date), dar apoi să le ascundeți pe toate înainte de a trece la producție. Pur și simplu filtrați foaia de calcul pe class = „Q” și tipul întrebării = „*” (ecuație) și setați always_hide la 1 pentru fiecare dintre acele întrebări. În mod similar, să spunem că după ce creați sondajul, decideți ce întrebări ar trebui să apară în statisticile publice. În loc să editați fiecare întrebare prin GUI, filtrați pe class = 'Q' și setați public_statistics = 1 pentru toate întrebările care ar trebui să fie vizibile în statistici.
  10. Găsiți și înlocuiți. Să presupunem că decideți că trebuie să schimbați o parte din formularea tuturor întrebărilor dvs., puteți utiliza Excel pentru a găsi și înlocui pentru a face acele modificări. În mod similar, să presupunem că decideți să faceți o redenumire în bloc a variabilelor dvs., găsirea și înlocuirea poate veni în ajutor. Dacă aveți nevoie de găsirea și înlocuirea bazată pe expresii regulate, puteți selecta coloana dorită, puteți copia într-un editor de text, puteți căuta și înlocui și lipiți coloana înapoi în foaia de calcul.
  11. 'Obținerea aprobărilor '. Dacă faceți cercetări, este posibil să aveți un consiliu de evaluare instituțională care insistă să vadă textul întrebărilor. Aceasta poate fi o modalitate convenabilă de a-l partaja. La fel și pentru discuțiile cu un client.
  12. Consens de echipă. Dacă încercați să convingeți un grup să cadă de acord cu privire la formularea sau aspectul unei întrebări sau al unui grup, puteți să creați rapid prototipuri / editați foaia de calcul, să o importați și să arătați echipei (prin întrebare sau previzualizare de grup) exact ceea ce vor vedea utilizatorii. . În acest fel, puteți obține aprobarea echipei înainte de a părăsi sala, în loc să trebuiască să documentați cerințele, să le construiți și să obțineți aprobarea la întâlnirile viitoare.
  13. Actualizarea de la alte formate de sondaj. Dacă sondajul dvs. este în format XML, Word sau alt format, puteți crea un proces de traducere pentru a le mapa la acest format. Deși ați putea încerca și maparea în formatul .lss, avantajul acestui format este că nu vă necesită să urmăriți relațiile cheie străine dintre grupuri, întrebări, subîntrebări, răspunsuri și valori implicite.


Limitations

  1. By design, this feature only works properly for surveys that use qcode (rather than SGQA) naming. This feature assumes that variable names (question identifiers) are unique throughout the survey. Subquestion names can be repeated, as long as they are unique within the scope of a particular question.


File Format

General

We use the same set of column headings for multiple purposes. The first 14 columns serve different purposes depending upon the type of entity (e.g., group, question, answer). The remaining columns are an alphabetical list of the database field names for the advanced question codes. Below is the syntax for each entity type

The first 14 columns are:

  1. id (New in 3.14.0 )
  2. related_id (New in 3.14.0 )
  3. class
  4. type/scale
  5. name
  6. relevance
  7. text
  8. help
  9. language
  10. validation
  11. mandatory
  12. other
  13. default
  14. same_default
 Hint: Columns id and related_id are used only for quota and are optional. If you don't have quota, you can directly remove this 2 columns.


Survey Global Parameters

There is one row per parameter in the surveys table.

  1. class => 'S'
  2. name => database field name
  3. text => value


Survey Language-Specific Parameters

There is one row per field per language in the surveys_languagesettings table. All entries for a given language are collected before doing the insert into that table.

  1. class => 'SL'
  2. name => database field name
  3. text => value
  4. language => language


Groups

One group row per survey language (e.g., there would be 3 group rows if survey has 3 languages).

  1. id => unique numeric identifier for the group, starting with number 1, use the same ID for additional languages belonging to current group
  2. class => 'G'
  3. name => group_name -- the unique identifier for the group
  4. relevance => grelevance -- the group-level relevance equation, without curly braces
  5. text => description -- the language-specific description of the group
  6. language => language -- the language for the group (e.g., 'en')


Questions

One question row per survey language (e.g., there would be 3 question rows if survey has 3 languages). Questions are assumed to belong to the group that precedes them.

  1. id => unique numeric identifier for the question, starting with number 1, use the same ID for additional languages belonging to current question
  2. class => 'Q'
  3. type/scale => type -- the (usually one letter) question type (e.g., 'M' is Multiple Choice)
  4. name => title -- the unique question name (the root of the qcode naming system)
  5. relevance => relevance -- the relevance equation for the question
  6. text => question -- the language-specific text of the question
  7. help => help -- the language-specific help text
  8. language => language -- the language for the group (e.g., 'en')
  9. validation => preg -- the optional regular expression validation criteria for the question
  10. mandatory => mandatory -- 'Y' if mandatory
  11. other => other -- 'Y' if the "Other" option should be available (only for some question types)
  12. default => default -- if set, this value is inserted into the defaultvalues table for this question
  13. same_default => same_default -- 'Y' for true, in which case any defaultvalue set for primary language applies to other languages


Subquestions

One subquestion row per survey language. Subquestions are assumed to belong to the question that precedes them.

  1. id => same unique numeric identifier which is used for the questions. Subquestions should use next available value, question and subquestion IDs should be different (e.g. use ID 1 for question and IDs 2, 3 and 4 for subquestions belonging to question 1, next question ID should be 5 and so on). Use the same subquestion ID for additional languages belonging to current subquestions.
  2. class => 'SQ'
  3. type/scale => scale_id -- 0 or 1, depending upon question type (e.g. array text will have two scales)
  4. name => title -- the "name" of the subquestion, e.g. the one used for exclude_all_others
  5. relevance => relevance -- (Future) to support subquestion-level relevance
  6. text => question -- the language-specific text of the subquestion
  7. help => help -- (Future) to support subquestion-level help
  8. language => language -- the language for the subquestion
  9. validation => preg -- (Future) to support subquestion-level regular expression validation (e.g. for address parts)
  10. mandatory => mandatory -- (Future) to support subquestion-level mandatory (e.g. make only a few subquestions mandatory)
  11. default => default -- if set, then this is the default value for the subquestion (inserted into defaultvalues table)
  12. same_default => same_default -- if set, then the default for the primary language is  used for all other languages


Answers

One answer row per survey language (e.g., there would be 3 answer rows if survey has 3 languages). Answers are assumed to belong to the question that precedes them, and be in the desired sort order.

  1. id => use the same ID as the ID of the question it belongs to
  2. class => 'A'
  3. type/scale => scale_id -- 0 or 1 (e.g. for dual-scale)
  4. name => code -- the unique answer identifier
  5. relevance => assessment_value -- if using assessment option, this is the assessment value for the answer
  6. text => answer -- the language-specific text of the answer
  7. language => language -- the language for this answer (e.g. 'en')


Assessments

One assessment row per survey language (e.g., there would be 3 assessment rows if survey has 3 languages). Assessments are written at the end of file.

  1. id => unique numeric identifier for the assessment, starting with number 1, use the same ID for additional languages belonging to current assessment
  2. related_id => id of group to which current assessment belongs to
  3. class => 'AS'
  4. type/scale => assessment scope: T-Total, G-group
  5. name => name
  6. text => message
  7. min_num_value => Minimum
  8. max_num_value => Maximum
  9. language => language -- the language for this answer (e.g. 'en')


Quotas

One row per quota. Quotas are written at the end of file.

  1. id => unique numeric identifier for the quota, starting with number 1
  2. class => 'QTA'
  3. name => quota name
  4. mandatory => limit
  5. other => quota action
  6. default => active
  7. same_default => autoload URL


Quota language settings

One quota row per survey language. Quota language settings are assumed to belong to the quota that precedes them.

  1. id => unique numeric identifier for the quota language settings, starting with number 1. Each row for different survey languages should have different IDs
  2. related_id => quota id of quota to which this setting belongs to
  3. class => 'QTALS'
  4. relevance => message
  5. text => URL
  6. help => URL description
  7. language => language -- the language for this quota (e.g. 'en')


Quota members

One row per quota member, no language dependent. Quota member row should be placed immediately after question it relates to. Quota members are assumed to belong to the question that precedes them.

  1. id => unique numeric identifier for the quota members, starting with number 1
  2. related_id => quota id of quota to which this member belongs to
  3. class => 'QTAM'
  4. name => answer code


Conditions

One row per condition, no language dependent. Condition row should be placed immediately after question it relates to. Conditions are assumed to belong to the question that precedes them.

  1. id => unique numeric identifier for the condition, starting with number 1.
  2. related_id => question id of related question, if applicable
  3. class => 'C'
  4. type/scale => scenario
  5. name => answer field name
  6. relevance => comparison operator
  7. text => expected answer