Page Content Migration

The elements contained in a question group (questions and hyperlink labels) are added to the new page under the same cluster. The cluster title is set to the original page name. Questions and Hyperlink labels will be added to this cluster as new Question or DisplayText elements.

If the HyperlinkLabel is a URL, the display-text created will contain the necessary anchor markup.

Question text and help and their aliases are extracted to create new Question elements. String meta data indicating a multi-line input are converted to a layout element being added to the question with num-rows set to the correct number of lines. If List meta data is supplied, then the question becomes a multi-select question that has to be added in a separate cluster.

If default value expressions are specified for a particular question, they will be set on the new question.

Legislation and Policy links are migrated without the need for modification to new Legislation and Policy links.

The following examples illustrate how the page content gets migrated. The first two examples show the superseded IEG Script Definition and the superseded Question Group Definition:

Figure 1. Superseded IEG Script Definition
<?xml version="1.0" encoding="UTF-8"?>
<IEGScript id="SampleScript">
    <QuestionPageDefinition questionpageid="1" 
      questiongroupid="QuestionGroup1" loopsize="" precondition="">
	…
    </QuestionPageDefinition>
    <ScriptName>
	<Translation id="en" value="Sample Script" />
    </ScriptName>
    <ScriptDescription>
	<Translation id="en" value="" />
    </ScriptDescription>
</IEGScript>
Figure 2. Superseded IEG Question Group Definition
<?xml version="1.0" encoding="UTF-8"?>
<QuestionGroup id="QuestionGroup1">
	<Question id="Q1" recordunanswered="false" 
	  answertype="SVR_BOOLEAN" mandatory="false">
		<Questions>
			<Translation id="en" value="Disabled"/>
		</Questions>
		<ScriptTexts>
			<Translation id="en" 
			  value="Is <OtherGroup.Q1> disabled"/>
		</ScriptTexts>
		<HelpTexts>
			<Translation id="en" 
			  value="Does <OtherGroup.Q1> 
			  have any disability"/>
		</HelpTexts>
		<LegislationLinks>
			<Translation id="en" value=""/>
		</LegislationLinks>
		<PolicyLinks>
			<Translation id="en" value=""/>
		</PolicyLinks>
	</Question>
	<GroupName>
		<Translation id="en" value="Additional Questions"/>
	</GroupName>
	<GroupDescription>
		<Translation id="en" 
		  value="Please give us general information about 
		  the household members"/>
	</GroupDescription>
</QuestionGroup>

The following XML sample represents the IEG Script Definition created by the migration tool, having operated on the above superseded Script Definition and Question Group Definition:

Figure 3. IEG script definition
<?xml version="1.0" encoding="UTF-8"?>
<ieg-script finish-page="IEGPlayer_summary" 
  quit-page="IEGPlayer_summary" show-sections="false" 
  show-progress-bar="true">
    <identifier id="SampleScript" scriptversionnumber="1" 
      type="DefaultType" />
    <section>
	<title id="Section.Title" />
	<question-page id="QuestionGroup1" entity="QuestionGroup1" 
	  progress="0" … >
            <title id="QuestionGroup1.Title" />
            <description id="QuestionGroup1.Description" />
            <legislation id="QuestionGroup1.LegislationLink" />
            <policy id="QuestionGroup1.PolicyLink" />
            <cluster>
                <title id="QuestionGroup1.Cluster.Title" />
                <question id="Q1" mandatory="false" 
                  control-question="false" multi-select="false">
                    <label id="QuestionGroup1.Q1.Label">
                        <argument id="OtherGroup.Q1" />
                    </label>
                    <help-text id="QuestionGroup1.Q1.HelpText">
                        <argument id="OtherGroup.Q1" />
                    </help-text>
                    <legislation 
                      id="QuestionGroup1.Q1.LegislationLink" />
                    <policy id="QuestionGroup1.Q1.PolicyLink" />
                </question>
            </cluster>
	</question-page>
	<summary-page id="SummaryPage" progress="100" … >
	    …
	</summary-page>
    </section>
</ieg-script>