User Tools

Site Tools


ireform:ireform_reports_design

Form Design

Introduction

The forms available in the iReForm application are defined in an XML file using the Apple plist (Property List) format and custom tags described in this section. The DocBrowser Document Distribution System server contains an iReForm module where the forms file easily can be edited online.

XML Form Structure

The form structure is based on Apple property list objects and consists of dictionary objects defining form sections.

Form Section object

A form section object consist of a dictionary object with the following basic elements:

  • Optional Header or Footer Text
  • Array Containing Form Fields

Form Section Structure

The general information section must be enclosed with <dict></dict> tags and should contain the following fields:

<dict>
<key>HEADER</key><string>This section should be filled out to qualify this approach as a Practice Autoland. Any such approach must also be stated in your Pilot Logbook.</string>
<key>FOOTER</key><string>If autoland was unsuccessful following data must be submitted.</string>
<key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string>
<key>COLLAPSIBLE</key><true/>
<key>FIELDS</key><array> dictionary objects defining form fields </array>
</dict>
  • The HEADER key is optional and may contain a string value with a header text that will be presented above this form section.
  • The FOOTER key is optional and may contain a string value with a footer text that will be presented below this form section.
  • The CONDITIONAL key is an optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this section will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No. (Available in iReForm 3.8.1 and later)
  • The COLLAPSIBLE key is an optional boolean value that will add a button to the section header which will expand or collapse all fields contained in this section. (Available in iReForm 3.8.1 and later)
  • The FIELDS key must contain an array of form fields for this section. The maximum allowed number of form fields is restricted by the available memory capacity and there is no set limit. The form field dictionary object is described in section here.

Field object

A form section may contain any of the following field dictionary objects:

  • TEXTINPUT
  • FREETEXTINPUT
  • DATEINPUT
  • TIMEINPUT
  • INTEGERINPUT
  • FLOATINPUT
  • YESNOINPUT
  • SEGMENTINPUT
  • SLIDERINPUT
  • LISTINPUT
  • MULTIPLELISTINPUT
  • TEXTINFO
  • SIGNATUREINPUT
  • PHOTOINPUT

Each field object can be customized using various settings described below.

TEXTINPUT

The TEXTINPUT field is used to collect short text data and can be restricted to only accept specified text formats.
The following keys can be used in a TEXTINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: TEXTINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
VALIDATIONAn optional string value containing a regular expression used to validate the input in this field. Extensive information about regular expressions and its syntax is available on internet. A regular expression test environment can be found here.
CACHEA boolean <true/> or <false/>. True stores all entries made by the user in this field. The stored previous entries are presented to the user when clicking a blue arrow next to this field allowing to quickly fill in commonly used information.
PLACEHOLDERAn optional string value containing a describing text that will be shown in the input field prior to any user entry.
CAPITALIZEDA boolean <true/> or <false/>. True capitalizes any input in this field.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample TEXTINPUT field dictionary object:

<dict>
	<key>ID</key><string>ACREG</string>
	<key>TYPE</key><string>TEXTINPUT</string>
	<key>TITLE</key><string>Aircraft Registration</string>
	<key>REQUIRED</key><true/>
	<key>VALIDATION</key><string>^([A-Z]{1,2})([\-]{1})([A-Z]{3,4})$</string>
	<key>CACHE</key><true/>
	<key>PLACEHOLDER</key><string>e g SE-RFR</string>
	<key>CAPITALIZED</key><true/>
</dict>

FREETEXTINPUT

The FREETEXTINPUT field is used to collect longer text data inputs.
The following keys can be used in a FREETEXTINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: FREETEXTINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA Boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
SIZEAn optional integer value defining the vertical size of the freetext field. Default is 50 which equals about two rows of text.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample FREETEXTINPUT field dictionary object:

<dict>
	<key>ID</key><string>COMMENTS</string>
	<key>TYPE</key><string>FREETEXTINPUT</string>
	<key>TITLE</key><string>Comments</string>
	<key>REQUIRED</key><false/>
        <key>SIZE</key><integer>200</integer>
</dict>

DATEINPUT

The DATEINPUT field is used to collect date information. By clicking the blue arrow button next to this field a date picker will be shown.
The following keys can be used in a DATEINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: DATEINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
PREPOPULATEAn optional boolean </false> will leave the field blank. Default is to prepopulate DATEINPUT fields with the current date.
MINDATEA string value limiting date selection to dates at or after the given date. Minimum date can be either NOW wihich is the current day, a plain date string using the format set by the FORMAT tag or a +/- followed by an integer number of days to limit the selection to +/- days from the current day (e g +60, which limits the selection to minimum 60 days ahead of the current day). From iReForm v3.8.0 the minimum date can also be controlled by another DATEINPUT field by using the format FIELD:ID. This field will have the minimum date set to date of the field with the given ID.
MAXDATEA string value limiting date selection to dates at or before the minimum date. Minimum date can be either NOW wihich is the current day, a plain date string using the format set by the FORMAT tag or a +/- followed by an integer number of days to limit the selection to +/- days from the current day (e g +60, which limits the selection to maximum 60 days ahead of the current day). From iReForm v3.8.0 the minimum date can also be controlled by another DATEINPUT field by using the format FIELD:ID. This field will have the maximum date set to date of the field with the given ID.
FORMATA string value with the desired date format used by the field. Valid date format codes can be found here.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample DATEINPUT field dictionary object:

<dict>
	<key>ID</key><string>DATE</string>
	<key>TYPE</key><string>DATEINPUT</string>
	<key>TITLE</key><string>Date</string>
	<key>REQUIRED</key><true/>
	<key>FORMAT</key><string>yyyy-MM-dd</string>
</dict>

TIMEINPUT

The TIMEINPUT field is used to collect time information. By clicking the blue arrow button next to this field a time picker will be shown.
The following keys can be used in a TIMEINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: TIMEINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
UTCA boolean <true/> or <false/>. True makes this field default to current UTC time when selecting a time value.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample TIMEINPUT field dictionary object:

<dict>
	<key>ID</key><string>TIME</string>
	<key>TYPE</key><string>TIMEINPUT</string>
	<key>TITLE</key><string>Time</string>
	<key>REQUIRED</key><true/>
        <key>UTC</key><true/>
</dict>

INTEGERINPUT

The INTEGERINPUT field is used to collect integer values between a given range.
The following keys can be used in an INTEGERINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: INTEGERINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
MAXAn integer value containing the maximum value accepted in this field.
MINAn integer value containing the minimum value accepted in this field.
PLACEHOLDERAn optional string value containing a describing text that will be shown in the input field prior to any user entry.
CACHEA boolean <true/> or <false/>. True stores all entries made by the user in this field. The stored previous entries are presented to the user when clicking a blue arrow next to this field allowing to quickly fill in common values.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample INTEGERINPUT field dictionary object:

<dict>
	<key>ID</key><string>WINDSPEED</string>
	<key>TYPE</key><string>INTEGERINPUT</string>
	<key>TITLE</key><string>Wind Speed</string>
	<key>REQUIRED</key><false/>
	<key>MAX</key><integer>99</integer>
	<key>MIN</key><integer>0</integer>
	<key>PLACEHOLDER</key><string>Knots</string>
	<key>CACHE</key><false/>
</dict>

FLOATINPUT

The FLOATINPUT field is used to collect any value between a given range.
The following keys can be used in an FLOATINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: FLOATINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
MAXA value containing the maximum value accepted in this field.
MINA value containing the minimum value accepted in this field.
PLACEHOLDERAn optional string value containing a describing text that will be shown in the input field prior to any user entry.
CACHEA boolean <true/> or <false/>. True stores all entries made by the user in this field. The stored previous entries are presented to the user when clicking a blue arrow next to this field allowing to quickly fill in common values.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample FLOATINPUT field dictionary object:

<dict>
	<key>ID</key><string>DENSITY</string>
	<key>TYPE</key><string>FLOATINPUT</string>
	<key>TITLE</key><string>Fuel Density</string>
	<key>REQUIRED</key><false/>
	<key>MAX</key><real>0.83</real>
	<key>MIN</key><real>0.76</real>
	<key>PLACEHOLDER</key><string>X.XX</string>
	<key>CACHE</key><false/>
</dict>

YESNOINPUT

The YESNOINPUT field is used for simple Yes/No questions.
The following keys can be used in a YESNOINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: YESNOINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample YESNOINPUT field dictionary object:

<dict>
	<key>ID</key><string>TURBULENCE</string>
	<key>TYPE</key><string>YESNOINPUT</string>
	<key>TITLE</key><string>Turbulence</string>
	<key>REQUIRED</key><false/>
</dict>

SEGMENTINPUT

The SEGMENTINPUT field is used to select one of several predefined values.
The following keys can be used in a SEGMENTINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: SEGMENTINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
CHOICESAn array containing string values representing the choices to be available.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample SEGMENTINPUT field dictionary object:

<dict>
	<key>ID</key><string>TOUCHDOWN</string>
	<key>TYPE</key><string>SEGMENTINPUT</string>
	<key>TITLE</key><string>Touchdown Position Accuracy</string>
	<key>REQUIRED</key><false/>
	<key>CHOICES</key>
		<array>
			<string>Short</string>
			<string>Normal</string>
			<string>Long</string>
		</array>
</dict>

MULTISEGMENTINPUT

The MULTISEGMENTINPUT field (iReForm 3.8+) is used to select some of several predefined values.
The following keys can be used in a MULTISEGMENTINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: MULTISEGMENTINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
CHOICESAn array containing string values representing the choices to be available.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample MULTISEGMENTINPUT field dictionary object:

<dict>
	<key>ID</key><string>FACTORS</string>
	<key>TYPE</key><string>MULTISEGMENTINPUT</string>
	<key>TITLE</key><string>Contributing Factors</string>
	<key>REQUIRED</key><false/>
	<key>CHOICES</key>
		<array>
			<string>Fatigue</string>
			<string>Distraction</string>
			<string>Technical</string>
		</array>
</dict>

SLIDERINPUT

The SLIDERINPUT field is used to select a value within a given range.
The following keys can be used in a SLIDERINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: SLIDERINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
MAXAn integer value containing the max value of the selectable range.
MINAn integer value containing the min value of the selectable range.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample SLIDERINPUT field dictionary object:

<dict>
	<key>ID</key><string>OFFSET</string>
	<key>TYPE</key><string>SLIDERINPUT</string>
	<key>TITLE</key><string>Offset from centerline (-L/+R m)</string>
	<key>REQUIRED</key><false/>
	<key>MAX</key><integer>30</integer>
	<key>MIN</key><integer>-30</integer>
</dict>

LISTINPUT

The LISTTINPUT field is used to select from a list of several predefined values.
The following keys can be used in a LISTINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: LISTINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
ITEMSAn array containing dictionaries with VALUE and DESCRIPTION tags containing values representing the choices to be available. An item can also be conditionally available by using the same format as for conditionally displaying fields.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample LISTINPUT field dictionary object:

<dict>
	<key>ID</key><string>DELAYCODE</string>
	<key>TYPE</key><string>LISTINPUT</string>
	<key>TITLE</key><string>Delay Code</string>
	<key>REQUIRED</key><false/>
		<key>CHOICES</key>
		<array>
			<dict>
				<key>LABEL</key><string>93</string>
				<key>DETAIL</key><string>Aircraft Rotation</string>
			</dict>
			<dict>
				<key>LABEL</key><string>99</string>
				<key>DETAIL</key><string>Specify free text delay reason</string>
				<key>CONDITIONAL</key><string>FIELD1=Yes</string>
			</dict>
		</array>
</dict>

MULTIPLELISTINPUT

The MULTIPLELISTTINPUT field is similar to LISTINPUT but is used to select multiple items from a list of several predefined values.
The following keys can be used in a MULTIPLELISTINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: MULTIPLELISTINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
ITEMSAn array containing dictionaries with VALUE and DESCRIPTION tags containing values representing the choices to be available. An item can also be conditionally available by using the same format as for conditionally displaying fields.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample MULTIPLELISTINPUT field dictionary object:

<dict>
	<key>ID</key><string>FAULTCODE</string>
	<key>TYPE</key><string>MULTIPLELISTINPUT</string>
	<key>TITLE</key><string>Fault Code</string>
	<key>REQUIRED</key><false/>
	<key>CHOICES</key>
		<array>
			<dict>
				<key>LABEL</key><string>70</string>
				<key>DETAIL</key><string>USB Synch Problem</string>
			</dict>
			<dict>
				<key>LABEL</key><string>99</string>
				<key>DETAIL</key><string>Unknown Error</string>
				<key>CONDITIONAL</key><string>FIELD1=Yes</string>		
			</dict>
		</array>
</dict>

TEXTINFO

The TEXTINFO field does not have any input field and is only used to display information to the user.
The following keys can be used in a TEXTINFO field dictionary object:

TYPEA string value defining the type of field: TEXTINFO.
TEXTA string value with the text to be displayed.
BOLDA boolean <true/> or <false/>. True makes the text appear in the same bold font as other field labels. False makes the text appear in a smaller “bread”-font.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample TEXTINFO field dictionary object:

<dict>
	<key>TYPE</key><string>TEXTINFO</string>
	<key>TEXT</key><string>Text to display</string>
        <key>BOLD</key><false/>
</dict>

SIGNATUREINPUT

The SIGNATUREINPUT field is used to capture a signature image created by touchinput.
The following keys can be used in a SIGNATUREINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: SIGNATUREINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample SIGNATUREINPUT field dictionary object:

<dict>
	<key>ID</key><string>SIGNATURE</string>
	<key>TYPE</key><string>SIGNATUREINPUT</string>
	<key>TITLE</key><string>Commanders Signature</string>
	<key>REQUIRED</key><true/>
</dict>

PHOTOINPUT

The PHOTOINPUT field is used to capture a photo using the device camera or selecting a photo from the device photo library.
The following keys can be used in a PHOTOINPUT field dictionary object:

IDA unique string value to identify this field within the form. This ID should not contain any blank space nor consist only of a number.
TYPEA string value defining the type of field: PHOTOINPUT.
TITLEA string value with the title/label associated with this field.
REQUIREDA boolean <true/> or <false/>. True makes this field mandatory for the user to fill in and false makes it optional.
SIZEA string value of LARGE (1280px), MEDIUM (640px) or SMALL (320px) defining the width of the photo.
QUALITYA string value of HIGH, MEDIUM or LOW defining the quality (JPEG-compression) of the photo.
INFOAn optional string value containing an explanatory text that will be shown if tapping on the title/label associated with this field. If an info text is available an “!” icon will be shown next to the field title/label.
CONDITIONALAn optional string value containing a comma separated list of fields with corresponding values that must be fulfilled in order to display this field. e g with this condition defined <key>CONDITIONAL</key><string>FIELD1=Yes,FIELD2=No</string> this field will only be shown if the entry in a field with id FIELD1 equals to Yes or the entry in a field with id FIELD2 equals to No.

A sample PHOTOINPUT field dictionary object:

<dict>
	<key>ID</key><string>PHOTO</string>
	<key>TYPE</key><string>PHOTOINPUT</string>
	<key>TITLE</key><string>Photo</string>
	<key>REQUIRED</key><true/>
        <key>SIZE</key><string>LARGE</string>
        <key>QUALITY</key><string>HIGH</string>
</dict>
ireform/ireform_reports_design.txt · Last modified: 2020/06/21 20:26 (external edit)