Do you have a question?

Enter one or more keywords and find the answer!

Survey Report Generation via ODT Model

Nota: Il report è utilizzabile solo per i Sondaggi e non per i Quiz.
IMPORTANTE: il file deve essere in formato .odt e non .doc, si sconsiglia dunque l’uso di word. E’ bensì altamente consigliato l’uso di Openoffice.

This guide on creating the Custom Survey Report is divided into the following sections:

  1. INTRODUCTION
  2. MODEL UPLOAD TO SYSTEM
  3. LIST OF AVAILABLE PLACE CARDS
  4. CONDITIONAL BLOCKS
  5. FILTERS
  6. EXAMPLE TEMPLATES
  7. LINK THE REPORT TO THE SURVEY
  8. USE OF THE REPORT 

1. INTRODUCTION

An ODT contract template is an odt format file that you upload to management in the Configuration → Contracts & Reports allows PDF documents containing dynamic information to be generated, using an .odt file, called a template, in which appropriate placeholders are inserted, which, in the final generated document, will be replaced by the value indicated by the placeholder.

WARNING: template refers, in the context of this documentation, to a normal .odt file containing placeholders, the file must be in ODF text document format, extension .odt.

Placeholders can be inserted in a normal writing context. They can also be inserted in tables and can be shown with conditional blocks or filters.

2. UPLOADING THE MODEL TO THE SYSTEM

To enter the report template into the system navigate to Configuration → Contracts & Reports and click the "Add Report":

The screen that opens will contain all necessary information For loading the Report:

Fill in the following fields:

  • Name*: the name of the report .
  • Description: possible description of the report.
  • Report type: choose the option "From ODT model" to be able to upload your own model.
  • Section in which to show the report *: Surveys.
  • Report template: upload the template with odt extension of your report.
  • Select Type: select the file extension type between Pdf and Odt.
  • Order *: the order in which the reports are listed (e.g., 1, 2, 3, etc.).

After the configuration is finished, click the "Add report" to save the operation:

3. LIST OF PLACEHOLDERS AVAILABLE FOR CONTRACT TEMPLATES.

Some of the indicated placeholders need the indication [question1], [question2] etc., this indication refers to the name of the question that can be displayed in the right box when clicking in the box of a question:

Placeholders survey section

Placeholders for reports Surveys
SIGNAGEVALUENOTES
{survey.name}Survey Name
{survey.questionsnumber}Number of questions in the survey
{survey.surveyquestions[question1]}Report the selected survey questionIn square brackets should be entered the name of the question to be displayed, by default: [questionX]
{survey.surveyanswers[question1]}Report the answer of the selected questionIn square brackets should be entered the name of the question to be displayed, by default: [questionX]
CONDITIONVALUENOTES
{survey.isanonymous}True if the Survey is anonymous
{survey.isforstudents}True if the Survey is for Students
{survey.isforteachers}True if the Survey is for Teachers
{survey.isforcompanies}True if the Survey is for Companies
{survey.isforeachstudent}True if the Survey is per individual Student

Placeholder assignee section Surveys

Student/faculty data available in the Master Data → Students/Faculty section.
SIGNAGE
VALUE
NOTES
{assignee.address}
address
{assignee.birthdate}date of birth
{assignee.birthday}
birthday
{assignee.birthplace}place of birth
{assignee.birthprovince}province of birth
{assignee.birthcountry}country of birth
{assignee.cap}zip code
{assignee.city}city
{assignee.country}country
{assignee.countryCode}country
{assignee.citizenship}citizenship
{assignee.passport}passport
{assignee.profession}profession
{assignee.qualification}qualification
{assignee.customfields[]}
custom fieldThe custom field code should be indicated between the square brackets
{assignee.email}
email
{assignee.fullName}
call sign
{assignee.gender}
genre
{assignee.maritalstatus}marital status
{assignee.id}identifier
{assignee.mobile}mobile phone
{assignee.name}
name
{assignee.phone}
landline
{assignee.provinces}
province
{assignee.surname}
surname
{assignee.taxcode}
tax code
{assignee.vatnumber}
VAT number
{assignee.cardnumber}number from the card, if any
{assignee.notes}notes
CONDITIONVALUENOTES
assignee.isAdulttrue if the student is of age, false otherwise
assignee.isNotAdulttrue if the student is a minor, false otherwise

Placeholder student section Surveys

Student data available in Master Data → Students section.
Valued only if the Survey is for individual Student. Returns the placeholder referring to the Student to whom the Survey is addressed.
SIGNAGE
VALUE
NOTES
{student.address}
address
{student.birthdate}date of birth
{student.birthday}
birthday
{student.birthplace}place of birth
{student.birthprovince}province of birth
{student.birthcountry}country of birth
{student.cap}zip code
{student.city}city
{student.country}country
{student.countryCode}country
{student.citizenship}citizenship
{student.passport}passport
{student.profession}profession
{student.qualification}qualification
{student.customfields[]}
custom fieldThe custom field code should be indicated between the square brackets
{student.email}
email
{student.fullName}
call sign
{student.gender}
genre
{student.maritalstatus}marital status
{student.id}identifier
{student.mobile}mobile phone
{student.name}
name
{student.phone}
landline
{student.province}
province
{student.surname}
surname
{student.taxcode}
tax code
{student.vatnumber}
VAT number
{student.cardnumber}number from the card, if any
{student.notes}notes
{student.attendances}ore effettive frequentate dallo studente
CONDITIONVALUENOTES
student.isAdulttrue if the student is of age, false otherwise
student.isNotAdulttrue if the student is a minor, false otherwise

Segnaposto teacher sezione Sondaggi

Dati del docente disponibili nella sezione Anagrafiche → Docenti.
Riporta il segnaposto riferito al Docente del corso in cui è inserito il Sondaggio.
SIGNAGE
VALUE
NOTES
{teacher.address}
address
{teacher.birthdate}date of birth
{teacher.birthday}
birthday
{teacher.birthplace}place of birth
{teacher.birthprovince}province of birth
{teacher.birthcountry}country of birth
{teacher.cap}zip code
{teacher.city}city
{teacher.country}country
{teacher.countryCode}country
{teacher.citizenship}citizenship
{teacher.passport}passport
{teacher.profession}profession
{teacher.qualification}qualification
{teacher.customfields[]}
custom fieldThe custom field code should be indicated between the square brackets
{teacher.email}
email
{teacher.fullName}
call sign
{teacher.gender}
genre
{teacher.maritalstatus}marital status
{teacher.id}identifier
{teacher.mobile}mobile phone
{teacher.name}
name
{teacher.phone}landline
{teacher.province}
province
{teacher.surname}
surname
{teacher.taxcode}
tax code
{teacher.vatnumber}
VAT number
{teacher.cardnumber}number from the card, if any
{teacher.notes}notes
{teacher.pec}PEC
{teacher.recipientCode}Codice Destinatario
{teacher.hourlyFee}Tariffa personale docente
{teacher.iban}Iban
{teacher.billingMethod}Metodo di fatturazione (codice)
{teacher.billingMethodName}Metodo di fatturazione (nome)
{teacher.studLocation}Sede di Studio
CONDITIONVALUENOTES
teacher.isAdulttrue if the teacher is of age, false otherwise
teacher.isNotAdulttrue if the teacher is a minor, false otherwise

Course placeholders course section

dati relativi al corso sezione corsi, utilizzato nei Sondaggi
SIGNAGEVALUENOTES
{course.code}code
{course.name}name
{course.className}Nome della classe
{course.description}Descrizione del corso
{course.duration}Durata del corso con etichette (es. "dal gg/mm/aaaa al gg/mm/aaaa", "x ore", "x lezioni")
{course.hours}total lecture hours of the course
{course.lessons}number of lessons
{course.subject}subject of studyvalued only if single subject course
{course.subjectAlias}Aliases subject of studyvalued only if single subject course
{course.startDate}start datenot valued if course model
{course.endDate}end datenot valued if course model
{course.teachingYear}academic yearnot valued if course model
{course.teachersFullNameList}teachers' nameseach callsign is separated by comma from the next, not valued if course model
{course.studentsFullNameList}student list, the separator is the comma
{course.booksTitleList}textbookseach title is separated by comma from the next, not valued if course model
{course.customfields[]}custom fieldin square brackets should be the custom field code, valorized only if it is a course, not valorized in case of course template
{course.enrolledStudents}number of students enrolled
{course.plannedHours}planned class hours
{course.lessonsPerWeek}number of lessons per week, set only if regular course
{course.lessonsWeekDay}day of class week, set only if regular course and 1 class per week
{course.lessonsStartTime}class start time, set only if regular course
{course.lessonsEndTime}class end time, set only if regular course
{course.lessonsDuration}lesson duration, set only if regular course, in minutes
{course.lessonsWeekDaySchedule}Programma settimanale giorni (formato esteso)
{course.lessonsWeekSchedule}classes, days of the week and scheduleValued if more than one class per week, not valued if course model
{course.locationName}name of the venue where the course is held
{course.locationCompleteAddress}Address of the venue where the course is held
{course.locationCode}Codice della sede
{course.cost}course cost
{course.costIfInstallments}cost in case of payment in installments
{course.certificateStartLevel}Certified starting course levelValued if level entered in course outline
{course.certificateEndLevel}Certified course arrival levelValued if level entered in course outline
{course.internalStartLevel}Internal starting level of the courseValued if level entered in course outline
{course.internalStartLevelFirstPart}Internal starting level of the course first partEx A1.1 - Beginner. The part before the line is returned - : "A1.1"
{course.internalStartLevelSecondPart}Internal starting level of the course second partEx A1.1 - Beginner. The second part after the line - : "Beginner" is returned.
{course.internalStartLevelDescription}description of the internal level of initiation
{course.internalEndLevel}Internal arrival level of the courseValued if level entered in course outline
{course.internalEndLevelFirstPart}Internal end-of-course level first partEx A1.1 - Beginner. The part before the line is returned - : "A1.1"
{course.internalEndLevelSecondPart}Internal end-of-course level second partEx A1.1 - Beginner. The second part after the line - : "Beginner" is returned.
{course.internalEndLevelDescription}description of the internal arrival level
{course.installmentsNumber}Number of installments under the installment plan, if any
{course.firstInstallmentAmount}First installment amount of any installment plan
{course.firstInstallmentDate}first installment date of any installment plan
{course.firstInstallmentDay}day first installment of any installment plan
{course.firstInstallmentMonth}month first installment of any installment plan
{course.installmentsAdvanceAmount}amount paid in advance
{course.model}template name used to create the course
{course.fundName}Nome del Fondo
{course.type}Tipo di corso (individuale / collettivo)
{course.companyname}Nome dell'azienda cliente collegata al corso
{course.teacherrate}Tariffa insegnante
{course.courseTeacherHourlyFeeTariffa oraria insegnante del corso
{course.courseTeacherTotalHours}Ore totali insegnante del corso
{course.studyplan}Piani di studio del corso

4. CONDITIONAL BLOCKS

The conditional block is a part of the document, delimited by appropriate markers, with which a condition is associated that can be true or false, if true the content of the block is shown in the final document, if false the content of the block is deleted from the final document.

One of the defined custom fields or the conditions given in the CONDITION section of the list of available placeholders can be used as a condition for the block.
The condition using a custom field is true if the field is valorized, it is false if it is empty.

The syntax for defining the conditional block involves stating the beginning and end of the block, indicating the associated condition, e.g., to define a conditional block to be shown only if the order is discounted:

[!-- IF survey.isanonymous --]

"The survey is anonymous."

[!-- ENDIF survey.isanonymous --]

survey.isanonymous is the condition, if it is true the wording is shown, if it is false the wording will not be shown.

You can reverse the condition check by adding NOT to the syntax to define the conditional block, for example, to define a conditional block to show only if the poll is not anonymous:

[!-- IF NOT survey.isanonymous --]

"The survey is not anonymous."

[!-- ENDIF NOT survey.isanonymous --]

survey.isanonymous is the condition, if it is true the wording will not be shown, if it is false the wording will be shown.

5. FILTERS

Filters allow an operation to be performed that changes the value of the individual placeholder entered in the document and are available for any type of odt report, regardless of section.

The available filters are as follows:

  • cut allows us to limit the length of a text within the given value, for example to limit the length of the Student's name to a maximum of 5 characters we can use the placeholder {student.name|cut[5]}
  • daysbefore allows us to compute a date earlier than the date of the valorized placeholder, e.g. if we want to get the date corresponding to 2 weeks before the start of the course we can use the placeholder {course.startDate|daysbefore[14]}
  • daysafter allows us to compute a date later than the date of the valorized placeholder, for example if we want to get the date corresponding to 1 week after the start of the course we can use the placeholder {course.startDate|daysafter[7]}
  • lowercase changes the value of the placeholder to lowercase, for example to show the course name all in lowercase use the placeholder {course.name|lowercase}
  • uppercase changes the value of the placeholder to uppercase, e.g. to show the course name all in uppercase use the placeholder {course.name|uppercase}
  • uppercasefirst changes the value of the placeholder by capitalizing the first letter, e.g. to show the course name with the first letter capitalized use the placeholder {course.name|uppercasefirst}

If two versions of the same placeholder are needed in the document, one filtered and one unfiltered, simply add a _ (underscore) to the second occurrence of the placeholder, e.g., use {student.name|cut[5]} to show the abbreviated course name and {student_.name} to show the full course name later.

6. EXAMPLE TEMPLATES

  1. Survey Template.

7. LINK THE REPORT TO THE SURVEY

To link the Report to the desired Survey, you need to go to the Quizzes and Surveys, enter Survey editing and select in the field Report of results the previously created Report:

8. USE OF THE REPORT

In order to use the Report that has just been uploaded, it will be sufficient to navigate within a Course with the Completed Survey and under the section Quizzes and Surveys click on theeye icon:

Below click the button Download next to the name of the Teacher/Student whose Survey you want to download.

Leave a comment

You must be logged in to leave a comment.