<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Visual Software Support</title>
	<atom:link href="http://www.sifsupport.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sifsupport.com/wordpress</link>
	<description>Official Site for Product Documentation and Release Information</description>
	<lastBuildDate>Thu, 22 Jul 2010 21:03:06 +0000</lastBuildDate>
		<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Veracity UK 1.2 Data</title>
		<link>http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/</link>
		<comments>http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 15:47:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/</guid>
		<description><![CDATA[The following file(s) contain the layout of the Visual Software Veracity database that holds the information after it has been collected by the SIF agent. This database serves as an Enterprise Data Store (it collects data from many sources in contrast with an Operational Data Store that collects it from one source) and contains a [...]]]></description>
			<content:encoded><![CDATA[<p>The following file(s) contain the layout of the Visual Software Veracity database that holds the information after it has been collected by the SIF agent. This database serves as an Enterprise Data Store (it collects data from many sources in contrast with an Operational Data Store that collects it from one source) and contains a up to the minute version of all of the SIF-transportable information received through the SIF infrastructure.</p>
<p>Database Definitions in PDF Form: <a href="?VSI=VeracityUK1.2.pdf">VeracityUK1.2.pdf</a> (13 MB)</p>
<p>Database Definitions in XPS Form (better for searching): <a href="?VSI=VeracityUK1.2.XPS">VeracityUK1.2.XPS</a> (2 MB)</p>
<p>SQL Server 2005 Database Backup: <a href="?VSI=ZIAgent2.3.BAK">ZIAgent2.3.BAK</a> (26 MB)</p>
<p>SQL Server 2005 Database CREATE DB Script: <a href="?VSI=UKAgent1.2script.sql">UKAgent1.2script.sql</a> (1 MB)</p>
<p>SQL Server 2005 Database Backup of a database with sample UK 1.1 data: <a href="?VSI=ZIProviderUK.BAK">ZIProviderUK.BAK</a> (60 MB)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phase II SOW – Cambridgeshire Production</title>
		<link>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-cambridgeshire-production/</link>
		<comments>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-cambridgeshire-production/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 19:24:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-cambridgeshire-production/</guid>
		<description><![CDATA[
.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style3 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #008000;
	color: #ffff00;
}
.auto-style1 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
}
.auto-style4 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: center;
}
.auto-style5 {
	font-family: [...]]]></description>
			<content:encoded><![CDATA[<p><style type="text/css">
.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style3 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #008000;
	color: #ffff00;
}
.auto-style1 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
}
.auto-style4 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: center;
}
.auto-style5 {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style6 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: right;
}
.auto-style7 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #e1ffe1;
	text-align: center;
}

.estimateheadings {
	background-color: #008000;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
}
.estimatedescriptions {
	background-color: white;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
}
.estimatedescriptionright {
	background-color: white;
	text-align: right;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}
.estimategreennumber {
	background-color: #008000;
	text-align: center;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}

.estimategrayednumber {
	background-color: #eeeeee;
	text-align: center;
	color: #808080;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	border: thin groove #006600;
}
.thisdocumentdefault {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: x-small;
	font-weight: normal;
	text-align: left;
	background-color: #008000;
	color: #ffff00;
	border-style: solid;
	border-width: .75pt;
	border-color: #ffff00 #006600 #ffff00 #006600;
}



.sifobjectcellheaders {
	font-size: small;
	font-weight: bold;
	color: white;
	background-color: #006600;
	border-color: #006600;
	border-style: solid;
	border-width: .75pt;
}
.sifobjectnames {
	font-size: x-small;
	font-weight: normal;
	color: black;
	background-color: white;
	border-color: #006600;
	border-width: .75pt;
	border-style: solid;
	font-family: verdana, geneva, tahoma, sans-serif;
}</style><br />
<h2>Introduction</h2>
<p>In June 2009, Dell, Visual Software and ITWorx assembled a Proof of Concept for the Cambridgeshire BSF bid and demonstrated that the Schools Interoperability Framework could be used to transport learner information such as that which would come from a typical UK MIS to a learning platform in near real time to meet the requirements of the Local Authority (LA).</p>
<p>In the first phase, for several reasons, we used a MIS simulator instead of using a copy of Capita SIMS, Serco CMIS or one of the other MIS systems.&#160; In the second phase of this overall project, we will be putting together a lasting platform that will be used in the Cambridgeshire and Derbyshire implementations.</p>
<p>This document’s first purpose is to supply Visual Software’s recommendations for setting up a SIF implementation for these schools, connecting the MIS instances, providing matching, identity and role management, providing facilities for checking the data for quality standards and providing an interface for the other Dell-incorporated software. In addition, its second purpose is to provide cost estimates for the work that will be involved in this integration project.</p>
<h2>Visual Software Component Overview</h2>
<p>Visual Software components will interface with instances of Management Information Systems at schools and with Dell supplied components within the data center. In general, our components will be connected as follows:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" width="660" height="365" /></a><font size="1"><em>Overview – Click image to show in full screen</em></font></p>
<h2>&#160;</h2>
<h2>Staged Implementation</h2>
<p>It has been indicated that, for the two implementations there may or may not be a Proof of Concept stage and that the two implementations themselves not include the exact same SIF coverage.&#160; To make what we offer as flexible as possible, we shall split the UK SIF specification into a set of object groups. For each of the combinations of (implementation site and {POC and Production}), we will make recommendations as which groups would reasonably fall under the combination.</p>
<p>So, in the case of this document we will highlight our recommendation for the <font color="#800000"><strong>Cambridgeshire Proof of Concept</strong></font>, while leaving grayed out things that could be added as optional elements. We will document other combinations separately.</p>
<h2>SIF Object Groups</h2>
<p>The UK SIF specification does not group objects into clusters of any sort, but for the purposes of these documents, we will group them as follows:</p>
<ul>
<li><font size="2"><strong>Basic</strong>: those objects needed for identity &amp; role management, including learners, teachers and parents. It includes the schools that people with which people are associated, but not the school groups.</font> </li>
<li><font size="2"><strong>Learner Groups</strong>: this extends the basic set to extend learner and teacher information to include learner group information. It might be argued that this group should be done at the same time timetabling,</font><font size="2"> but a great deal of useful information can be derived from only these objects without the timetabling objects.</font> </li>
<li><font size="2"><strong>Assessments</strong>: a group of interdependent objects that store information about assessments</font> </li>
<li><font size="2"><strong>Attendance</strong>: these relay attendance information, either in summary or detailed information – in the UK, it is typical to send complete information (not just absences), so expect to receive a high volume of information</font> </li>
<li><font size="2"><strong>Timetabling</strong>: this is information relative to how the school groups were established</font> </li>
<li><font size="2"><strong>Uncategorized</strong>: these objects don’t fall into any of the above categories, but do include some important messages such as behavior, meal status and special education objects.</font> </li>
</ul>
<p>The following table shows which SIF objects are in each of these categories:</p>
<table style="border-bottom: #006600 thin solid; border-left: #006600 thin solid; outline-style: solid; outline-color: #006600; outline-width: thin; border-collapse: collapse; font-family: verdana, geneva, tahoma, sans-serif; font-size: small; border-top: #006600 thin solid; border-right: #006600 thin solid" cellspacing="0" cellpadding="4" align="center">
<tbody>
<tr>
<td style="height: 45px" class="sifobjectcellheaders"><font color="#ffff00">Group 1            <br />Basic</font></td>
<td style="height: 45px" class="sifobjectcellheaders"><font color="#ffff00">Group 2            <br />Learner Groups</font></td>
<td style="height: 45px" class="sifobjectcellheaders"><font color="#ffff00">Group 3            <br />Assessments</font></td>
<td style="height: 45px" class="sifobjectcellheaders"><font color="#ffff00">Group 4            <br />Attendance</font></td>
<td style="height: 45px" class="sifobjectcellheaders"><font color="#ffff00">Group 5            <br />Timetabling</font></td>
<td style="height: 45px" class="sifobjectcellheaders"><font color="#ffff00">Group 6            <br />Uncategorized</font></td>
</tr>
<tr>
<td class="thisdocumentdefault">ContactPersonal</td>
<td class="thisdocumentdefault">LearnerGroupEnrolment</td>
<td class="thisdocumentdefault">AssessmentLearnerSet</td>
<td class="thisdocumentdefault">LearnerAttendance</td>
<td class="sifobjectnames">Cycle</td>
<td class="sifobjectnames">Junction</td>
</tr>
<tr>
<td class="thisdocumentdefault">LAInfo</td>
<td class="thisdocumentdefault">Lesson</td>
<td class="thisdocumentdefault">AssessmentResponseComponent</td>
<td class="thisdocumentdefault">LearnerAttendanceSummary</td>
<td class="sifobjectnames">Scope</td>
<td class="thisdocumentdefault">LearnerBehaviourIncident</td>
</tr>
<tr>
<td style="height: 25px" class="thisdocumentdefault">LearnerContact</td>
<td style="height: 25px" class="thisdocumentdefault">SchoolGroup</td>
<td style="height: 25px" class="thisdocumentdefault">AssessmentResponseComponentGroup</td>
<td class="sifobjectnames" rowspan="8">&#160;</td>
<td style="height: 25px" class="sifobjectnames">TTRoom</td>
<td style="height: 25px" class="thisdocumentdefault">LearnerEntitlement</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">LearnerPersonal</td>
<td class="thisdocumentdefault">SchoolGroupType</td>
<td class="thisdocumentdefault">AssessmentResultComponent</td>
<td class="sifobjectnames">TTSite</td>
<td class="thisdocumentdefault">LearnerExclusion</td>
</tr>
<tr>
<td class="thisdocumentdefault">LearnerSchoolEnrolment</td>
<td class="thisdocumentdefault">TeachingGroup</td>
<td class="thisdocumentdefault">AssessmentResultComponentGroup</td>
<td class="sifobjectnames">TTSubject</td>
<td class="thisdocumentdefault">LearnerSpecialNeeds</td>
</tr>
<tr>
<td class="thisdocumentdefault">SchoolInfo</td>
<td class="sifobjectnames" rowspan="5">&#160;</td>
<td class="thisdocumentdefault">AssessmentResultGradeSet</td>
<td class="sifobjectnames">TTTeacher</td>
<td class="sifobjectnames">NonTeachingActivity</td>
</tr>
<tr>
<td class="thisdocumentdefault">TermInfo</td>
<td class="thisdocumentdefault">AssessmentSession</td>
<td class="sifobjectnames" rowspan="4">&#160;</td>
<td class="sifobjectnames">PersonDietaryPreference</td>
</tr>
<tr>
<td class="thisdocumentdefault">WorkforcePersonal</td>
<td class="thisdocumentdefault">LearnerAssessmentResponseSet</td>
<td class="thisdocumentdefault">PersonPicture</td>
</tr>
<tr>
<td class="thisdocumentdefault">Identity</td>
<td class="thisdocumentdefault">LearnerAssessmentResult</td>
<td class="sifobjectnames" rowspan="2">&#160;</td>
</tr>
<tr>
<td class="thisdocumentdefault">SchoolMealStatus</td>
<td class="sifobjectnames">&#160;</td>
</tr>
</tbody>
</table>
<h2>&#160;</h2>
<blockquote><h3>Recommendation for Cambridgeshire Production</h3>
<p>It appears that almost all information covered in the current version of the SIF specification is required by the data warehouse specification distributed on June 28th, 2010, with the timetabling information not certain at the time of the writing of this document.</p>
</blockquote>
<h2>Connecting MIS Systems</h2>
<p>The following diagram gives an overview of how the MIS systems will be connected into the SIF infrastructure:</p>
<p><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" target="_blank"><img style="border-right-width: 0px; margin: 0px 0px 0px 15px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SimsMimic" border="0" alt="SimsMimic" align="right" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" width="420" height="340" /></a>On the Zone Integration Server, a separate zone will be created for each school (for more information on the use of Zones, see <a title="SIF Zones" href="http://www.sifsupport.com/wordpress/siflets/zones/" target="_blank">SIF Zones</a>) and each school’s copy of <a href="http://www.visualsi.com/Mimic.htm" target="_blank">Mimic</a> will be set as the Provider of learner information in that zone. Mimic will generate SIF messages by looking at the CSV files that each copy of SIMS creates on a scheduled basis, comparing it against the copy it looked at on its last scheduled run. (For more information on how Mimic works, see <a title="Mimic Users Guide" href="http://www.sifsupport.com/wordpress/mimic/mimic-user-guide/all/1" target="_blank">Mimic Users Guide</a>)</p>
<p>NOTE: A single ZIServer can host many (even thousands of) zones, and these zones can either be local (HTTP) or remote (HTTPS).</p>
<p>In order for the Mimic software to run, there will need to be a Windows computer running it and storing its SQL Server database in each location where there is an MIS.</p>
<h4>&#160;</h4>
<h3>Mimic as a Web Site</h3>
<p>Like all SIF Agents, Mimic runs as a web site. Like many SIF Agents, Mimic may run in SIF Pull or Push mode (Pull mode is analogous to batch mode and Push mode is similar to real-time mode – the meanings are very different than the typical meanings of ‘Push’ and ‘Pull’ in English. For a more complete description, see <a href="http://www.sifsupport.com/wordpress/siflets/sif-push-and-pull-modes/" target="_blank">SIF Push and Pull Modes</a>.)</p>
<p>This has implications for the installation because SIF Push mode (real-time) will require that the installation at the school have an external IP number and that the ZIS be able to communicate with the Agent. Although this is more work, we recommend this configuration because it allows the school to have its own certificate and allows us to set up Encryption Level 4, Authentication Level 3 where each side verifies the certificate of the other.</p>
<p>It is not necessary to use an outside certificate authority (you could use Certificate Services) because we will be setting up a closed community of servers. NOTE: In E2BN, we found out that, although it is supposed to be a simple matter to get certificates whenever we needed them, in reality it wasn’t all that simple.</p>
<h3>Mimic Database</h3>
<p>We typically use SQL Server Express Edition for Mimic installations. We are recommending installing SQL Server 2008 R2, especially since it now expands to 10GB and allows users to back up and restore.</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; School</strong></td>
<td class="estimateheadings">Group 1 Estimate</td>
<td class="estimateheadings"><strong>Group 2 Estimate</strong></td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings"><strong>Group 6 Estimate</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">During the first POC, Dell had access to a resource that had experience creating Capita SIMS reports. We would ask that the same person (or another person with a similar background) be contracted to:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Create SIMS reports for each of the SIF objects we need to publish</td>
</tr>
<tr>
<td class="estimatedescriptions">Create a package that would cause SIMS to automatically create these reports in a fixed location on a specified schedule</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the Capita SIMS reports created by the Dell SME, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="3">&#160;</td>
<td class="estimatedescriptions">Configure Mimic to publish events for the SIF object corresponding to the report, make backup copies of the CSV files in a library</td>
<td class="estimategrayednumber">30</td>
<td class="estimategreennumber">15</td>
<td class="estimategreennumber">27</td>
<td class="estimategreennumber">6</td>
<td class="estimategrayednumber">18</td>
<td class="estimategreennumber">24 (15)</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of object configurations and create an installation package for the school</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">10</td>
<td class="estimategreennumber">0</td>
<td class="estimategreennumber">0</td>
<td class="estimategrayednumber">0</td>
<td class="estimategreennumber">0</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">40</td>
<td class="estimategreennumber">25</td>
<td class="estimategreennumber">27</td>
<td class="estimategreennumber">6</td>
<td class="estimategrayednumber">18</td>
<td class="estimategreennumber">24 (15)</td>
</tr>
</tbody>
</table>
<p>In this estimate, the length of time it would take to create and test the installation package will not change significantly with the differing number of SIF objects implemented; most of the time in doing that will be in the setup, testing and making sure that the correct results were achieved when the tests were run. The configuration of the Mimic product, however, will largely depend on the number of objects being configured. We assume here that even though one install package would have been created during the POC, another would be created at the end of the production effort.</p>
<h2>Managing School Data Quality</h2>
<p>Normally, applications have user interfaces that prevent things from automatically happening when it receives “bad” information. For example, an application that creates user accounts from information entered into a user interface (a form) would first validate that information before using it to create the account.</p>
<p>When a user interface is replaced with a SIF interface, the subscribing application might be left trusting the validation rules of the source system unless something is put between the two to make sure that data quality is being maintained.</p>
<p>For example, in an MIS, it might not be too important that learner’s birth date is reasonable – to the MIS, it is only important that a value is entered into the field and that it is a valid date. But, to a VLE it is important that it is valid as well as reasonable. If a user were entering this information by hand into the VLE, he or she would never be able to enter today’s date into the birth date field.</p>
<h3>&#160;</h3>
<h3>Veracity</h3>
<p>Veracity is a product that does several things:</p>
<ul>
<li>It monitors data quality based on rules that have been set up at a certain level – for example, rules can be set up at the school level to capture errors as they come out of the MIS that will become problems in other systems that are connected to this system – checks like invalid birth dates, missing names, etc. </li>
<li>It maintains a consolidated database of data collected from all systems that can be used for reporting or other data analysis </li>
<li>It provides a portal interface so that users can see where they need to make changes to their data </li>
</ul>
<h3>Where Veracity Fits In</h3>
<p>We recommend installing Veracity in two places in this architecture:</p>
<ol>
<li>In the school zone – used here, the rule set that is applied to the collected data will check it against the needs of the other systems that will use its data. Additionally, the portal interface it provides will give users an insight into how close they are to the place where the data they enter can transparently flow throughout the system without alteration. </li>
<li>Post-Envoy – Envoy is the software that will match records and consolidate the information from the single zones into a group zone. Having Veracity subscribe here will provide a consolidated reporting and analysis database and a place where business rules can run that check for problems that might occur where data from one school collides with that from another. </li>
</ol>
<p align="left">The following diagram shows Veracity as it would be installed to monitor data quality for each of the school zones:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracity" border="0" alt="SimsMimicVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png" width="600" height="341" /></a><font size="1"><em>Adding Veracity – Click image to show in full screen</em></font></p>
<p>Since the ZIServer is being hosted, it is not unreasonable to assume that these copies of Veracity would be hosted as well.</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; School Veracity Copies</strong></td>
<td class="estimateheadings">Group 1 Estimate</td>
<td class="estimateheadings"><strong>Group 2 Estimate</strong></td>
<td class="estimateheadings"><strong>Group 3 Estimate</strong></td>
<td class="estimateheadings"><strong>Group 4 Estimate</strong></td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings"><strong>Group 6 Estimate</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to develop a set of data quality rules that reflect the data quality requirements of the other applications</td>
</tr>
<tr>
<td class="estimatedescriptions">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions"><em>(number of rules for objects in the group)</em></td>
<td class="estimategrayednumber"><em>30</em></td>
<td class="estimategreennumber"><em>10</em></td>
<td class="estimategreennumber"><em>10</em></td>
<td class="estimategreennumber"><em>5</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategreennumber"><em>10</em></td>
</tr>
<tr>
<td class="estimatedescriptions">Implement rules in Veracity along with the user feedback</td>
<td class="estimategrayednumber">30</td>
<td class="estimategreennumber">15</td>
<td class="estimategreennumber">15</td>
<td class="estimategreennumber">8</td>
<td class="estimategrayednumber">15</td>
<td class="estimategreennumber">15</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of rule configurations and create a school installation package</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">10</td>
<td class="estimategreennumber">0</td>
<td class="estimategreennumber">0</td>
<td class="estimategrayednumber">0</td>
<td class="estimategreennumber">0</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">40</td>
<td class="estimategreennumber">25</td>
<td class="estimategreennumber">15</td>
<td class="estimategreennumber">8</td>
<td class="estimategrayednumber">15</td>
<td class="estimategreennumber">15</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Merging/Matching Data</h2>
<p>The primary function of the <a href="http://www.visualsi.com/Envoy.htm" target="_blank">Envoy</a> product in this environment is to resolve differences when a physical object is&#160; represented in more than one MIS. This can happen when a learner attends more than one school, a teacher teaches at more than one school or a parent has children attending more than one school.</p>
<p>When this occurs, what envoy does is to create a “virtual object” by choosing the base object from the “more reliable” of the two and making it appear as if there was a single large MIS providing all the records from a single source. What this accomplishes for subscribing applications is to provide them with a simplified view of the learner population and centralizing the complex, matching logic where it can be independently tested and verified.</p>
<p>For more information on how this works, see: <a href="http://www.sifsupport.com/wordpress/other-sif-related-articles/managed-virtual-zones/" target="_blank">Managed Virtual Zones</a>.</p>
<p>In our implementation, we will use the Envoy product to perform this function, match records and combine records for all the schools into a single zone as depicted by the following diagram:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoy" border="0" alt="SimsMimicVeracityEnvoy" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" width="600" height="346" /></a><font size="1"><em>Adding Envoy – Click image to show in full screen</em></font></p>
<p>Setting up Envoy is more difficult than the other products because, for each of the SIF objects that it handles there are rules that must be, at a minimum, reviewed by the customer to make sure that everyone is in agreement as to how the object is being handled. These rules fall into two categories:</p>
<ol>
<li>How records are matched. Envoy can use a hierarchy of rules when matching – for example, when matching learner records, it can first try ULN, family name, given name, post code and birth date. Then if that doesn’t match it can try ULN, family name, given name, gender and birth date, then three more combinations before giving up and assuming that the two records are for different people. </li>
<li>How the “more reliable” base object is chosen when there is a choice. If a child attends two schools, there are two LearnerPersonal records – which one should a subscribing application receive as the “more reliable” of the two? Sometimes it is easy to choose (because the SIF specification has rules for choosing, other times is is more difficult). </li>
</ol>
<p>&#160;</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items – Envoy Rule Verification/Setup</strong></td>
<td class="estimateheadings">Group 1 Estimate</td>
<td class="estimategreennumber">Group 2 Estimate</td>
<td class="estimateheadings"><strong>Group 3 Estimate</strong></td>
<td class="estimateheadings"><strong>Group 4 Estimate</strong></td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimategreennumber">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to review the record matching and choice rules for the objects that will be in use in this implementation</td>
</tr>
<tr>
<td class="estimatedescriptions">Work with us through the testing process to make sure that the rules are working properly</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions">Work with the customer reviewing the rule sets for all the objects used for the implementation</td>
<td class="estimategrayednumber">45</td>
<td class="estimategreennumber">10</td>
<td class="estimategreennumber">18</td>
<td class="estimategreennumber">4</td>
<td class="estimategrayednumber">12</td>
<td class="estimategreennumber">16 (10)</td>
</tr>
<tr>
<td class="estimatedescriptions">Make changes as needed to existing rule set (Envoy also has the ability to restrict data from being sent if it does not meet certain criteria – these type of rules are more likely to be added)</td>
<td class="estimategrayednumber">20</td>
<td class="estimategreennumber">8</td>
<td class="estimategreennumber">14</td>
<td class="estimategreennumber">3</td>
<td class="estimategrayednumber">9</td>
<td class="estimategreennumber">12 (8)</td>
</tr>
<tr>
<td class="estimatedescriptions">Testing to make sure matching and choices are being made properly</td>
<td class="estimategrayednumber">50</td>
<td class="estimategreennumber">20</td>
<td class="estimategreennumber">36</td>
<td class="estimategreennumber">8</td>
<td class="estimategrayednumber">24</td>
<td class="estimategreennumber">32 (20)</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">115</td>
<td class="estimategreennumber">38</td>
<td class="estimategreennumber">68</td>
<td class="estimategreennumber">15</td>
<td class="estimategrayednumber">45</td>
<td class="estimategreennumber">60 (38)</td>
</tr>
</tbody>
</table>
<p>With Envoy, most of the more difficult review work will be in the Group 1 objects. This is because Group 1 includes all of the “base” objects that are the ones that get matched: LAInfo, SchoolInfo, LearnerPersonal, ContactPersonal and WorkforcePersonal. These objects will have the hierarchy of matching rules that need to be reviewed where the other objects will have simpler, more definitive rules (however, they will typically have many more of them). This is why the bulk of the hours show up in the estimate for Group 1.</p>
<blockquote><p>NOTE: At this point, it would be possible to connect a “Local Authority Level” SIF-enabled application to the consolidated zone (as we intend to do with Ipseity).</p>
</blockquote>
<p>&#160;</p>
<h2>Identity and Role Management</h2>
<p>Once records have been data quality checked and consolidated, information is passed to the Identity and Role Manager, Ipseity™ (formerly codename Sentry). This SIF agent will subscribe to several objects and publish one – by subscribing, it will receive all of the information it needs to create account names and most of the information it needs to assign roles to the applications it manages.</p>
<p>The following diagram gives an overall picture of where Ipseity fits into the overall architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseity" border="0" alt="SimsMimicVeracityEnvoyIpseity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Ipseity – Click image to show in full screen</em></font></p>
<p>As shown in this picture, Ipseity has not only a SIF interface, but also a web services interface. This interface was put in so that non-SIF applications could easily use it features such as:</p>
<ul>
<li><font size="2">Adding new users to the pool of users being managed, so that Ipseity can assign IDs that are consistent with the automatically managed IDs</font> </li>
<li><font size="2">Query the database of all users for {new/changed/deleted} users, which users are assigned to which schools, which users are assigned to what roles (in which schools), etc..</font> </li>
</ul>
<p>There are several web service calls supported by Ipseity that all return recordsets, making it simple for other applications to access data in its store either from the same location or remotely (through HTTPS). For more information on these facilities, see: <a href="http://www.sifsupport.com/wordpress/customer-previews-and-feedback/extending-identity-management-roles/" target="_blank">Extending Identity Management &#8211; Roles</a></p>
<h3>Subscribed Objects</h3>
<p>Ipseity will subscribe to the following objects:</p>
<ul>
<li>LAInfo </li>
<li>SchoolInfo </li>
<li>LearnerPersonal </li>
<li>LearnerSchoolEnrolment </li>
<li>WorkforcePersonal – this contains all information about teachers, including all schools at which they work. Some of these records <u>may</u> be skipped because their assignments might indicate that they have no computer interaction </li>
<li>ContactPersonal – this contains basic information about a parent or other contact. Some of these records will be ignored, such as those for after school programs or medical facilities that are stored in an MIS, but will not be needed in Ipseity for Identity or Role management purposes </li>
<li>LearnerContact – this links a contact record to a learner record </li>
</ul>
<h3>Published Object</h3>
<p>Ipseity will publish the following object:</p>
<ul>
<li>Identity – this will contain the identities it assigns, including AD account names, Shibboleth names, and initial passwords, etc. </li>
</ul>
<h3>Roles Being Managed</h3>
<p>At a minimum, roles for the products we are installing will need to be managed.</p>
<p>For example, ZIServer will need to be assigned people who will be able to create and manage zones, assign permissions and those who will have access to the audits. It might be the case that people in the schools may need access to the audits as well.</p>
<p>Veracity’s interface will need a similar administrator role, but it will also have interfaces for a person who creates business rules (someone who knows about school MIS data – probably not a system administrator), and several people in each school who will be using its interface to correct errors in data (these will probably not overlap with the other two at all).</p>
<p>Envoy will need an administrator, but will also need someone who oversees the business rules that govern how record matching is done and choices are made (this person is more of an analyst, not a systems administrator), but there will be nobody in the school who will have access.</p>
<blockquote><p>Question: In the following spreadsheet, it was indicated that the following roles are required for use by one or more Dell applications: </p>
<p>Original Excel file with edits:<a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMISroledatafieldswithSIFcodevalues5.xls">Sims MIS role data fields with SIF code values.xls</a></p>
<p>Would it be desirable to use Ipseity to manage these roles along with the roles for ZIServer, Veracity and Envoy? Users would be able to use the same interface and the applications would have access to the common web services interface.</p>
</blockquote>
<p>&#160;</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items – Ipseity Setup </strong></td>
<td class="estimateheadings"><strong>Per App&#160; Estimate</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to review the requirements for any new applications that will use the application</td>
</tr>
<tr>
<td class="estimatedescriptions">Work with us and schools to assign roles for our products</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions">Normal setup of application (included)</td>
<td class="estimategreennumber">0</td>
</tr>
<tr>
<td class="estimatedescriptions">Normal setup of application to work with our other applications (ZIServer, Veracity, Envoy) (included)</td>
<td class="estimategreennumber">0</td>
</tr>
<tr>
<td class="estimatedescriptions">Setup to work with third party application (each application, if any)</td>
<td class="estimategreennumber">25</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber">25</td>
</tr>
</tbody>
</table>
<p>Note: the setup of this application does not depend on the SIF objects being configured, so it will not vary from implementation to implementation.</p>
<h2>Consolidated Data Quality Checking / Reporting</h2>
<p>The final step in the process (or this could be swapped with the IDRM step) will be to set up a copy of Veracity that consolidates all data from all schools (and Ipseity) into a single database and performs another set of data quality rules on them.</p>
<p>The data quality rules that are run on this set of data should not be checking for the simple things that should have been remedied at the school, but rather other types of errors that show up when data from one school is combined with that from another.</p>
<p>An example might be: for a given learner we might see attendance records showing him attending both his morning and afternoon schools the same morning of the same day and this is not supposed to happen. Or, we see two children with completely different demographic information in different schools, but they have the same ULN.</p>
<p>The following diagram shows where this copy of Veracity is installed in the architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity_thumb.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Veracity (on consolidated data set) – Click image to show in full screen</em></font></p>
<p>This copy becomes a subscriber in the combined zone. Since Veracity’s database is effectively an Enterprise Data Store, we’ve found that it is very useful to other applications such as:</p>
<ul>
<li>Data Warehouses: these can sample the database on given intervals. Typically, the DW builds a series of views, stored procedures or compiled queries that get called on a regular basis that take a snapshot from our repository. </li>
<li>Reporting Application: tools such as SQL Reporting Services are used in districts to produced real-time reports on data that is collected from many sources. In our scenario, we are only collecting data from the MIS and from Ipseity, but in other places they may collect data from as many as 8 or 9 places. </li>
<li>Data Analysis: some use SQL Analysis in similar ways to perform data analysis on the Veracity database or a replicated snapshot. </li>
</ul>
<p>To view the database layout and to get an empty Veracity Database Backup, see: <a href="http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/" target="_blank">Veracity UK 1.2 Data</a></p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; Combined Veracity Copy</strong></td>
<td class="estimateheadings">Group 1 Estimate</td>
<td class="estimategreennumber">Group 2 Estimate</td>
<td class="estimateheadings"><strong>Group 3 Estimate</strong></td>
<td class="estimateheadings"><strong>Group 4 Estimate</strong></td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimategreennumber">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to develop a set of data quality rules that reflect the data quality requirements of the combined dataset</td>
</tr>
<tr>
<td class="estimatedescriptions">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions"><em>(number of rules for objects in the group)</em></td>
<td class="estimategrayednumber"><em>20</em></td>
<td class="estimategreennumber"><em>5</em></td>
<td class="estimategreennumber"><em>5</em></td>
<td class="estimategreennumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategreennumber"><em>10</em></td>
</tr>
<tr>
<td class="estimatedescriptions">Implement rules in Veracity along with the user feedback</td>
<td class="estimategrayednumber">40</td>
<td class="estimategreennumber">10</td>
<td class="estimategreennumber">10</td>
<td class="estimategreennumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">20</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of rule configurations and create a school installation package</td>
<td class="estimategrayednumber"><strong>10</strong></td>
<td class="estimategreennumber">10</td>
<td class="estimategreennumber">10</td>
<td class="estimategreennumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">10</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">70</td>
<td class="estimategreennumber">25</td>
<td class="estimategreennumber">25</td>
<td class="estimategreennumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategreennumber">35</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Summary</h2>
<p>This is an estimate; these hours are based on certain assumptions about a number of business rules that will be requested and a level of data cleanliness we will find when we see the actual data.</p>
<p>This could vary widely – the difference in the effort required for us to successfully integrate all these applications between locations where the data is carefully maintained and those where it isn’t can be huge (up to 50% of the project).&#160; This is why we suggest a step-by-step approach where the data quality issues are addressed in the first step, so that they will not haunt us in later steps.</p>
<p>We also use the strategy of giving tools to users in the first step that “make their life better”. One would think that Veracity “looking over their shoulder” would not fit into that category, but it can.</p>
<p>For example, if we were to encode their annual census rules into quality checks, it would give them a tool that allows them to see how close they are to not having any work to do next time a census is due – except to run a query against their local Veracity DB and export it – perhaps…</p>
<p>These estimates assume that the work would be able to be performed from our office through a connection such as a VPN tunnel. We found that working offsite (such as we did during the first POC) added about 80% to the length of time it took to do a given task (so 10 hours in our office working through a remote facility = 18 hours working at the Dell site).</p>
<p>This SOW is intended to be a working document – the comments facility is here to allow other team members to pose questions, make comments and give suggestions – please use it. Comments will first go through me (Rob Hutchison) for approval, so if you don’t want it to be seen by everyone, put “PRIVATE” on the first line and I won’t publish it for all. Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-cambridgeshire-production/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phase II SOW – Cambridgeshire POC</title>
		<link>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-cambridgeshire-poc/</link>
		<comments>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-cambridgeshire-poc/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 19:17:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-cambridgeshire-poc/</guid>
		<description><![CDATA[

.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style3 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #008000;
	color: #ffff00;
}
.auto-style1 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
}
.auto-style4 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: center;
}
.auto-style5 {
	font-family: [...]]]></description>
			<content:encoded><![CDATA[<p><style type="text/css">

.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style3 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #008000;
	color: #ffff00;
}
.auto-style1 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
}
.auto-style4 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: center;
}
.auto-style5 {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style6 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: right;
}
.auto-style7 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #e1ffe1;
	text-align: center;
}

.estimateheadings {
	background-color: #008000;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
}
.estimatedescriptions {
	background-color: white;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
}
.estimatedescriptionright {
	background-color: white;
	text-align: right;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}
.estimategreennumber {
	background-color: #008000;
	text-align: center;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}

.estimategrayednumber {
	background-color: #eeeeee;
	text-align: center;
	color: #808080;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	border: thin groove #006600;
}
.thisdocumentdefault {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: x-small;
	font-weight: normal;
	text-align: left;
	background-color: #008000;
	color: #ffff00;
	border-style: solid;
	border-width: .75pt;
	border-color: #ffff00 #006600 #ffff00 #006600;
}



.sifobjectcellheaders {
	font-size: small;
	font-weight: bold;
	color: white;
	background-color: #006600;
	border-color: #006600;
	border-style: solid;
	border-width: .75pt;
}
.sifobjectnames {
	font-size: x-small;
	font-weight: normal;
	color: black;
	background-color: white;
	border-color: #006600;
	border-width: .75pt;
	border-style: solid;
	font-family: verdana, geneva, tahoma, sans-serif;
}</style><br />
<h2>Introduction</h2>
<p>In June 2009, Dell, Visual Software and ITWorx assembled a Proof of Concept for the Cambridgeshire BSF bid and demonstrated that the Schools Interoperability Framework could be used to transport learner information such as that which would come from a typical UK MIS to a learning platform in near real time to meet the requirements of the Local Authority (LA).</p>
<p>In the first phase, for several reasons, we used a MIS simulator instead of using a copy of Capita SIMS, Serco CMIS or one of the other MIS systems.&#160; In the second phase of this overall project, we will be putting together a lasting platform that will be used in the Cambridgeshire and Derbyshire implementations.</p>
<p>This document’s first purpose is to supply Visual Software’s recommendations for setting up a SIF implementation for these schools, connecting the MIS instances, providing matching, identity and role management, providing facilities for checking the data for quality standards and providing an interface for the other Dell-incorporated software. In addition, its second purpose is to provide cost estimates for the work that will be involved in this integration project.</p>
<h2>Visual Software Component Overview</h2>
<p>Visual Software components will interface with instances of Management Information Systems at schools and with Dell supplied components within the data center. In general, our components will be connected as follows:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" width="660" height="365" /></a><font size="1"><em>Overview – Click image to show in full screen</em></font></p>
<h2>&#160;</h2>
<h2>Staged Implementation</h2>
<p>It has been indicated that, for the two implementations there may or may not be a Proof of Concept stage and that the two implementations themselves not include the exact same SIF coverage.&#160; To make what we offer as flexible as possible, we shall split the UK SIF specification into a set of object groups. For each of the combinations of (implementation site and {POC and Production}), we will make recommendations as which groups would reasonably fall under the combination.</p>
<p>So, in the case of this document we will highlight our recommendation for the <font color="#800000"><strong>Cambridgeshire Proof of Concept</strong></font>, while leaving grayed out things that could be added as optional elements. We will document other combinations separately.</p>
<h2>SIF Object Groups</h2>
<p>The UK SIF specification does not group objects into clusters of any sort, but for the purposes of these documents, we will group them as follows:</p>
<ul>
<li><font size="2"><strong>Basic</strong>: those objects needed for identity &amp; role management, including learners, teachers and parents. It includes the schools that people with which people are associated, but not the school groups.</font> </li>
<li><font size="2"><strong>Learner Groups</strong>: this extends the basic set to extend learner and teacher information to include learner group information. It might be argued that this group should be done at the same time timetabling,</font><font size="2"> but a great deal of useful information can be derived from only these objects without the timetabling objects.</font> </li>
<li><font size="2"><strong>Assessments</strong>: a group of interdependent objects that store information about assessments</font> </li>
<li><font size="2"><strong>Attendance</strong>: these relay attendance information, either in summary or detailed information – in the UK, it is typical to send complete information (not just absences), so expect to receive a high volume of information</font> </li>
<li><font size="2"><strong>Timetabling</strong>: this is information relative to how the school groups were established</font> </li>
<li><font size="2"><strong>Uncategorized</strong>: these objects don’t fall into any of the above categories, but do include some important messages such as behavior, meal status and special education objects.</font> </li>
</ul>
<p>The following table shows which SIF objects are in each of these categories:</p>
<table style="border-bottom: #006600 thin solid; border-left: #006600 thin solid; outline-style: solid; outline-color: #006600; outline-width: thin; border-collapse: collapse; font-family: verdana, geneva, tahoma, sans-serif; font-size: small; border-top: #006600 thin solid; border-right: #006600 thin solid" cellspacing="0" cellpadding="4" align="center">
<tbody>
<tr>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 1            <br />Basic</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 2            <br />Learner Groups</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 3            <br />Assessments</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 4            <br />Attendance</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 5            <br />Timetabling</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 6            <br />Uncategorized</font></td>
</tr>
<tr>
<td class="thisdocumentdefault">ContactPersonal</td>
<td class="sifobjectnames">LearnerGroupEnrolment</td>
<td class="sifobjectnames">AssessmentLearnerSet</td>
<td class="sifobjectnames">LearnerAttendance</td>
<td class="sifobjectnames">Cycle</td>
<td class="sifobjectnames">Junction</td>
</tr>
<tr>
<td class="thisdocumentdefault">LAInfo</td>
<td class="sifobjectnames">Lesson</td>
<td class="sifobjectnames">AssessmentResponseComponent</td>
<td class="sifobjectnames">LearnerAttendanceSummary</td>
<td class="sifobjectnames">Scope</td>
<td class="sifobjectnames">LearnerBehaviourIncident</td>
</tr>
<tr>
<td class="thisdocumentdefault">LearnerContact</td>
<td class="sifobjectnames">SchoolGroup</td>
<td class="sifobjectnames">AssessmentResponseComponentGroup</td>
<td class="sifobjectnames" rowspan="8">&#160;</td>
<td class="sifobjectnames">TTRoom</td>
<td class="sifobjectnames">LearnerEntitlement</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">LearnerPersonal</td>
<td class="sifobjectnames">SchoolGroupType</td>
<td class="sifobjectnames">AssessmentResultComponent</td>
<td class="sifobjectnames">TTSite</td>
<td class="sifobjectnames">LearnerExclusion</td>
</tr>
<tr>
<td class="thisdocumentdefault">LearnerSchoolEnrolment</td>
<td class="sifobjectnames">TeachingGroup</td>
<td class="sifobjectnames">AssessmentResultComponentGroup</td>
<td class="sifobjectnames">TTSubject</td>
<td class="sifobjectnames">LearnerSpecialNeeds</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">SchoolInfo</td>
<td class="sifobjectnames" rowspan="5">&#160;</td>
<td class="sifobjectnames">AssessmentResultGradeSet</td>
<td class="sifobjectnames">TTTeacher</td>
<td class="sifobjectnames">NonTeachingActivity</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">TermInfo</td>
<td class="sifobjectnames">AssessmentSession</td>
<td class="sifobjectnames" rowspan="4">&#160;</td>
<td class="sifobjectnames">PersonDietaryPreference</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">WorkforcePersonal</td>
<td class="sifobjectnames">LearnerAssessmentResponseSet</td>
<td class="sifobjectnames">PersonPicture</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">Identity</td>
<td class="sifobjectnames">LearnerAssessmentResult</td>
<td class="sifobjectnames" rowspan="2">&#160;</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">SchoolMealStatus</td>
<td class="sifobjectnames">&#160;</td>
</tr>
</tbody>
</table>
<h2>&#160;</h2>
<blockquote><h3>Recommendation for Cambridgeshire POC</h3>
<p>Since the goal of this POC is to implement Identity and Role management and to supply Forefront Identity Manager with the basic information it needs to create and manage accounts, we recommend that we implement “Group 1: Basic” SIF objects in this phase. </p>
</blockquote>
<h2>Connecting MIS Systems</h2>
<p>The following diagram gives an overview of how the MIS systems will be connected into the SIF infrastructure:</p>
<p><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" target="_blank"><img style="border-right-width: 0px; margin: 0px 0px 0px 15px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SimsMimic" border="0" alt="SimsMimic" align="right" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" width="420" height="340" /></a>On the Zone Integration Server, a separate zone will be created for each school (for more information on the use of Zones, see <a title="SIF Zones" href="http://www.sifsupport.com/wordpress/siflets/zones/" target="_blank">SIF Zones</a>) and each school’s copy of <a href="http://www.visualsi.com/Mimic.htm" target="_blank">Mimic</a> will be set as the Provider of learner information in that zone. Mimic will generate SIF messages by looking at the CSV files that each copy of SIMS creates on a scheduled basis, comparing it against the copy it looked at on its last scheduled run. (For more information on how Mimic works, see <a title="Mimic Users Guide" href="http://www.sifsupport.com/wordpress/mimic/mimic-user-guide/all/1" target="_blank">Mimic Users Guide</a>)</p>
<p>NOTE: A single ZIServer can host many (even thousands of) zones, and these zones can either be local (HTTP) or remote (HTTPS).</p>
<p>In order for the Mimic software to run, there will need to be a Windows computer running it and storing its SQL Server database in each location where there is an MIS.</p>
<h4>&#160;</h4>
<h3>Mimic as a Web Site</h3>
<p>Like all SIF Agents, Mimic runs as a web site. Like many SIF Agents, Mimic may run in SIF Pull or Push mode (Pull mode is analogous to batch mode and Push mode is similar to real-time mode – the meanings are very different than the typical meanings of ‘Push’ and ‘Pull’ in English. For a more complete description, see <a href="http://www.sifsupport.com/wordpress/siflets/sif-push-and-pull-modes/" target="_blank">SIF Push and Pull Modes</a>.)</p>
<p>This has implications for the installation because SIF Push mode (real-time) will require that the installation at the school have an external IP number and that the ZIS be able to communicate with the Agent. Although this is more work, we recommend this configuration because it allows the school to have its own certificate and allows us to set up Encryption Level 4, Authentication Level 3 where each side verifies the certificate of the other.</p>
<p>It is not necessary to use an outside certificate authority (you could use Certificate Services) because we will be setting up a closed community of servers. NOTE: In E2BN, we found out that, although it is supposed to be a simple matter to get certificates whenever we needed them, in reality it wasn’t all that simple.</p>
<h3>Mimic Database</h3>
<p>We typically use SQL Server Express Edition for Mimic installations. We are recommending installing SQL Server 2008 R2, especially since it now expands to 10GB and allows users to back up and restore.</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; School</strong></td>
<td class="estimateheadings"><strong>Group 1 Estimate</strong></td>
<td class="estimateheadings">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">During the first POC, Dell had access to a resource that had experience creating Capita SIMS reports. We would ask that the same person (or another person with a similar background) be contracted to:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Create SIMS reports for each of the SIF objects we need to publish</td>
</tr>
<tr>
<td class="estimatedescriptions">Create a package that would cause SIMS to automatically create these reports in a fixed location on a specified schedule</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the Capita SIMS reports created by the Dell SME, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="3">&#160;</td>
<td class="estimatedescriptions">Configure Mimic to publish events for the SIF object corresponding to the report, make backup copies of the CSV files in a library</td>
<td class="estimategreennumber"><strong>30</strong></td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">27</td>
<td class="estimategrayednumber">6</td>
<td class="estimategrayednumber">18</td>
<td class="estimategrayednumber">24</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of object configurations and create an installation package for the school</td>
<td class="estimategreennumber"><strong>10</strong></td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber"><strong>40</strong></td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">37</td>
<td class="estimategrayednumber">16</td>
<td class="estimategrayednumber">28</td>
<td class="estimategrayednumber">34</td>
</tr>
</tbody>
</table>
<p>In this estimate, the length of time it would take to create and test the installation package will not change significantly with the differing number of SIF objects implemented; most of the time in doing that will be in the setup, testing and making sure that the correct results were achieved when the tests were run. The configuration of the Mimic product, however, will largely depend on the number of objects being configured.</p>
<h2>Managing School Data Quality</h2>
<p>Normally, applications have user interfaces that prevent things from automatically happening when it receives “bad” information. For example, an application that creates user accounts from information entered into a user interface (a form) would first validate that information before using it to create the account.</p>
<p>When a user interface is replaced with a SIF interface, the subscribing application might be left trusting the validation rules of the source system unless something is put between the two to make sure that data quality is being maintained.</p>
<p>For example, in an MIS, it might not be too important that learner’s birth date is reasonable – to the MIS, it is only important that a value is entered into the field and that it is a valid date. But, to a VLE it is important that it is valid as well as reasonable. If a user were entering this information by hand into the VLE, he or she would never be able to enter today’s date into the birth date field.</p>
<h3>&#160;</h3>
<h3>Veracity</h3>
<p>Veracity is a product that does several things:</p>
<ul>
<li>It monitors data quality based on rules that have been set up at a certain level – for example, rules can be set up at the school level to capture errors as they come out of the MIS that will become problems in other systems that are connected to this system – checks like invalid birth dates, missing names, etc. </li>
<li>It maintains a consolidated database of data collected from all systems that can be used for reporting or other data analysis </li>
<li>It provides a portal interface so that users can see where they need to make changes to their data </li>
</ul>
<h3>Where Veracity Fits In</h3>
<p>We recommend installing Veracity in two places in this architecture:</p>
<ol>
<li>In the school zone – used here, the rule set that is applied to the collected data will check it against the needs of the other systems that will use its data. Additionally, the portal interface it provides will give users an insight into how close they are to the place where the data they enter can transparently flow throughout the system without alteration. </li>
<li>Post-Envoy – Envoy is the software that will match records and consolidate the information from the single zones into a group zone. Having Veracity subscribe here will provide a consolidated reporting and analysis database and a place where business rules can run that check for problems that might occur where data from one school collides with that from another. </li>
</ol>
<p align="left">The following diagram shows Veracity as it would be installed to monitor data quality for each of the school zones:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracity" border="0" alt="SimsMimicVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png" width="600" height="341" /></a><font size="1"><em>Adding Veracity – Click image to show in full screen</em></font></p>
<p>Since the ZIServer is being hosted, it is not unreasonable to assume that these copies of Veracity would be hosted as well.</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; School Veracity Copies</strong></td>
<td class="estimateheadings"><strong>Group 1 Estimate</strong></td>
<td class="estimateheadings">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to develop a set of data quality rules that reflect the data quality requirements of the other applications</td>
</tr>
<tr>
<td class="estimatedescriptions">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions"><em>(number of rules for objects in the group)</em></td>
<td class="estimategreennumber"><em>30</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategrayednumber"><em>10</em></td>
</tr>
<tr>
<td class="estimatedescriptions">Implement rules in Veracity along with the user feedback</td>
<td class="estimategreennumber"><strong>30</strong></td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">8</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">15</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of rule configurations and create a school installation package</td>
<td class="estimategreennumber"><strong>10</strong></td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber"><strong>40</strong></td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Merging/Matching Data</h2>
<p>The primary function of the <a href="http://www.visualsi.com/Envoy.htm" target="_blank">Envoy</a> product in this environment is to resolve differences when a physical object is&#160; represented in more than one MIS. This can happen when a learner attends more than one school, a teacher teaches at more than one school or a parent has children attending more than one school.</p>
<p>When this occurs, what envoy does is to create a “virtual object” by choosing the base object from the “more reliable” of the two and making it appear as if there was a single large MIS providing all the records from a single source. What this accomplishes for subscribing applications is to provide them with a simplified view of the learner population and centralizing the complex, matching logic where it can be independently tested and verified.</p>
<p>For more information on how this works, see: <a href="http://www.sifsupport.com/wordpress/other-sif-related-articles/managed-virtual-zones/" target="_blank">Managed Virtual Zones</a>.</p>
<p>In our implementation, we will use the Envoy product to perform this function, match records and combine records for all the schools into a single zone as depicted by the following diagram:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoy" border="0" alt="SimsMimicVeracityEnvoy" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" width="600" height="346" /></a><font size="1"><em>Adding Envoy – Click image to show in full screen</em></font></p>
<p>Setting up Envoy is more difficult than the other products because, for each of the SIF objects that it handles there are rules that must be, at a minimum, reviewed by the customer to make sure that everyone is in agreement as to how the object is being handled. These rules fall into two categories:</p>
<ol>
<li>How records are matched. Envoy can use a hierarchy of rules when matching – for example, when matching learner records, it can first try ULN, family name, given name, post code and birth date. Then if that doesn’t match it can try ULN, family name, given name, gender and birth date, then three more combinations before giving up and assuming that the two records are for different people. </li>
<li>How the “more reliable” base object is chosen when there is a choice. If a child attends two schools, there are two LearnerPersonal records – which one should a subscribing application receive as the “more reliable” of the two? Sometimes it is easy to choose (because the SIF specification has rules for choosing, other times is is more difficult). </li>
</ol>
<p>&#160;</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items – Envoy Rule Verification/Setup</strong></td>
<td class="estimateheadings"><strong>Group 1 Estimate</strong></td>
<td class="estimateheadings">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to review the record matching and choice rules for the objects that will be in use in this implementation</td>
</tr>
<tr>
<td class="estimatedescriptions">Work with us through the testing process to make sure that the rules are working properly</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions">Work with the customer reviewing the rule sets for all the objects used for the implementation</td>
<td class="estimategreennumber">45</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">18</td>
<td class="estimategrayednumber">4</td>
<td class="estimategrayednumber">12</td>
<td class="estimategrayednumber">16</td>
</tr>
<tr>
<td class="estimatedescriptions">Make changes as needed to existing rule set (Envoy also has the ability to restrict data from being sent if it does not meet certain criteria – these type of rules are more likely to be added)</td>
<td class="estimategreennumber">20</td>
<td class="estimategrayednumber">8</td>
<td class="estimategrayednumber">14</td>
<td class="estimategrayednumber">3</td>
<td class="estimategrayednumber">9</td>
<td class="estimategrayednumber">12</td>
</tr>
<tr>
<td class="estimatedescriptions">Testing to make sure matching and choices are being made properly</td>
<td class="estimategreennumber">50</td>
<td class="estimategrayednumber">20</td>
<td class="estimategrayednumber">36</td>
<td class="estimategrayednumber">8</td>
<td class="estimategrayednumber">24</td>
<td class="estimategrayednumber">32</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber">115</td>
<td class="estimategrayednumber">38</td>
<td class="estimategrayednumber">68</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">45</td>
<td class="estimategrayednumber">60</td>
</tr>
</tbody>
</table>
<p>With Envoy, most of the more difficult review work will be in the Group 1 objects. This is because Group 1 includes all of the “base” objects that are the ones that get matched: LAInfo, SchoolInfo, LearnerPersonal, ContactPersonal and WorkforcePersonal. These objects will have the hierarchy of matching rules that need to be reviewed where the other objects will have simpler, more definitive rules (however, they will typically have many more of them). This is why the bulk of the hours show up in the estimate for Group 1.</p>
<blockquote><p>NOTE: At this point, it would be possible to connect a “Local Authority Level” SIF-enabled application to the consolidated zone (as we intend to do with Ipseity).</p>
</blockquote>
<p>&#160;</p>
<h2>Identity and Role Management</h2>
<p>Once records have been data quality checked and consolidated, information is passed to the Identity and Role Manager, Ipseity™ (formerly codename Sentry). This SIF agent will subscribe to several objects and publish one – by subscribing, it will receive all of the information it needs to create account names and most of the information it needs to assign roles to the applications it manages.</p>
<p>The following diagram gives an overall picture of where Ipseity fits into the overall architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseity" border="0" alt="SimsMimicVeracityEnvoyIpseity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Ipseity – Click image to show in full screen</em></font></p>
<p>As shown in this picture, Ipseity has not only a SIF interface, but also a web services interface. This interface was put in so that non-SIF applications could easily use it features such as:</p>
<ul>
<li><font size="2">Adding new users to the pool of users being managed, so that Ipseity can assign IDs that are consistent with the automatically managed IDs</font> </li>
<li><font size="2">Query the database of all users for {new/changed/deleted} users, which users are assigned to which schools, which users are assigned to what roles (in which schools), etc..</font> </li>
</ul>
<p>There are several web service calls supported by Ipseity that all return recordsets, making it simple for other applications to access data in its store either from the same location or remotely (through HTTPS). For more information on these facilities, see: <a href="http://www.sifsupport.com/wordpress/customer-previews-and-feedback/extending-identity-management-roles/" target="_blank">Extending Identity Management &#8211; Roles</a></p>
<h3>Subscribed Objects</h3>
<p>Ipseity will subscribe to the following objects:</p>
<ul>
<li>LAInfo </li>
<li>SchoolInfo </li>
<li>LearnerPersonal </li>
<li>LearnerSchoolEnrolment </li>
<li>WorkforcePersonal – this contains all information about teachers, including all schools at which they work. Some of these records <u>may</u> be skipped because their assignments might indicate that they have no computer interaction </li>
<li>ContactPersonal – this contains basic information about a parent or other contact. Some of these records will be ignored, such as those for after school programs or medical facilities that are stored in an MIS, but will not be needed in Ipseity for Identity or Role management purposes </li>
<li>LearnerContact – this links a contact record to a learner record </li>
</ul>
<h3>Published Object</h3>
<p>Ipseity will publish the following object:</p>
<ul>
<li>Identity – this will contain the identities it assigns, including AD account names, Shibboleth names, and initial passwords, etc. </li>
</ul>
<h3>Roles Being Managed</h3>
<p>At a minimum, roles for the products we are installing will need to be managed.</p>
<p>For example, ZIServer will need to be assigned people who will be able to create and manage zones, assign permissions and those who will have access to the audits. It might be the case that people in the schools may need access to the audits as well.</p>
<p>Veracity’s interface will need a similar administrator role, but it will also have interfaces for a person who creates business rules (someone who knows about school MIS data – probably not a system administrator), and several people in each school who will be using its interface to correct errors in data (these will probably not overlap with the other two at all).</p>
<p>Envoy will need an administrator, but will also need someone who oversees the business rules that govern how record matching is done and choices are made (this person is more of an analyst, not a systems administrator), but there will be nobody in the school who will have access.</p>
<blockquote><p>Question: In the following spreadsheet, it was indicated that the following roles are required for use by one or more Dell applications: </p>
<p>Original Excel file with edits:<a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMISroledatafieldswithSIFcodevalues5.xls">Sims MIS role data fields with SIF code values.xls</a></p>
<p>Would it be desirable to use Ipseity to manage these roles along with the roles for ZIServer, Veracity and Envoy? Users would be able to use the same interface and the applications would have access to the common web services interface.</p>
</blockquote>
<p>&#160;</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items – Ipseity Setup </strong></td>
<td class="estimateheadings"><strong>Per App&#160; Estimate</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to review the requirements for any new applications that will use the application</td>
</tr>
<tr>
<td class="estimatedescriptions">Work with us and schools to assign roles for our products</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions">Normal setup of application (included)</td>
<td class="estimategreennumber">0</td>
</tr>
<tr>
<td class="estimatedescriptions">Normal setup of application to work with our other applications (ZIServer, Veracity, Envoy) (included)</td>
<td class="estimategreennumber">0</td>
</tr>
<tr>
<td class="estimatedescriptions">Setup to work with third party application (each application, if any)</td>
<td class="estimategreennumber">25</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber">25</td>
</tr>
</tbody>
</table>
<p>Note: the setup of this application does not depend on the SIF objects being configured, so it will not vary from implementation to implementation.</p>
<h2>Consolidated Data Quality Checking / Reporting</h2>
<p>The final step in the process (or this could be swapped with the IDRM step) will be to set up a copy of Veracity that consolidates all data from all schools (and Ipseity) into a single database and performs another set of data quality rules on them.</p>
<p>The data quality rules that are run on this set of data should not be checking for the simple things that should have been remedied at the school, but rather other types of errors that show up when data from one school is combined with that from another.</p>
<p>An example might be: for a given learner we might see attendance records showing him attending both his morning and afternoon schools the same morning of the same day and this is not supposed to happen. Or, we see two children with completely different demographic information in different schools, but they have the same ULN.</p>
<p>The following diagram shows where this copy of Veracity is installed in the architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity_thumb.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Veracity (on consolidated data set) – Click image to show in full screen</em></font></p>
<p>This copy becomes a subscriber in the combined zone. Since Veracity’s database is effectively an Enterprise Data Store, we’ve found that it is very useful to other applications such as:</p>
<ul>
<li>Data Warehouses: these can sample the database on given intervals. Typically, the DW builds a series of views, stored procedures or compiled queries that get called on a regular basis that take a snapshot from our repository. </li>
<li>Reporting Application: tools such as SQL Reporting Services are used in districts to produced real-time reports on data that is collected from many sources. In our scenario, we are only collecting data from the MIS and from Ipseity, but in other places they may collect data from as many as 8 or 9 places. </li>
<li>Data Analysis: some use SQL Analysis in similar ways to perform data analysis on the Veracity database or a replicated snapshot. </li>
</ul>
<p>To view the database layout and to get an empty Veracity Database Backup, see: <a href="http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/" target="_blank">Veracity UK 1.2 Data</a></p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; Combined Veracity Copy</strong></td>
<td class="estimateheadings"><strong>Group 1 Estimate</strong></td>
<td class="estimateheadings">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to develop a set of data quality rules that reflect the data quality requirements of the combined dataset</td>
</tr>
<tr>
<td class="estimatedescriptions">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions"><em>(number of rules for objects in the group)</em></td>
<td class="estimategreennumber"><em>20</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>10</em></td>
</tr>
<tr>
<td class="estimatedescriptions">Implement rules in Veracity along with the user feedback</td>
<td class="estimategreennumber">40</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">20</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of rule configurations and create a school installation package</td>
<td class="estimategreennumber"><strong>10</strong></td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber">70</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">35</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<blockquote><h2>Data Warehouse Integration</h2>
<p>We would assume that if the Veracity database is to be integrated with an external database that we would be called on for support during the process. Based on interactions we’ve had with partners we have worked with before who have done similar activities, we would recommend addition an additional <strong>30 hours</strong> developer time to the estimate to accommodate this activity.</p>
</blockquote>
<h2>Summary</h2>
<p>This is an estimate; these hours are based on certain assumptions about a number of business rules that will be requested and a level of data cleanliness we will find when we see the actual data.</p>
<p>This could vary widely – the difference in the effort required for us to successfully integrate all these applications between locations where the data is carefully maintained and those where it isn’t can be huge (up to 50% of the project).&#160; This is why we suggest a step-by-step approach where the data quality issues are addressed in the first step, so that they will not haunt us in later steps.</p>
<p>We also use the strategy of giving tools to users in the first step that “make their life better”. One would think that Veracity “looking over their shoulder” would not fit into that category, but it can.</p>
<p>For example, if we were to encode their annual census rules into quality checks, it would give them a tool that allows them to see how close they are to not having any work to do next time a census is due – except to run a query against their local Veracity DB and export it – perhaps…</p>
<p>These estimates assume that the work would be able to be performed from our office through a connection such as a VPN tunnel. We found that working offsite (such as we did during the first POC) added about 80% to the length of time it took to do a given task (so 10 hours in our office working through a remote facility = 18 hours working at the Dell site).</p>
<p>This SOW is intended to be a working document – the comments facility is here to allow other team members to pose questions, make comments and give suggestions – please use it. Comments will first go through me (Rob Hutchison) for approval, so if you don’t want it to be seen by everyone, put “PRIVATE” on the first line and I won’t publish it for all. Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-cambridgeshire-poc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ipseity Web Service Interface Reference</title>
		<link>http://www.sifsupport.com/wordpress/dell-specific/ipseity-web-service-interface-documentation/</link>
		<comments>http://www.sifsupport.com/wordpress/dell-specific/ipseity-web-service-interface-documentation/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 18:20:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/dell-specific/ipseity-web-service-interface-documentation/</guid>
		<description><![CDATA[
 








.codedocheading {
	border: 1px solid #006600;
	background-color: #006600;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: medium;
	color: #ffffcc;
	text-align: center;
}
.codedoctablestyle {
	border-collapse: collapse;
	border: .75pt solid #006600;
	padding: 5;
}
.codedoccell {
	border: 1px solid #006600;
}
.codedoclabel {
	text-align: right;
	color: #ffffcc;
	background-color: #339933;
	border-style: solid;
	border-width: 1px;
	border-color: #ffffcc #ffffcc #ffffcc #006600;
}
.codesectionheader {
	background-color: #339933;
	color: #ffffcc;
	text-align: center;
	border-style: solid;
	border-width: 1px;
	border-color: #006600 #ffffcc #006600 #ffffcc;
}
		font.value { color: darkblue; font: bold; }
		.style3
    {
  [...]]]></description>
			<content:encoded><![CDATA[<p><meta content="en-us" http-equiv="Content-Language" /><meta content="text/html; charset=utf-8" http-equiv="Content-Type" /></p>
<p> <style type="text/css">








.codedocheading {
	border: 1px solid #006600;
	background-color: #006600;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: medium;
	color: #ffffcc;
	text-align: center;
}
.codedoctablestyle {
	border-collapse: collapse;
	border: .75pt solid #006600;
	padding: 5;
}
.codedoccell {
	border: 1px solid #006600;
}
.codedoclabel {
	text-align: right;
	color: #ffffcc;
	background-color: #339933;
	border-style: solid;
	border-width: 1px;
	border-color: #ffffcc #ffffcc #ffffcc #006600;
}
.codesectionheader {
	background-color: #339933;
	color: #ffffcc;
	text-align: center;
	border-style: solid;
	border-width: 1px;
	border-color: #006600 #ffffcc #006600 #ffffcc;
}
		font.value { color: darkblue; font: bold; }
		.style3
    {
        color: #ffffcc;
        text-align: center;
        border-left: 1px solid #ffffcc;
        border-right: 1px solid #ffffcc;
        border-top: 1px solid #006600;
        border-bottom: 1px solid #006600;
        background-color: #339933;
    }
    .style4
    {
        border: 1px solid #006600;
    }
    .style5
    {
        color: darkgreen;
    }
        .style2
        {
            height: 27px;
            border: 1px solid #006600;
        }
		.intro { margin-left: -15px; }
           
    .style6
    {
        color: #000000;
        font-family: verdana;
        margin-top: 0px;
        margin-bottom: 12px;
    }
		</style><br />
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Method LEGEND</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codesectionheader" colspan="5">Click on the name of a method to view that method&#8217;s description. </td>
</tr>
<tr>
<td class="codedoclabel" rowspan="5">Method&#160; <br />Names: </td>
<td class="codesectionheader" colspan="4">Method Name</td>
</tr>
<tr>
<td class="codedoccell"><strong><a href="#AddScope">AddScope</a> </strong></td>
<td class="style4"><strong><a href="#AddUser">AddUser</a> </strong></td>
<td class="style6"><strong><a href="#AssignUserToScope">AssignUserToScope</a> </strong></td>
<td class="codedoccell"><strong><a href="#AssignUserWithinScopeToPermission">AssignUserWithinScope              <br />ToPermission</a> </strong></td>
</tr>
<tr>
<td class="codedoccell"><strong><a href="#ChangeScope">ChangeScope</a> </strong></td>
<td class="style4"><strong><a href="#ChangeUser">ChangeUser</a> </strong></td>
<td class="style6"><strong><a href="#ChangeUserStatus">ChangeUserStatus</a> </strong></td>
<td class="codedoccell"><strong><a href="#DeleteScope">DeleteScope</a> </strong></td>
</tr>
<tr>
<td class="codedoccell"><strong><a href="#DeleteUser">DeleteUser</a> </strong></td>
<td class="style4"><strong><a href="#FindRoleAndScope">FindRoleAndScope</a> </strong></td>
<td class="style6"><strong><a href="#FindRoleAndScopeAndApp">FindRoleAndScopeAndApp</a> </strong></td>
<td class="codedoccell"><strong><a href="#FindUsersAndRolesAndApps">FindUsersAndRoles              <br />AndApps</a> </strong></td>
</tr>
<tr>
<td class="codedoccell"><strong><a href="#GetRecentUserInfo">GetRecentUserInfo</a></strong> </td>
<td class="style4"><strong><a href="#GetScopeInfo">GetScopeInfo</a></strong> </td>
<td class="style6"><strong><a href="#GetUserInfo">GetUserInfo</a></strong> </td>
<td class="codedoccell"><strong><a href="#RemoveUserFromScope">RemoveUserFromScope</a></strong> </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<hr />
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="GetRecentUserInfo"></a>GetRecentUserInfo</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function returns basic user information about the user when an identity and a timestamp are passed as arguments. A ~ should be passed for arguments not in use.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="9">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountName </strong></td>
<td class="style4">The name of the account for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopedAffiliation </strong></td>
<td class="style4">The AccountName of the user in a particular domain</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu@1234.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>PrincipalName </strong></td>
<td class="style4">The AccountName of the user in a particular domain</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu@123.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>TargetedId&#160; </strong></td>
<td class="style4">The unique, numeric identification for the user in a domain. Frequently a Shibboleth ID</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890@123.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>Status </strong></td>
<td class="style4">The current status of the user. ACTIVE, DELETED or PENDING</td>
<td class="codedoccell">String</td>
<td class="codedoccell">ACTIVE</td>
</tr>
<tr>
<td class="codedoccell"><strong>LastActionPerformed </strong></td>
<td class="style4">The last action performed on the account for the user. ADD, CHANGE or DELETE</td>
<td class="codedoccell">String</td>
<td class="codedoccell">ADD</td>
</tr>
<tr>
<td class="codedoccell"><strong>LastActionTimestamp </strong></td>
<td class="style4">The timestamp for LastActionPerformed. Formatted as &quot;yyyy&#8217;-'MM&#8217;-'dd&#8217; &#8216;HH&#8217;:'mm&#8217;:&#8217;ss.fff&quot;</td>
<td class="codedoccell">DateTime</td>
<td class="codedoccell">2010-07-14 13:51:34.563</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Returns a list of information pertaining to the account of the user</td>
<td class="codedoccell" colspan="2">For formatting see Response in the Direct Request/Response section</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/GetRecentUserInfo&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;GetRecentUserInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;TargetedID&gt;<font class="value">string</font>&lt;/TargetedID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160; &lt;/GetRecentUserInfo&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;GetRecentUserInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;TargetedID&gt;<font class="value">string</font>&lt;/TargetedID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160; &lt;/GetRecentUserInfo&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;GetRecentUserInfoResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;GetRecentUserInfoResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/GetRecentUserInfoResult&gt;             <br />&#160;&#160;&#160; &lt;/GetRecentUserInfoResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;GetRecentUserInfoResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;GetRecentUserInfoResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/GetRecentUserInfoResult&gt;             <br />&#160;&#160;&#160; &lt;/GetRecentUserInfoResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/GetRecentUserInfo HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">AccountName</font>=<font class="value">string</font>&amp;<font class="style5">ScopedAffiliation</font>=<font class="value">string</font>&amp;             <br /><font class="style5">PrincipalName</font>=<font class="value">string</font>&amp;<font class="style5">TargetedID</font>=<font class="value">string</font>&amp;<font class="style5">Status</font>=<font class="value">string</font>&amp;             <br /><font class="style5">LastActionPerformed</font>=<font class="value">string</font>&amp;<font class="style5">LastActionTimestamp</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;ArrayOfUserInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160; &lt;/UserInfo&gt;             <br />&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160; &lt;/UserInfo&gt;             <br />&lt;/ArrayOfUserInfo&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="AddScope"></a>AddScope</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function is used to add a new school.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="7">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="codesectionheader">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopeRefId </strong></td>
<td class="codedoccell">The unique GUID (32 hexadecimal characters) for the scope.</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>SchoolName </strong></td>
<td class="codedoccell">The name of the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Grassy Knoll Primary School</td>
</tr>
<tr>
<td class="codedoccell"><strong>ZoneName </strong></td>
<td class="codedoccell">The name of the zone the school is in</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Zone_1234_567</td>
</tr>
<tr>
<td class="codedoccell"><strong>LocalSchoolId </strong></td>
<td class="codedoccell">The unique, numeric identification for the school in the school district</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890</td>
</tr>
<tr>
<td class="codedoccell"><strong>OfficialCodeA </strong></td>
<td class="codedoccell">The official code of the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">789</td>
</tr>
<tr>
<td class="style2"><strong>OfficialCodeB </strong></td>
<td class="style2">The alternate official code of the school</td>
<td class="style2">String</td>
<td class="style2">9862</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="7">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets ScopeRefId to specified GUID or generates a unique GUID if a &quot;~&quot; is passed</td>
<td class="codedoccell" colspan="2">Sets value to 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets SchoolName to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Grassy Knoll Primary School</td>
</tr>
<tr>
<td style="height: 25px" class="codedoccell" colspan="2">Sets ZoneName to specified value</td>
<td style="height: 25px" class="codedoccell" colspan="2">Sets value to Zone_1234_567</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets LocalSchoolId to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 1234567890</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets OfficialCodeA to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 789</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets OfficialCodeB to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 9862</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="codedoccell">Returns &quot;SUCCESS:IDENTITY: ScopeRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the ScopeRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="codedoccell">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/AddScope&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AddScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolID&gt;<font class="value">string</font>&lt;/LocalSchoolID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;/AddScope&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;AddScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolID&gt;<font class="value">string</font>&lt;/LocalSchoolID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;/AddScope&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AddScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AddScopeResult&gt;<font class="value">string</font>&lt;/AddScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/AddScopeResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;AddScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AddScopeResult&gt;<font class="value">string</font>&lt;/AddScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/AddScopeResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/AddScope HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">ScopeRefId</font>=<font class="value">string</font>&amp;<font class="style5">SchoolName</font>=<font class="value">string</font>&amp;<font class="style5">ZoneName</font>=<font class="value">string</font>&amp;             <br /><font class="style5">LocalSchoolID</font>=<font class="value">string</font>&amp;<font class="style5"> OfficialCodeA</font>=<font class="value">string</font>&amp;<font class="style5">OfficialCodeB</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="AddUser"></a>AddUser</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function is used to add a new user.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="13">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountType </strong></td>
<td class="style4">The type of account for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">WORKFORCE</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountName </strong></td>
<td class="style4">The name of the account for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopedAffiliation </strong></td>
<td class="style4">The AccountName of the user in a particular domain</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu@123.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>PrincipalName </strong></td>
<td class="style4">The AccountName of the user in a particular domain</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu@123.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>TargetedId&#160; </strong></td>
<td class="style4">The unique, numeric identification for the user in a domain. Frequently a Shibboleth ID</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890@123.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>FirstName </strong></td>
<td class="style4">The given name for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will</td>
</tr>
<tr>
<td class="codedoccell"><strong>LastName </strong></td>
<td class="style4">The family name for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Wu</td>
</tr>
<tr>
<td class="codedoccell"><strong>Title </strong></td>
<td class="style4">The title given by a school district or a school for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Head Teacher</td>
</tr>
<tr>
<td class="codedoccell"><strong>LocalId </strong></td>
<td class="style4">The unique, numeric identification for the user in a school district or a school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890</td>
</tr>
<tr>
<td class="codedoccell"><strong>Email </strong></td>
<td class="style4">The email address of the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu@1234.345.edu</td>
</tr>
<tr>
<td class="style2"><strong>EmailNotification </strong></td>
<td class="style2">A value of TRUE or FALSE for whether the user&#8217;s email address should be notified</td>
<td class="style2">String</td>
<td class="style2">FALSE</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="14">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets AccountRefId to specified GUID or generates a unique GUID if a &quot;~&quot; is passed</td>
<td class="codedoccell" colspan="2">Sets value to 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets AccountType to specified value</td>
<td class="codedoccell" colspan="2">Sets value to WORKFORCE</td>
</tr>
<tr>
<td style="height: 25px" class="codedoccell" colspan="2">Sets AccountName to specified value</td>
<td style="height: 25px" class="codedoccell" colspan="2">Sets value to Will.Wu</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets ScopedAffiliation to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Will.Wu@123.eng.ukfed.org.uk</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets PrincipalName to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Will.Wu@123.eng.ukfed.org.uk</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets TargetedId to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 1234567@123.eng.ukfed.org.uk</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets FirstName to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Will</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets LastName to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Wu</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets Title to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Head Teacher</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets LocalId to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 1234567890</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets Email to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Will.Wu@1234.345.edu</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets EmailNotification to specified value</td>
<td class="codedoccell" colspan="2">Sets value to FALSE</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets Status to PENDING</td>
<td class="codedoccell" colspan="2">Sets value to PENDING</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/AddUser&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AddUser xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;TargetedID&gt;<font class="value">string</font>&lt;/TargetedID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;EMailNotification&gt;<font class="value">string</font>&lt;/EMailNotification&gt;             <br />&#160;&#160;&#160; &lt;/AddUser&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;AddUser xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;TargetedID&gt;<font class="value">string</font>&lt;/TargetedID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;EMailNotification&gt;<font class="value">string</font>&lt;/EMailNotification&gt;             <br />&#160;&#160;&#160; &lt;/AddUser&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AddUserResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AddUserResult&gt;<font class="value">string</font>&lt;/AddUserResult&gt;             <br />&#160;&#160;&#160; &lt;/AddUserResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;AddUserResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AddUserResult&gt;<font class="value">string</font>&lt;/AddUserResult&gt;             <br />&#160;&#160;&#160; &lt;/AddUserResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/AddUser HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">AccountType</font>=<font class="value">string</font>&amp;<font class="style5">AccountName</font>=<font class="value">string</font>&amp;             <br /><font class="style5">ScopedAffiliation</font>=<font class="value">string</font>&amp;<font class="style5">PrincipalName</font>=<font class="value">string</font>&amp;<font class="style5">TargetedID</font>=<font class="value">string</font>&amp;             <br /><font class="style5">FirstName</font>=<font class="value">string</font>&amp;<font class="style5">LastName</font>=<font class="value">string</font>&amp;<font class="style5">Title</font>=<font class="value">string</font>&amp;<font class="style5">LocalId</font>=<font class="value">string</font>&amp;             <br /><font class="style5">Email</font>=<font class="value">string</font>&amp;<font class="style5">EMailNotification</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="AssignUserToScope"></a>AssignUserToScope</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function is used to assign a user to a school.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>SchoolInfoRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Establishes a relationship between a user and a school</td>
<td class="codedoccell" colspan="2">Creates record for AccountRefId 1234567890ABCDEF1234567890ABCDEF with SchoolInfoRefId 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/AssignUserToScope&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AssignUserToScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;/AssignUserToScope&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;AssignUserToScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;/AssignUserToScope&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AssignUserToScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AssignUserToScopeResult&gt;<font class="value">string</font>&lt;/AssignUserToScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/AssignUserToScopeResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;AssignUserToScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AssignUserToScopeResult&gt;<font class="value">string</font>&lt;/AssignUserToScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/AssignUserToScopeResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12HTTP Post Request             <br /></span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4">POST /IDMService.asmx/AssignUserToScope HTTP/1.1          <br />Host: localhost           <br />Content-Type: application/x-www-form-urlencoded           <br />Content-Length: <font class="value">length</font>           </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">SchoolInfoRefId</font>=<font class="value">string</font> </td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5"></td>
</tr>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="AssignUserWithinScopeToPermission"></a>AssignUserWithinScopeToPermission</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function is used to assign permission to a user from a school. A valid AccountRefId, SchoolInfoRefId and ScopeRefId must be passed.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="5">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>SchoolInfoRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopeRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the scope</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>PermissionsRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user in the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Establishes a relationship between a user and a scope</td>
<td class="codedoccell" colspan="2">Creates record for AccountRefId 1234567890ABCDEF1234567890ABCDEF with ScopeRefId 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets PermissionsRefId to specified GUID or generates a unique GUID if a &quot;~&quot; is passed</td>
<td class="codedoccell" colspan="2">Sets value to 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: PermissionsRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the PermissionsRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/AssignUserWithinScopeToPermission&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AssignUserWithinScopeToPermission xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PermissionsRefId&gt;<font class="value">string</font>&lt;/PermissionsRefId&gt;             <br />&#160;&#160;&#160; &lt;/AssignUserWithinScopeToPermission&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;AssignUserWithinScopeToPermission xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PermissionsRefId&gt;<font class="value">string</font>&lt;/PermissionsRefId&gt;             <br />&#160;&#160;&#160; &lt;/AssignUserWithinScopeToPermission&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AssignUserWithinScopeToPermissionResponse             <br />&#160;&#160;&#160;&#160;&#160; xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AssignUserWithinScopeToPermissionResult&gt;<font class="value">string              <br />&#160;&#160;&#160;&#160;&#160; </font>&lt;/AssignUserWithinScopeToPermissionResult&gt;             <br />&#160;&#160;&#160; &lt;/AssignUserWithinScopeToPermissionResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;AssignUserWithinScopeToPermissionResponse             <br />&#160;&#160;&#160;&#160;&#160; xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AssignUserWithinScopeToPermissionResult&gt;<font class="value">string              <br />&#160;&#160;&#160;&#160;&#160; </font>&lt;/AssignUserWithinScopeToPermissionResult&gt;             <br />&#160;&#160;&#160; &lt;/AssignUserWithinScopeToPermissionResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/AssignUserWithinScopeToPermission HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">SchoolInfoRefId</font>=<font class="value">string</font>&amp;<font class="style5">ScopeRefId</font>=<font class="value">string</font>&amp;             <br /><font class="style5">PermissionsRefId</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="ChangeScope"></a>ChangeScope</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function is used to change an existing scope. A &quot;~&quot; should be used to indicate a field that is explicitly set to null.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="7">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="codesectionheader">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopeRefId </strong></td>
<td class="codedoccell">The unique GUID (32 hexadecimal characters) for the scope</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>SchoolName </strong></td>
<td class="codedoccell">The name of the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Grassy Knoll Primary School</td>
</tr>
<tr>
<td class="codedoccell"><strong>ZoneName </strong></td>
<td class="codedoccell">The name of the zone the school is in</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Zone_1234_567</td>
</tr>
<tr>
<td class="codedoccell"><strong>LocalSchoolId </strong></td>
<td class="codedoccell">The unique, numeric identification for the school in the school district</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890</td>
</tr>
<tr>
<td class="codedoccell"><strong>OfficialCodeA </strong></td>
<td class="codedoccell">The official code of the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">789</td>
</tr>
<tr>
<td class="style2"><strong>OfficialCodeB </strong></td>
<td class="style2">The alternate official code of the school</td>
<td class="style2">String</td>
<td class="style2">9862</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="6">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Changes SchoolName to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Blue Hill Primary School</td>
</tr>
<tr>
<td style="height: 25px" class="codedoccell" colspan="2">Sets ZoneName to specified value</td>
<td style="height: 25px" class="codedoccell" colspan="2">Sets value to Zone_7654_321</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets LocalSchoolId to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 9876543210</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets OfficialCodeA to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 543</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets OfficialCodeB to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 7742</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="codedoccell">Returns &quot;SUCCESS:IDENTITY: ScopeRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the ScopeRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="codedoccell">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/ChangeScope&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;AddScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolID&gt;<font class="value">string</font>&lt;/LocalSchoolID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;/ChangeScope&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolID&gt;<font class="value">string</font>&lt;/LocalSchoolID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;/ChangeScope&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ChangeScopeResult&gt;<font class="value">string</font>&lt;/ChangeScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/ChangeScopeResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ChangeScopeResult&gt;<font class="value">string</font>&lt;/ChangeScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/ChangeScopeResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/ChangeScope HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">ScopeRefId</font>=<font class="value">string</font>&amp;<font class="style5">SchoolName</font>=<font class="value">string</font>&amp;<font class="style5">ZoneName</font>=<font class="value">string</font>&amp;<font class="style5">              <br />LocalSchoolID</font>=<font class="value">string</font>&amp;<font class="style5">OfficialCodeA</font>=<font class="value">string</font>&amp;<font class="style5">OfficialCodeB</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="ChangeUser"></a>ChangeUser</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function is used to change an existing user. A ~ should be used to indicate a field that is explicitly set to null. </span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="13">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567          <br />890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountType </strong></td>
<td class="style4">The type of account for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">LEARNER</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountName </strong></td>
<td class="style4">The name of the account for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Bill.Zu</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopedAffiliation </strong></td>
<td class="style4">The AccountName of the user in a particular domain</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Bill.Zu@123.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>PrincipalName </strong></td>
<td class="style4">The AccountName of the user in a particular domain</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Bill.Zu@123.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>TargetedId&#160; </strong></td>
<td class="style4">The unique, numeric identification for the user in a domain. Frequently a Shibboleth ID</td>
<td class="codedoccell">String</td>
<td class="codedoccell">9876543210@123.eng.ukfed          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>FirstName </strong></td>
<td class="style4">The given name for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Bill</td>
</tr>
<tr>
<td class="codedoccell"><strong>LastName </strong></td>
<td class="style4">The family name for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Zu</td>
</tr>
<tr>
<td class="codedoccell"><strong>Title </strong></td>
<td class="style4">The title given by a school district or a school for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Learner</td>
</tr>
<tr>
<td class="codedoccell"><strong>LocalId </strong></td>
<td class="style4">The unique, numeric identification for the user in a school district or a school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">9876543210</td>
</tr>
<tr>
<td class="codedoccell"><strong>Email </strong></td>
<td class="style4">The email address of the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Bill.Zu@1234.345.edu</td>
</tr>
<tr>
<td class="style2"><strong>EmailNotification </strong></td>
<td class="style2">A value of TRUE or FALSE for whether the user&#8217;s email address should be notified</td>
<td class="style2">String</td>
<td class="style2">TRUE</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets AccountType to specified value</td>
<td class="codedoccell" colspan="2">Sets value to LEARNER</td>
</tr>
<tr>
<td style="height: 25px" class="codedoccell" colspan="2">Sets AccountName to specified value</td>
<td style="height: 25px" class="codedoccell" colspan="2">Sets value to Bill.Zu</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets ScopedAffiliation to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Bill.Zu@123.eng.ukfed.org.uk</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets PrincipalName to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Bill.Zu@123.eng.ukfed.org.uk</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets TargetedId to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 9876543210@123.eng.ukfed.org.uk</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets FirstName to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Bill</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets LastName to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Zu</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets Title to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Learner</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets LocalId to specified value</td>
<td class="codedoccell" colspan="2">Sets value to 9876543210</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets Email to specified value</td>
<td class="codedoccell" colspan="2">Sets value to Bill.Zu@1234.345.edu</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Sets EmailNotification to specified value</td>
<td class="codedoccell" colspan="2">Sets value to TRUE</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/ChangeUser&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeUser xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;TargetedID&gt;<font class="value">string</font>&lt;/TargetedID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;EMailNotification&gt;<font class="value">string</font>&lt;/EMailNotification&gt;             <br />&#160;&#160;&#160; &lt;/ChangeUser&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeUser xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;TargetedID&gt;<font class="value">string</font>&lt;/TargetedID&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;EMailNotification&gt;<font class="value">string</font>&lt;/EMailNotification&gt;             <br />&#160;&#160;&#160; &lt;/ChangeUser&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeUserResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ChangeUserResult&gt;<font class="value">string</font>&lt;/ChangeUserResult&gt;             <br />&#160;&#160;&#160; &lt;/ChangeUserResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeUserResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ChangeUserResult&gt;<font class="value">string</font>&lt;/ChangeUserResult&gt;             <br />&#160;&#160;&#160; &lt;/ChangeUserResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/ChangeUser HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">AccountType</font>=<font class="value">string</font>&amp;<font class="style5">AccountName</font>=<font class="value">string</font>&amp;<font class="style5">ScopedAffiliation</font>=<font class="value">string</font>&amp;<font class="style5">              <br />PrincipalName</font>=<font class="value">string</font>&amp;<font class="style5">TargetedID</font>=<font class="value">string</font>&amp;<font class="style5">FirstName</font>=<font class="value">string</font>&amp;<font class="style5">LastName</font>=<font class="value">string</font>&amp;<font class="style5">Title</font>=<font class="value">string</font>&amp;<font class="style5">              <br />LocalId</font>=<font class="value">string</font>&amp;<font class="style5">Email</font>=<font class="value">string</font>&amp;<font class="style5">EMailNotification</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP 1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="ChangeUserStatus"></a>ChangeUserStatus</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function is used to change the status of a user. A valid AccountRefId and Status are required to be passed.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>Status </strong></td>
<td class="style4">The desired status of the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">ACTIVE</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="4">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Changes status of the user to ACTIVE if Status is passed as ACTIVE</td>
<td class="codedoccell" colspan="2">Changes Status to ACTIVE for the AccountRefId of 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Changes status of the user to DELETED if Status is passed as DELETED</td>
<td class="codedoccell" colspan="2">Changes Status to DELETED for the AccountRefId of 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Changes status of permissions associated with the user to DELETED if Status is passed as DELETED</td>
<td class="codedoccell" colspan="2">Changes Status to DELETED for all records in tblAccountPermissions with the AccountRefId of 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/ChangeUserStatus&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeUserStatus xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160; &lt;/ChangeUserStatus&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeUserStatus xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160; &lt;/ChangeUserStatus&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeUserStatusResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ChangeUserStatusResult /&gt;             <br />&#160;&#160;&#160; &lt;/ChangeUserStatusResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;ChangeUserStatusResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ChangeUserStatusResult /&gt;             <br />&#160;&#160;&#160; &lt;/ChangeUserStatusResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/ChangeUserStatus HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">Status</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;anyType xmlns=&quot;http://www.sifsupport.com/&quot; /&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="DeleteScope"></a>DeleteScope</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4">This function is used to Delete an existing scope.</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="codesectionheader">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopeRefId </strong></td>
<td class="codedoccell">The unique GUID (32 hexadecimal characters) for the scope</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Deletes ScopeRefId with the specified GUID</td>
<td class="codedoccell" colspan="2">Deletes GUID of 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="codedoccell">Returns &quot;SUCCESS:IDENTITY: ScopeRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the ScopeRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="codedoccell">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/DeleteScope&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;DeleteScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160; &lt;/DeleteScope&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;DeleteScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160; &lt;/DeleteScope&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;DeleteScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;DeleteScopeResult&gt;<font class="value">string</font>&lt;/DeleteScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/DeleteScopeResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;DeleteScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;DeleteScopeResult&gt;<font class="value">string</font>&lt;/DeleteScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/DeleteScopeResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/DeleteScope HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">ScopeRefId</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="DeleteUser"></a>DeleteUser</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4">This function is used to Delete an existing user.</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="codesectionheader">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId</strong></td>
<td class="codedoccell">The unique GUID (32 hexadecimal characters) for the scope</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Changes Status of AccountRefId with the specified GUID to DELETED</td>
<td class="codedoccell" colspan="2">Status changed to DELETED for AccountRefId of 1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="codedoccell">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="codedoccell">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/DeleteUser&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;DeleteUser xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;/DeleteUser&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;DeleteUser xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;/DeleteUser&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;DeleteUserResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;DeleteUserResult&gt;<font class="value">string</font>&lt;/DeleteUserResult&gt;             <br />&#160;&#160;&#160; &lt;/DeleteUserResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;DeleteUserResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;DeleteUserResult&gt;<font class="value">string</font>&lt;/DeleteUserResult&gt;             <br />&#160;&#160;&#160; &lt;/DeleteUserResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/DeleteScope HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">ScopeRefId</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="FindRoleAndScope"></a>FindRoleAndScope</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function returns the specified user&#8217;s role in the specified application and the scope to which the user has this role. Application may be specified by RefId or by name &#8211; Use ~ in the field that is not used.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="4">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>ApplicationRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>AppName </strong></td>
<td class="style4">The name of the application</td>
<td class="codedoccell">String</td>
<td class="codedoccell">ZIAgent</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Returns a list of information pertaining to the role and scope of the user</td>
<td class="codedoccell" colspan="2">For formatting see Response in the Direct Request/Response section</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/FindRoleAndScope&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;FindRoleAndScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160; &lt;/FindRoleAndScope&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;FindRoleAndScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160; &lt;/FindRoleAndScope&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;FindRoleAndScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FindRoleAndScopeResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;RoleScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/RoleScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;RoleScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/RoleScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/FindRoleAndScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/FindRoleAndScopeResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;FindRoleAndScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FindRoleAndScopeResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;RoleScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/RoleScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;RoleScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/RoleScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/FindRoleAndScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/FindRoleAndScopeResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/FindRoleAndScope HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">ApplicationRefId</font>=<font class="value">string</font>&amp;<font class="style5">AppName</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;ArrayOfRoleScopeInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160; &lt;RoleScopeInfo&gt;             <br />&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160; &lt;/RoleScopeInfo&gt;             <br />&#160; &lt;RoleScopeInfo&gt;             <br />&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160; &lt;/RoleScopeInfo&gt;             <br />&lt;/ArrayOfRoleScopeInfo&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="FindRoleAndScopeAndApp"></a>FindRoleAndScopeAndApp</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function returns specified user&#8217;s role in the specified scope (school) for the specified application today.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Returns a list of information pertaining to the role, the application to which the role belongs and the scope of the user</td>
<td class="codedoccell" colspan="2">For formatting see Response in the Direct Request/Response section</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/FindRoleAndScopeAndApp&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;FindRoleAndScopeAndApp xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;/FindRoleAndScopeAndApp&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;FindRoleAndScopeAndApp xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;/FindRoleAndScopeAndApp&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;FindRoleAndScopeAndAppResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FindRoleAndScopeAndAppResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/FindRoleAndScopeAndAppResult&gt;             <br />&#160;&#160;&#160; &lt;/FindRoleAndScopeAndAppResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;FindRoleAndScopeAndAppResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FindRoleAndScopeAndAppResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/FindRoleAndScopeAndAppResult&gt;             <br />&#160;&#160;&#160; &lt;/FindRoleAndScopeAndAppResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/FindRoleAndScopeAndApp HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;ArrayOfRoleScopeAppInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160; &lt;RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160; &lt;/RoleScopeAppInfo&gt;             <br />&#160; &lt;RoleScopeAppInfo&gt;             <br />&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160; &lt;/RoleScopeAppInfo&gt;             <br />&lt;/ArrayOfRoleScopeAppInfo&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="FindUsersAndRolesAndApps"></a>FindUsersAndRolesAndApps</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>
<p>This function returns specified scope&#8217;s users, users&#8217; role in the specified scope (school) and applications in the specified scope today. Scope may be specified by SchoolInfoRefId or by ZoneName &#8211; Use ~ in the field that is not used.</p>
</p>
<p>         </span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>SchoolInfoRefId</strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>ZoneName</strong></td>
<td class="style4">The name of the zone the school is in</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Zone_1234_567</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Returns a list of information pertaining to the users, the user&#8217;s roles and the applications to which the roles belongs</td>
<td class="codedoccell" colspan="2">For formatting see Response in the Direct Request/Response section</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: X&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the specified identifier</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/FindUsersAndRolesAndApps&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;FindUsersAndRolesAndApps xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160; &lt;/FindUsersAndRolesAndApps&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;FindUsersAndRolesAndApps xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160; &lt;/FindUsersAndRolesAndApps&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;FindUsersAndRolesAndAppsResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FindUsersAndRolesAndAppsResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserRoleAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserRoleAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserRoleAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserRoleAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/FindUsersAndRolesAndAppsResult&gt;             <br />&#160;&#160;&#160; &lt;/FindUsersAndRolesAndAppsResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;FindUsersAndRolesAndAppsResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;FindUsersAndRolesAndAppsResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserRoleAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserRoleAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserRoleAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserRoleAppInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/FindUsersAndRolesAndAppsResult&gt;             <br />&#160;&#160;&#160; &lt;/FindUsersAndRolesAndAppsResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/FindUsersAndRolesAndApps HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">SchoolInfoRefId</font>=<font class="value">string</font>&amp;<font class="style5">ZoneName</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;ArrayOfUserRoleAppInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160; &lt;UserRoleAppInfo&gt;             <br />&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160; &lt;/UserRoleAppInfo&gt;             <br />&#160; &lt;UserRoleAppInfo&gt;             <br />&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;Role&gt;<font class="value">string</font>&lt;/Role&gt;             <br />&#160;&#160;&#160; &lt;ApplicationRefId&gt;<font class="value">string</font>&lt;/ApplicationRefId&gt;             <br />&#160;&#160;&#160; &lt;AppName&gt;<font class="value">string</font>&lt;/AppName&gt;             <br />&#160;&#160;&#160; &lt;StartDate&gt;<font class="value">dateTime</font>&lt;/StartDate&gt;             <br />&#160;&#160;&#160; &lt;EndDate&gt;<font class="value">dateTime</font>&lt;/EndDate&gt;             <br />&#160; &lt;/UserRoleAppInfo&gt;             <br />&lt;/ArrayOfUserRoleAppInfo&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="GetUserInfo"></a>GetUserInfo</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function returns basic user information about the user when an identity is passed as an argument. A ~ should be passed for arguments not in use.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="6">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountName </strong></td>
<td class="style4">The name of the account for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopedAffiliation </strong></td>
<td class="style4">The AccountName of the user in a particular domain</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu@123.eng.ukfederation.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>PrincipalName </strong></td>
<td class="style4">The AccountName of the user in a particular domain</td>
<td class="codedoccell">String</td>
<td class="codedoccell">Will.Wu@123.eng.ukfederation.org.uk</td>
</tr>
<tr>
<td class="codedoccell"><strong>TargetedId&#160; </strong></td>
<td class="style4">The unique, numeric identification for the user in a domain. Frequently a Shibboleth ID</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890@123.eng.ukfederation          <br />.org.uk</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Returns a list of information pertaining to the account of the user</td>
<td class="codedoccell" colspan="2">For formatting see Response in the Direct Request/Response section</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/GetUserInfo&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;GetUserInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;TargetedID&gt;<font class="value">string</font>&lt;/TargetedID&gt;             <br />&#160;&#160;&#160; &lt;/GetUserInfo&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;GetUserInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;TargetedID&gt;<font class="value">string</font>&lt;/TargetedID&gt;             <br />&#160;&#160;&#160; &lt;/GetUserInfo&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;GetUserInfoResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;GetUserInfoResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/GetUserInfoResult&gt;             <br />&#160;&#160;&#160; &lt;/GetUserInfoResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;GetUserInfoResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;GetUserInfoResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/UserInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/GetUserInfoResult&gt;             <br />&#160;&#160;&#160; &lt;/GetUserInfoResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/GetUserInfo HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">AccountName</font>=<font class="value">string</font>&amp;<font class="style5">ScopedAffiliation</font>=<font class="value">string</font>&amp;<font class="style5">              <br />PrincipalName</font>=<font class="value">string</font>&amp;<font class="style5">TargetedID</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;ArrayOfUserInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160; &lt;/UserInfo&gt;             <br />&#160; &lt;UserInfo&gt;             <br />&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160; &lt;AccountName&gt;<font class="value">string</font>&lt;/AccountName&gt;             <br />&#160;&#160;&#160; &lt;ScopedAffiliation&gt;<font class="value">string</font>&lt;/ScopedAffiliation&gt;             <br />&#160;&#160;&#160; &lt;PrincipalName&gt;<font class="value">string</font>&lt;/PrincipalName&gt;             <br />&#160;&#160;&#160; &lt;TargetedId&gt;<font class="value">string</font>&lt;/TargetedId&gt;             <br />&#160;&#160;&#160; &lt;LocalId&gt;<font class="value">string</font>&lt;/LocalId&gt;             <br />&#160;&#160;&#160; &lt;AccountType&gt;<font class="value">string</font>&lt;/AccountType&gt;             <br />&#160;&#160;&#160; &lt;FirstName&gt;<font class="value">string</font>&lt;/FirstName&gt;             <br />&#160;&#160;&#160; &lt;LastName&gt;<font class="value">string</font>&lt;/LastName&gt;             <br />&#160;&#160;&#160; &lt;Title&gt;<font class="value">string</font>&lt;/Title&gt;             <br />&#160;&#160;&#160; &lt;Email&gt;<font class="value">string</font>&lt;/Email&gt;             <br />&#160;&#160;&#160; &lt;EmailNotification&gt;<font class="value">string</font>&lt;/EmailNotification&gt;             <br />&#160;&#160;&#160; &lt;Status&gt;<font class="value">string</font>&lt;/Status&gt;             <br />&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160; &lt;/UserInfo&gt;             <br />&lt;/ArrayOfUserInfo&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="GetScopeInfo"></a>GetScopeInfo</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function returns basic information about the school whose ID is passed as one of the arguments. A ~ should be passed for arguments not in use.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="5">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="codesectionheader">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>ScopeRefId </strong></td>
<td class="codedoccell">The unique GUID (32 hexadecimal characters) for the scope.</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>LocalSchoolId </strong></td>
<td class="codedoccell">The unique, numeric identification for the school in the school district</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890</td>
</tr>
<tr>
<td class="codedoccell"><strong>OfficialCodeA </strong></td>
<td class="codedoccell">The official code of the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">789</td>
</tr>
<tr>
<td class="style2"><strong>OfficialCodeB </strong></td>
<td class="style2">The alternate official code of the school</td>
<td class="style2">String</td>
<td class="style2">9862</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Returns a list of information pertaining to the account of the user</td>
<td class="codedoccell" colspan="2">For formatting see Response in the Direct Request/Response section</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="codedoccell">Returns &quot;SUCCESS:IDENTITY: ScopeRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the ScopeRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail:</td>
<td class="codedoccell">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/GetScopeInfo&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;GetScopeInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;/GetScopeInfo&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;GetScopeInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;ScopeRefId&gt;<font class="value">string</font>&lt;/ScopeRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeA&gt;<font class="value">string</font>&lt;/OfficialCodeA&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;OfficialCodeB&gt;<font class="value">string</font>&lt;/OfficialCodeB&gt;             <br />&#160;&#160;&#160; &lt;/GetScopeInfo&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;GetScopeInfoResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;GetScopeInfoResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/ScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/ScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/GetScopeInfoResult&gt;             <br />&#160;&#160;&#160; &lt;/GetScopeInfoResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;GetScopeInfoResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;GetScopeInfoResult&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/ScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/ScopeInfo&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;/GetScopeInfoResult&gt;             <br />&#160;&#160;&#160; &lt;/GetScopeInfoResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/GetScopeInfo HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">ScopeRefId</font>=<font class="value">string</font>&amp;<font class="style5">LocalSchoolId</font>=<font class="value">string</font>&amp;<font class="style5">OfficialCodeA</font>=<font class="value">string</font>&amp;<font class="style5">              <br />OfficialCodeB</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;ArrayOfScopeInfo xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160; &lt;ScopeInfo&gt;             <br />&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160; &lt;/ScopeInfo&gt;             <br />&#160; &lt;ScopeInfo&gt;             <br />&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;SchoolName&gt;<font class="value">string</font>&lt;/SchoolName&gt;             <br />&#160;&#160;&#160; &lt;ZoneName&gt;<font class="value">string</font>&lt;/ZoneName&gt;             <br />&#160;&#160;&#160; &lt;LocalSchoolId&gt;<font class="value">string</font>&lt;/LocalSchoolId&gt;             <br />&#160;&#160;&#160; &lt;LastActionPerformed&gt;<font class="value">string</font>&lt;/LastActionPerformed&gt;             <br />&#160;&#160;&#160; &lt;LastActionTimestamp&gt;<font class="value">dateTime</font>&lt;/LastActionTimestamp&gt;             <br />&#160; &lt;/ScopeInfo&gt;             <br />&lt;/ArrayOfScopeInfo&gt;</span></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table style="font-style: normal; width: 100%; font-family: verdana, geneva, tahoma, sans-serif; font-size: small" class="codedoctablestyle" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td class="codedocheading" colspan="5">Web Service Function Definition</td>
</tr>
<tr class="codedoccell">
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel">Method Name:</td>
<td class="codedoccell" colspan="4"><strong><a name="RemoveUserFromScope"></a>RemoveUserFromScope</strong></td>
</tr>
<tr>
<td class="codedoclabel">Purpose:</td>
<td class="codedoccell" colspan="4"><span>This function is used to remove a user from a school. A valid AccountRefId and SchoolInfoRefId must be passed.</span></td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Parameters:</td>
<td class="codesectionheader">Name</td>
<td class="style3">Description</td>
<td class="codesectionheader">Type</td>
<td class="codesectionheader">Example</td>
</tr>
<tr>
<td class="codedoccell"><strong>AccountRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the user</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell"><strong>SchoolInfoRefId </strong></td>
<td class="style4">The unique GUID (32 hexadecimal characters) for the school</td>
<td class="codedoccell">String</td>
<td class="codedoccell">1234567890ABCDEF1234567890ABCDEF</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="2">Actions Taken:</td>
<td class="codesectionheader" colspan="2">Action</td>
<td class="codesectionheader" colspan="2">Example</td>
</tr>
<tr>
<td class="codedoccell" colspan="2">Deletes record where there a relationship between the specified AccountRefId and the specified SchoolInfoRefId</td>
<td class="codedoccell" colspan="2">Deletes record where AccountRefId 1234567890ABCDEF1234567890ABCDEF and SchoolInfoRefId 1234567890ABCDEF1234567890ABCDEF are in the same record</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="3">Return Value:</td>
<td class="codesectionheader" colspan="2">Value Returned</td>
<td class="codesectionheader" colspan="2">Comments</td>
</tr>
<tr>
<td class="codedoccell">On success:</td>
<td class="style4">Returns &quot;SUCCESS:IDENTITY: AccountRefId&quot;</td>
<td class="codedoccell" colspan="2">Following the &quot;IDENTITY:&quot; should be the AccountRefId</td>
</tr>
<tr>
<td class="codedoccell">On fail: </td>
<td class="style4">Returns &quot;FAILURE:…</td>
<td class="codedoccell" colspan="2">Following the &quot;FAILURE:&quot; should be a descriptive message of the error</td>
</tr>
<tr>
<td class="codedoccell" colspan="5">&#160;</td>
</tr>
<tr>
<td class="codedoclabel" rowspan="12">Direct          <br />Request/           <br />Response</td>
<td class="codesectionheader" colspan="4">SOAP 1.1 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             <br />SOAPAction: &quot;http://www.sifsupport.com/RemoveUserFromScope&quot;             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;RemoveUserFromScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;/RemoveUserFromScope&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;RemoveUserFromScope xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;AccountRefId&gt;<font class="value">string</font>&lt;/AccountRefId&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;SchoolInfoRefId&gt;<font class="value">string</font>&lt;/SchoolInfoRefId&gt;             <br />&#160;&#160;&#160; &lt;/RemoveUserFromScope&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.1 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;             <br />&#160; &lt;soap:Body&gt;             <br />&#160;&#160;&#160; &lt;RemoveUserFromScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;RemoveUserFromScopeResult&gt;<font class="value">string</font>&lt;/RemoveUserFromScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/RemoveUserFromScopeResponse&gt;             <br />&#160; &lt;/soap:Body&gt;             <br />&lt;/soap:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">SOAP 1.2 Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: application/soap+xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;soap12:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;             <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;             <br />xmlns:soap12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;             <br />&#160; &lt;soap12:Body&gt;             <br />&#160;&#160;&#160; &lt;RemoveUserFromScopeResponse xmlns=&quot;http://www.sifsupport.com/&quot;&gt;             <br />&#160;&#160;&#160;&#160;&#160; &lt;RemoveUserFromScopeResult&gt;<font class="value">string</font>&lt;/RemoveUserFromScopeResult&gt;             <br />&#160;&#160;&#160; &lt;/RemoveUserFromScopeResponse&gt;             <br />&#160; &lt;/soap12:Body&gt;             <br />&lt;/soap12:Envelope&gt;</span></td>
</tr>
<tr>
<td class="codesectionheader" colspan="4">HTTP Post Request</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>POST /IDMService.asmx/RemoveUserFromScope HTTP/1.1            <br />Host: localhost             <br />Content-Type: application/x-www-form-urlencoded             <br />Content-Length: <font class="value">length</font>             </p>
<p><font class="style5">AccountRefId</font>=<font class="value">string</font>&amp;<font class="style5">SchoolInfoRefId</font>=<font class="value">string</font></span></td>
</tr>
<tr class="codesectionheader">
<td class="codedoccell" colspan="4">HTTP Response</td>
</tr>
<tr>
<td class="codedoccell" colspan="4"><span>HTTP/1.1 200 OK            <br />Content-Type: text/xml; charset=utf-8             <br />Content-Length: <font class="value">length</font>             </p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;             <br />&lt;string xmlns=&quot;http://www.sifsupport.com/&quot;&gt;<font class="value">string</font>&lt;/string&gt;</span></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/dell-specific/ipseity-web-service-interface-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Active Directory Web Service</title>
		<link>http://www.sifsupport.com/wordpress/active-directory-web-service/</link>
		<comments>http://www.sifsupport.com/wordpress/active-directory-web-service/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 17:47:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/active-directory-web-service/</guid>
		<description><![CDATA[Introduction
The Active Directory Web Service is the component of ZIAgent AD which is responsible for directly interacting with Active Directory. This document explains each of the methods of this web-service in detail.
RenameAccount
Purpose
Used to change the name of an pre-existing account. This is most commonly used to accomodate situations where account names are based on a [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>The <strong>Active Directory Web Service</strong> is the component of ZIAgent AD which is responsible for directly interacting with Active Directory. This document explains each of the methods of this web-service in detail.</p>
<h2>RenameAccount</h2>
<h3>Purpose</h3>
<p>Used to change the name of an pre-existing account. This is most commonly used to accomodate situations where account names are based on a user&#8217;s first and/or last name.</p>
<h3>Parameters</h3>
<ul>
<li>OldCN: The container name of the existing account. Example: Michael.Shea </li>
<li>NewCN: The desired container name. Example: Mike.Shea </li>
<li>NewDisplayName: The desired display name. Example: Shea, Mike </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>Sets CN to new value. Example: Changes Michael.Shea to Mike.Shea </li>
<li>Sets property userPrincipalName. Example: Mike.Shea@visualsi.com </li>
<li>Sets property sAMAccountName. Example: Changes Michael.Shea to Mike.Shea </li>
<li>Sets property displayName. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS:IDENTITY:LDAP://…." </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>SyncAccount</h2>
<h3>Purpose</h3>
<p>Used to create the desired account if it does not already exist, or, if the account already exists, move to the proper location (OU).</p>
<h3>Parameters</h3>
<ul>
<li>OULDAP: The complete LDAP of the OU where the account should be created or moved to. Example: LDAP://OU=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>CN: The container name of the account to be created or moved. Example: Mike.Shea </li>
<li>DisplayName: The desired display name. </li>
<li>MustChangePassword: Indicates if this user will be forced to change their password on next login. Example: TRUE </li>
<li>PasswordNeverExpires: Indicates if this user’s password never expires. Example: FALSE </li>
<li>Password: The desired password if this is a new account. This value must conform to the password policy in effect on the domain controller. Example: MyPassw0rd </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>If the specified account already exists in the specified OU, no action is taken. </li>
<li>If the specified account already exists somewhere other than the specified OU, it will be moved to the proper OU. </li>
<li>If the specified account does not exist, it will be created in the specified OU.
<ul>
<li>Sets CN to specified value. </li>
<li>Sets property userPrincipalName. Example: Mike.Shea@visualsi.com </li>
<li>Sets property sAMAccountName. Example: Changes Michael.Shea to Mike.Shea </li>
<li>Sets property displayName. Example: Shea, Mike </li>
<li>Sets the password on the new account. </li>
<li>Disables the account. </li>
<li>Sets the Password Never Expires flag on the account. </li>
<li>Sets the User Must Change Password flag on the account. </li>
</ul>
</li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS:IDENTITY:LDAP://…." </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>SyncAccountHomeDir</h2>
<h3>Purpose</h3>
<p>To create, update, or move a home directory.</p>
<h3>Parameters</h3>
<ul>
<li>AccountLDAP: The complete LDAP of the account whose home directory is to be effected. Example: LDAP://CN=Mike.Shea,OU=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>HomeDirTemplatePath: The path to the directory where any default files/folders exist which need to be added to this home directory. Example: MyServerHomeDirectoryTemplatesEmployee </li>
<li>HomeDirPath: The path to the directory where the home directory should be located. Example: MyServerHomeDirectoriesEmployees </li>
<li>HomeDirName: The name of the home directory. Example: MikeShea </li>
<li>HomeDrive: The mapped drive letter to the home directory. Example: H: </li>
<li>MoveHomeDir: Specifies if the home directory should be moved to the specified location. Example: TRUE </li>
<li>ResetPermissionsOnExistingDir: Specifies if permissions should be reset on the home directory if it already exists. Example: FALSE </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>Checks to verify the specified account exists. If it does not, no further action is taken. </li>
<li>If the specified account exists, retrieves the current homeDirectory property. </li>
<li>If the homeDirectory property already had a value, and MoveHomeDir is set to TRUE, then attempt to copy the existing home directory (including its contents) to the new location. The original home directory and its contents are left intact in their original location. </li>
<li>If the homeDirectory property already had a value, and MoveHomeDir is set to FALSE, then create the home directory in the location specified by the homeDirectory property if the home directory does not already exist there. </li>
<li>If the homeDirectory property did not have a value, then create the home directory in the specified location if it does not already exist. Any files/folders in the HomeDirTemplatePath will be copied into the home directory if it was just created. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS:IDENTITY:MyServerHomeDirectoriesEmployeesMikeShea" </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>UpdateAccount</h2>
<h3>Purpose</h3>
<p>To update a set of pre-defined properties of an existing account.</p>
<h3>Parameters</h3>
<ul>
<li>AccountLDAP: The complete LDAP of the account to update. Example: LDAP://CN=Mike.Shea,OU=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>EnableAccount: Enables/disables the account. Example: TRUE </li>
<li>Description: Sets the Description property. </li>
<li>FirstName: Sets the givenName property. Example: Mike </li>
<li>LastName: Sets the sn property. Example: Shea </li>
<li>MiddleInitial: Sets the initials property. Example: C </li>
<li>Email: Sets the mail property. Example: mike.shea@visualsi.com </li>
<li>HomePhone: Sets the homephone property. Example: 215.493.8210 </li>
<li>MobilePhone: Sets the mobile property. Example: 215.493.8210 </li>
<li>StreetAddress: Sets the streetAddress property. Example: 1105 Taylorsville Road </li>
<li>POBox: Sets the postOfficeBox property. Example: 398 </li>
<li>City: Sets the l property. Example: Washington Crossing </li>
<li>State: Sets the st property. Example: NJ </li>
<li>PostalCode: Sets the postalCode property. Example: 18977 </li>
<li>EmployeeID: Sets the employeeID property. Example: 1234 </li>
<li>Company: Sets the company property. Example: Visual Software </li>
<li>Department: Sets the department property. Example: Development </li>
<li>Title: Sets the title property. Example: Developer </li>
<li>OfficePhone: Sets the telephoneNumber property. Example: 215.493.8210 </li>
<li>Manager: Sets the manager property. Must be the CN of this user’s manager’s account. Example: Robert.Hutchison </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>Sets each property described in Parameters to the specified value. </li>
<li>To ignore a property and not set its value to anything, pass in the value "NONE" for that property. </li>
<li>To clear a property’s value, pass in an empty string for that property. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS:IDENTITY:LDAP://…." </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>UpdateAccountProperty</h2>
<h3>Purpose</h3>
<p>To update a specific property on an existing account.</p>
<h3>Parameters</h3>
<ul>
<li>AccountLDAP: The complete LDAP of the account to update. Example: LDAP://CN=Mike.Shea,OU=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>PropertyName: The name of the property to update. Example: mail </li>
<li>PropertyValue: The value to assign to the specified property. Example: mike.shea@visualsi.com </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>Assigns the specified value to the specified property. </li>
<li>To ignore a property and not set its value to anything, pass in the value "NONE" for that property. </li>
<li>To clear a property’s value, pass in an empty string for that property. </li>
<li>In addition to the standard list of active directory properties, the following "special" values may be passed in using the PropertyName parameter:
<ul>
<li>AccountAvailability: Enables/disables an account. Acceptable values are "TRUE" and "FALSE". </li>
<li>SetPassword: Assigns a new password to the account. The value must meet the domain password policy. </li>
<li>MustChangePassword: Determines if the user must change their password on next login. Acceptable values are "TRUE" and "FALSE". </li>
<li>PasswordExpires: Determines if the account password expires. Acceptable values are "TRUE" and "FALSE". </li>
<li>SetManager: Associates a manager’s ad account with this account. Value must be a valid CN. </li>
<li>UserCannotChangePwd: Determines if the user cannot change their password. Acceptable values are "TRUE" and "FALSE". </li>
</ul>
</li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS" </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>SyncAccountToGroup</h2>
<h3>Purpose</h3>
<p>To assign a pre-existing account to a pre-existing security group.</p>
<h3>Parameters</h3>
<ul>
<li>AccountLDAP: The complete LDAP of the account to update. Example: LDAP://CN=Mike.Shea,OU=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>GroupLDAP: The complete LDAP of the security group to add the account to. Example: LDAP://CN=Developers,OU=Employees,DC=visualsi,DC=com </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>If the account or security group do not exist, no action is taken. </li>
<li>If the account and the security group exist and the account is not already a member of the group, the account is added to the group. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS:IDENTITY:LDAP://…." </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>RemoveAccountFromGroups</h2>
<h3>Purpose</h3>
<p>To remove an account from one or more security groups.</p>
<h3>Parameters</h3>
<ul>
<li>AccountLDAP: The complete LDAP of the account to update. Example: LDAP://CN=Mike.Shea,OU=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>GroupLDAP: The complete LDAP of the security group to remove the account from. An empty string is also an acceptable value. Example: LDAP://CN=Developers,OU=Employees,DC=visualsi,DC=com </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>If a GroupLDAP is not specified, the account will be removed from all of its current security groups. </li>
<li>If a GroupLDAP is specified, the account will be removed from only that security group. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS" </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>SyncGroupToHomeDir</h2>
<h3>Purpose</h3>
<p>To allow a security group permission to access a home directory.</p>
<h3>Parameters</h3>
<ul>
<li>GroupLDAP: The complete LDAP of the security group. Example: LDAP://CN=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>HomeDirPath: The path to the home directory. Example: MyServerHomeDirectoriesEmployeesMikeShea </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>If the group and home directory do not exist no action is taken. </li>
<li>If the group and home directory exist, the group is assigned permission to access the home directory. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS" </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>RemoveGroupFromHomeDir</h2>
<h3>Purpose</h3>
<p>To remove a security group&#8217;s permission from a home directory.</p>
<h3>Parameters</h3>
<ul>
<li>GroupLDAP: The complete LDAP of the security group. Example: LDAP://CN=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>HomeDirPath: The path to the home directory. Example: MyServerHomeDirectoriesEmployeesMikeShea </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>If the group and home directory do not exist no action is taken. </li>
<li>If the group does not currently have permission on the home directory no action is taken. </li>
<li>If the group and home directory exist, and the group has permission on the home directory, the group is removed from the home directory. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS" </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>SyncOU</h2>
<h3>Purpose</h3>
<p>To create or update an organizational unit (OU).</p>
<h3>Parameters</h3>
<ul>
<li>ParentLDAP: The complete LDAP of the OU which contains the OU being created or updated. Example: LDAP://OU=Employees,DC=visualsi,DC=com </li>
<li>OU: The name of the oganizational unit to create or update. Example: Developers </li>
<li>Description: The description of the organizational unit to create or update. </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>If the OU does not exist in the OU specified in ParentLDAP, it will be created. </li>
<li>If the OU already exists in the specified ParentLDAP, its description will be updated. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS:IDENTITY:LDAP://…." </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>SyncGroup</h2>
<h3>Purpose</h3>
<p>To create or update a security group.</p>
<h3>Parameters</h3>
<ul>
<li>OULDAP: The complete LDAP of the OU in which this security group should exist. Example: LDAP://OU=Developers,OU=Employees,DC=visualsi,DC=com </li>
<li>CN: The name of the security group to be created or updated. Example: Developers </li>
<li>Description: The description of the security group. </li>
<li>GroupType: The type of security group to create or update. Acceptable values are "GlobalDistribution", "GlobalSecurity", "UniversalDistribution", "UniversalSecurity". If no type is specified, "GlobalSecurity" is assumed. </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>If the group does not already exist in the specified OU, it will be created. The new group’s sAMAccountName property will be set to the CN, and the description property will be set to Description. </li>
<li>If the group already exists in the specified OU, the description property is set. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS:IDENTITY:LDAP://…." </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
<h2>DiscoverAccounts</h2>
<h3>Purpose</h3>
<p>To discover information about pre-existing active directory accounts in order to syncronize them with SIF data and prevent duplicate accounts from being created.</p>
<h3>Parameters</h3>
<ul>
<li>ObjectName: The name of the SIF object that discovered accounts should be associated with. Example: StudentPersonal </li>
<li>OULDAP: The LDAP in which to search active directory for accounts. Example: LDAP://OU=Employees,DC=visualsi,DC=com </li>
<li>LocalIdProperty: The name of the active directory property which uniquely identifies accounts. This property should contain a value which exists in SIF. Example: employeeID </li>
<li>SearchChildren: Indicates if the specified OU should be searched for accounts, or if this OU and all of its child OU’s should be searched. Example: TRUE </li>
</ul>
<h3>Actions Taken</h3>
<ul>
<li>For each account found, a row is inserted to the table AD_DiscoveredAccounts in the ZIAgent database. The data inserted contains information identifying the account, including the SIF object name it is associated with, its LDAP, unique id, CN, OU, Home Directory, and Home Directory Drive. </li>
<li>If SearchChildren is TRUE, searches the specified OU and all child OUs for accounts. Otherwise, searches only the specified OU. </li>
</ul>
<h3>Return Value</h3>
<ul>
<li>On success: Returns "SUCCESS" </li>
<li>On fail: Returns "FAILURE:… </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/active-directory-web-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phase II SOW – Derbyshire Production</title>
		<link>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-derbyshire-production/</link>
		<comments>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-derbyshire-production/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 16:01:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/phase-ii-sow-derbyshire-production/</guid>
		<description><![CDATA[






.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.estimateheadings {
	background-color: #008000;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
	text-align: center;
}

.estimatedescriptions {
	background-color: white;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
}
.estimatedescriptionright {
	background-color: white;
	text-align: right;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}
.estimategreennumber {
	background-color: #008000;
	text-align: center;
	color: #ffff00;
	font-family: verdana, [...]]]></description>
			<content:encoded><![CDATA[<p><style type="text/css">






.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.estimateheadings {
	background-color: #008000;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
	text-align: center;
}

.estimatedescriptions {
	background-color: white;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
}
.estimatedescriptionright {
	background-color: white;
	text-align: right;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}
.estimategreennumber {
	background-color: #008000;
	text-align: center;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}
.sifobjectcellheaders {
	font-size: small;
	font-weight: bold;
	color: white;
	background-color: #006600;
	border-color: #006600;
	border-style: solid;
	border-width: .75pt;
}
.sifobjectnames {
	font-size: x-small;
	font-weight: normal;
	color: black;
	background-color: white;
	border-color: #006600;
	border-width: .75pt;
	border-style: solid;
	font-family: verdana, geneva, tahoma, sans-serif;
}
.estimategrayednumber {
	border-width: .75px;
	background-color: #eeeeee;
	text-align: center;
	color: #808080;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	border: .75pt solid #006600;
}


.thisdocumentdefault {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: x-small;
	font-weight: normal;
	text-align: left;
	background-color: #008000;
	color: #ffff00;
	border-style: solid;
	border-width: .75pt;
	border-color: #ffff00 #006600 #ffff00 #006600;
}</style><br />
<h2>Introduction</h2>
<p>In June 2009, Dell, Visual Software and ITWorx assembled a Proof of Concept for the Cambridgeshire BSF bid and demonstrated that the Schools Interoperability Framework could be used to transport learner information such as that which would come from a typical UK MIS to a learning platform in near real time to meet the requirements of the Local Authority (LA).</p>
<p>In the first phase, for several reasons, we used a MIS simulator instead of using a copy of Capita SIMS, Serco CMIS or one of the other MIS systems.&#160; In the second phase of this overall project, we will be putting together a lasting platform that will be used in the Cambridgeshire and Derbyshire implementations.</p>
<p>This document’s first purpose is to supply Visual Software’s recommendations for setting up a SIF implementation for these schools, connecting the MIS instances, providing matching, identity and role management, providing facilities for checking the data for quality standards and providing an interface for the other Dell-incorporated software. In addition, its second purpose is to provide cost estimates for the work that will be involved in this integration project.</p>
<h2>Visual Software Component Overview</h2>
<p>Visual Software components will interface with instances of Management Information Systems at schools and with Dell supplied components within the data center. In general, our components will be connected as follows:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" width="660" height="365" /></a><font size="1"><em>Overview – Click image to show in full screen</em></font></p>
<h2>&#160;</h2>
<h2>Staged Implementation</h2>
<p>It has been indicated that, for the two implementations there may or may not be a Proof of Concept stage and that the two implementations themselves not include the exact same SIF coverage.&#160; To make what we offer as flexible as possible, we shall split the UK SIF specification into a set of object groups. For each of the combinations of (implementation site and {POC and Production}), we will make recommendations as which groups would reasonably fall under the combination.</p>
<blockquote><p>In the case of this document we will highlight our recommendation for the <font color="#800000"><strong>Derbyshire Production, assuming that a Proof of Concept preceded it</strong></font>, while leaving grayed out things that could be added as optional elements. We are also assuming that the production environment will be used to support:</p>
<ul>
<li>Identity and Role Management </li>
<li>Veracity Data Quality Management </li>
<li>Forefront Identity Management </li>
</ul>
<p>If other applications, such as learning management systems are needed, they will likely add objects from other SIF object groups.</p>
</blockquote>
<h2>SIF Object Groups</h2>
<p>The UK SIF specification does not group objects into clusters of any sort, but for the purposes of these documents, we will group them as follows:</p>
<ul>
<li><font size="2"><strong>Basic</strong>: those objects needed for identity &amp; role management, including learners, teachers and parents. It includes the schools that people with which people are associated, but not the school groups.</font> </li>
<li><font size="2"><strong>Learner Groups</strong>: this extends the basic set to extend learner and teacher information to include learner group information. It might be argued that this group should be done at the same time as Timetabling, but a great deal of useful information can be derived from only these objects without the timetabling objects.</font> </li>
<li><font size="2"><strong>Assessments</strong>: a group of interdependent objects that store information about assessments</font> </li>
<li><font size="2"><strong>Attendance</strong>: these relay attendance information, either in summary or detailed information – in the UK, it is typical to send complete information (not just absences), so expect to receive a high volume of information</font> </li>
<li><font size="2"><strong>Timetabling</strong>: this is information relative to how the school groups were established</font> </li>
<li><font size="2"><strong>Uncategorized</strong>: these objects don’t fall into any of the above categories, but do include some important messages such as behavior, meal status and special education objects.</font> </li>
</ul>
<p>The following table shows which SIF objects are in each of these categories:</p>
<table style="border-bottom: #006600 thin solid; border-left: #006600 thin solid; outline-style: solid; outline-color: #006600; outline-width: thin; border-collapse: collapse; font-family: verdana, geneva, tahoma, sans-serif; font-size: small; border-top: #006600 thin solid; border-right: #006600 thin solid" cellspacing="0" cellpadding="4" align="center">
<tbody>
<tr>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 1            <br />Basic</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 2            <br />Learner Groups</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 3            <br />Assessments</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 4            <br />Attendance</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 5            <br />Timetabling</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 6            <br />Uncategorized</font></td>
</tr>
<tr>
<td class="sifobjectnames">ContactPersonal</td>
<td class="thisdocumentdefault">LearnerGroupEnrolment</td>
<td class="sifobjectnames">AssessmentLearnerSet</td>
<td class="sifobjectnames">LearnerAttendance</td>
<td class="sifobjectnames">Cycle</td>
<td class="sifobjectnames">Junction</td>
</tr>
<tr>
<td class="sifobjectnames">LAInfo</td>
<td class="thisdocumentdefault">Lesson</td>
<td class="sifobjectnames">AssessmentResponseComponent</td>
<td class="sifobjectnames">LearnerAttendanceSummary</td>
<td class="sifobjectnames">Scope</td>
<td class="sifobjectnames">LearnerBehaviourIncident</td>
</tr>
<tr>
<td class="sifobjectnames">LearnerContact</td>
<td class="thisdocumentdefault">SchoolGroup</td>
<td class="sifobjectnames">AssessmentResponseComponentGroup</td>
<td class="sifobjectnames" rowspan="8">&#160;</td>
<td class="sifobjectnames">TTRoom</td>
<td class="thisdocumentdefault">LearnerEntitlement</td>
</tr>
<tr>
<td class="sifobjectnames" height="20">LearnerPersonal</td>
<td class="thisdocumentdefault">SchoolGroupType</td>
<td class="sifobjectnames">AssessmentResultComponent</td>
<td class="sifobjectnames">TTSite</td>
<td class="thisdocumentdefault">LearnerExclusion</td>
</tr>
<tr>
<td class="sifobjectnames">LearnerSchoolEnrolment</td>
<td class="thisdocumentdefault">TeachingGroup</td>
<td class="sifobjectnames">AssessmentResultComponentGroup</td>
<td class="sifobjectnames">TTSubject</td>
<td class="thisdocumentdefault">LearnerSpecialNeeds</td>
</tr>
<tr>
<td class="sifobjectnames">SchoolInfo</td>
<td class="sifobjectnames" rowspan="5">&#160;</td>
<td class="sifobjectnames">AssessmentResultGradeSet</td>
<td class="sifobjectnames">TTTeacher</td>
<td class="sifobjectnames">NonTeachingActivity</td>
</tr>
<tr>
<td class="sifobjectnames">TermInfo</td>
<td class="sifobjectnames">AssessmentSession</td>
<td class="sifobjectnames" rowspan="4">&#160;</td>
<td class="sifobjectnames">PersonDietaryPreference</td>
</tr>
<tr>
<td class="sifobjectnames">WorkforcePersonal</td>
<td class="sifobjectnames">LearnerAssessmentResponseSet</td>
<td class="sifobjectnames">PersonPicture</td>
</tr>
<tr>
<td class="sifobjectnames">Identity</td>
<td class="sifobjectnames">LearnerAssessmentResult</td>
<td class="sifobjectnames" rowspan="2">&#160;</td>
</tr>
<tr>
<td class="sifobjectnames">SchoolMealStatus</td>
<td class="sifobjectnames">&#160;</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<blockquote><h3>Recommendation for Derbyshire Production</h3>
<p>The highlighted objects are those we believe will be needed to support Identity and Role management using Ipseity and Microsoft FIM products.</p>
</blockquote>
<h2>Connecting MIS Systems</h2>
<p>The following diagram gives an overview of how the MIS systems will be connected into the SIF infrastructure:</p>
<p><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" target="_blank"><img style="border-right-width: 0px; margin: 0px 0px 0px 15px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SimsMimic" border="0" alt="SimsMimic" align="right" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" width="420" height="340" /></a>On the Zone Integration Server, a separate zone will be created for each school (for more information on the use of Zones, see <a title="SIF Zones" href="http://www.sifsupport.com/wordpress/siflets/zones/" target="_blank">SIF Zones</a>) and each school’s copy of <a href="http://www.visualsi.com/Mimic.htm" target="_blank">Mimic</a> will be set as the Provider of learner information in that zone. Mimic will generate SIF messages by looking at the CSV files that each copy of SIMS creates on a scheduled basis, comparing it against the copy it looked at on its last scheduled run. (For more information on how Mimic works, see <a title="Mimic Users Guide" href="http://www.sifsupport.com/wordpress/mimic/mimic-user-guide/all/1" target="_blank">Mimic Users Guide</a>)</p>
<p>NOTE: A single ZIServer can host many (even thousands of) zones, and these zones can either be local (HTTP) or remote (HTTPS).</p>
<p>In order for the Mimic software to run, there will need to be a Windows computer running it and storing its SQL Server database in each location where there is an MIS.</p>
<h4>&#160;</h4>
<h3>Mimic as a Web Site</h3>
<p>Like all SIF Agents, Mimic runs as a web site. Like many SIF Agents, Mimic may run in SIF Pull or Push mode (Pull mode is analogous to batch mode and Push mode is similar to real-time mode – the meanings are very different than the typical meanings of ‘Push’ and ‘Pull’ in English. For a more complete description, see <a href="http://www.sifsupport.com/wordpress/siflets/sif-push-and-pull-modes/" target="_blank">SIF Push and Pull Modes</a>.)</p>
<p>This has implications for the installation because SIF Push mode (real-time) will require that the installation at the school have an external IP number and that the ZIS be able to communicate with the Agent. Although this is more work, we recommend this configuration because it allows the school to have its own certificate and allows us to set up Encryption Level 4, Authentication Level 3 where each side verifies the certificate of the other.</p>
<p>It is not necessary to use an outside certificate authority (you could use Certificate Services) because we will be setting up a closed community of servers. NOTE: In E2BN, we found out that, although it is supposed to be a simple matter to get certificates whenever we needed them, in reality it wasn’t all that simple.</p>
<h3>Mimic Database</h3>
<p>We typically use SQL Server Express Edition for Mimic installations. We are recommending installing SQL Server 2008 R2, especially since it now expands to 10GB and allows users to back up and restore.</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; School</strong></td>
<td class="estimateheadings">Group 1 Estimate</td>
<td class="estimateheadings"><strong>Group 2 Estimate</strong></td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings"><strong>Group 6 Estimate</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">During the first POC, Dell had access to a resource that had experience creating Capita SIMS reports. We would ask that the same person (or another person with a similar background) be contracted to:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Create SIMS reports for each of the SIF objects we need to publish</td>
</tr>
<tr>
<td class="estimatedescriptions">Create a package that would cause SIMS to automatically create these reports in a fixed location on a specified schedule</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the Capita SIMS reports created by the Dell SME, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="3">&#160;</td>
<td class="estimatedescriptions">Configure Mimic to publish events for the SIF object corresponding to the report, make backup copies of the CSV files in a library <font color="#008000">(recommended objects, see note below *)</font></td>
<td class="estimategrayednumber">30</td>
<td class="estimategreennumber">15</td>
<td class="estimategrayednumber">27</td>
<td class="estimategrayednumber">6</td>
<td class="estimategrayednumber">18</td>
<td class="estimategreennumber">24 (9)</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of object configurations and create an installation package for the school</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">10 (0)</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">40</td>
<td class="estimategreennumber">25</td>
<td class="estimategrayednumber">37</td>
<td class="estimategrayednumber">16</td>
<td class="estimategrayednumber">28</td>
<td class="estimategreennumber">34 (9)</td>
</tr>
</tbody>
</table>
<p>In this estimate, the length of time it would take to create and test the installation package will not change significantly with the differing number of SIF objects implemented; most of the time in doing that will be in the setup, testing and making sure that the correct results were achieved when the tests were run. The configuration of the Mimic product, however, will largely depend on the number of objects being configured.</p>
<p><font color="#008000">*NOTE</font>: In Group 6 items, only three objects are recommended for Derbyshire. Adding them should only add 9 additional hours to the configuration process and shouldn’t add any additional time to the time it takes to create an installation package.</p>
<h2>Managing School Data Quality</h2>
<p>Normally, applications have user interfaces that prevent things from automatically happening when it receives “bad” information. For example, an application that creates user accounts from information entered into a user interface (a form) would first validate that information before using it to create the account.</p>
<p>When a user interface is replaced with a SIF interface, the subscribing application might be left trusting the validation rules of the source system unless something is put between the two to make sure that data quality is being maintained.</p>
<p>For example, in an MIS, it might not be too important that learner’s birth date is reasonable – to the MIS, it is only important that a value is entered into the field and that it is a valid date. But, to a VLE it is important that it is valid as well as reasonable. If a user were entering this information by hand into the VLE, he or she would never be able to enter today’s date into the birth date field.</p>
<h3>&#160;</h3>
<h3>Veracity</h3>
<p>Veracity is a product that does several things:</p>
<ul>
<li>It monitors data quality based on rules that have been set up at a certain level – for example, rules can be set up at the school level to capture errors as they come out of the MIS that will become problems in other systems that are connected to this system – checks like invalid birth dates, missing names, etc. </li>
<li>It maintains a consolidated database of data collected from all systems that can be used for reporting or other data analysis </li>
<li>It provides a portal interface so that users can see where they need to make changes to their data </li>
</ul>
<h3>Where Veracity Fits In</h3>
<p>We recommend installing Veracity in two places in this architecture:</p>
<ol>
<li>In the school zone – used here, the rule set that is applied to the collected data will check it against the needs of the other systems that will use its data. Additionally, the portal interface it provides will give users an insight into how close they are to the place where the data they enter can transparently flow throughout the system without alteration. </li>
<li>Post-Envoy – Envoy is the software that will match records and consolidate the information from the single zones into a group zone. Having Veracity subscribe here will provide a consolidated reporting and analysis database and a place where business rules can run that check for problems that might occur where data from one school collides with that from another. </li>
</ol>
<p align="left">The following diagram shows Veracity as it would be installed to monitor data quality for each of the school zones:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracity" border="0" alt="SimsMimicVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png" width="600" height="341" /></a><font size="1"><em>Adding Veracity – Click image to show in full screen</em></font></p>
<p>Since the ZIServer is being hosted, it is not unreasonable to assume that these copies of Veracity would be hosted as well.</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; School Veracity Copies</strong></td>
<td class="estimateheadings">Group 1 Estimate</td>
<td class="estimateheadings"><strong>Group 2 Estimate</strong></td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings"><strong>Group 6 Estimate</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to develop a set of data quality rules that reflect the data quality requirements of the other applications</td>
</tr>
<tr>
<td class="estimatedescriptions">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions"><em>(number of rules for objects in the group) <font color="#008000">(recommended objects, see note below *)</font></em></td>
<td class="estimategrayednumber"><em>30</em></td>
<td class="estimategreennumber"><em>10</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategreennumber"><em>10 (4)</em></td>
</tr>
<tr>
<td class="estimatedescriptions">Implement rules in Veracity along with the user feedback</td>
<td class="estimategrayednumber">30</td>
<td class="estimategreennumber">15</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">8</td>
<td class="estimategrayednumber">15</td>
<td class="estimategreennumber">15 (8)</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of rule configurations and create a school installation package</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">10 (0)</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">40</td>
<td class="estimategreennumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">25</td>
<td class="estimategreennumber">25 (8)</td>
</tr>
</tbody>
</table>
<p><font color="#008000">*NOTE</font>: In Group 6 items, only three objects are recommended for Derbyshire, but we are leaving room for four data quality checks. Adding them should add 8 additional hours (2 hours per check) to the configuration process and shouldn’t add any additional time to the time it takes to create an installation package. So, the data quality checks for Group 6 in total should add a total of 8 hours.</p>
<h2>Merging/Matching Data</h2>
<p>The primary function of the <a href="http://www.visualsi.com/Envoy.htm" target="_blank">Envoy</a> product in this environment is to resolve differences when a physical object is&#160; represented in more than one MIS. This can happen when a learner attends more than one school, a teacher teaches at more than one school or a parent has children attending more than one school.</p>
<p>When this occurs, what envoy does is to create a “virtual object” by choosing the base object from the “more reliable” of the two and making it appear as if there was a single large MIS providing all the records from a single source. What this accomplishes for subscribing applications is to provide them with a simplified view of the learner population and centralizing the complex, matching logic where it can be independently tested and verified.</p>
<p>For more information on how this works, see: <a href="http://www.sifsupport.com/wordpress/other-sif-related-articles/managed-virtual-zones/" target="_blank">Managed Virtual Zones</a>.</p>
<p>In our implementation, we will use the Envoy product to perform this function, match records and combine records for all the schools into a single zone as depicted by the following diagram:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoy" border="0" alt="SimsMimicVeracityEnvoy" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" width="600" height="346" /></a><font size="1"><em>Adding Envoy – Click image to show in full screen</em></font></p>
<p>Setting up Envoy is more difficult than the other products because, for each of the SIF objects that it handles there are rules that must be, at a minimum, reviewed by the customer to make sure that everyone is in agreement as to how the object is being handled. These rules fall into two categories:</p>
<ol>
<li>How records are matched. Envoy can use a hierarchy of rules when matching – for example, when matching learner records, it can first try ULN, family name, given name, post code and birth date. Then if that doesn’t match it can try ULN, family name, given name, gender and birth date, then three more combinations before giving up and assuming that the two records are for different people. </li>
<li>How the “more reliable” base object is chosen when there is a choice. If a child attends two schools, there are two LearnerPersonal records – which one should a subscribing application receive as the “more reliable” of the two? Sometimes it is easy to choose (because the SIF specification has rules for choosing, other times is is more difficult). </li>
</ol>
<p>&#160;</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items – Envoy Rule Verification/Setup</strong></td>
<td class="estimateheadings">Group 1 Estimate</td>
<td class="estimategreennumber">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimategreennumber">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to review the record matching and choice rules for the objects that will be in use in this implementation</td>
</tr>
<tr>
<td class="estimatedescriptions">Work with us through the testing process to make sure that the rules are working properly</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions">Work with the customer reviewing the rule sets for all the objects used for the implementation <font color="#008000">(recommended objects, see note 1 below *)</font></td>
<td class="estimategrayednumber">45</td>
<td class="estimategreennumber">10</td>
<td class="estimategrayednumber">18</td>
<td class="estimategrayednumber">4</td>
<td class="estimategrayednumber">12</td>
<td class="estimategreennumber">16 (6)</td>
</tr>
<tr>
<td class="estimatedescriptions">Make changes as needed to existing rule set (Envoy also has the ability to restrict data from being sent if it does not meet certain criteria – these type of rules are more likely to be added)</td>
<td class="estimategrayednumber">20</td>
<td class="estimategreennumber">8</td>
<td class="estimategrayednumber">14</td>
<td class="estimategrayednumber">3</td>
<td class="estimategrayednumber">9</td>
<td class="estimategreennumber">12 (5)</td>
</tr>
<tr>
<td class="estimatedescriptions">Testing to make sure matching and choices are being made properly</td>
<td class="estimategrayednumber">50</td>
<td class="estimategreennumber">20</td>
<td class="estimategrayednumber">36</td>
<td class="estimategrayednumber">8</td>
<td class="estimategrayednumber">24</td>
<td class="estimategreennumber">32 (12)</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">115</td>
<td class="estimategreennumber">38</td>
<td class="estimategrayednumber">68</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">45</td>
<td class="estimategreennumber">60 (23)</td>
</tr>
</tbody>
</table>
<p>With Envoy, most of the more difficult review work will be in the Group 1 objects. This is because Group 1 includes all of the “base” objects that are the ones that get matched: LAInfo, SchoolInfo, LearnerPersonal, ContactPersonal and WorkforcePersonal. These objects will have the hierarchy of matching rules that need to be reviewed where the other objects will have simpler, more definitive rules (however, they will typically have many more of them). This is why the bulk of the hours show up in the estimate for Group 1.</p>
<blockquote><p>NOTE 1: In Group 6 items, only three objects are recommended for Derbyshire, but we are leaving room for four data quality checks. Adding them should add 8 additional hours (2 hours per check) to the configuration process and shouldn’t add any additional time to the time it takes to create an installation package. So, the data quality checks for Group 6 in total should add a total of 8 hours.</p>
<p>NOTE 2: At this point, it would be possible to connect a “Local Authority Level” SIF-enabled application to the consolidated zone (as we intend to do with Ipseity).</p>
</blockquote>
<p>&#160;</p>
<h2>Identity and Role Management</h2>
<p>Once records have been data quality checked and consolidated, information is passed to the Identity and Role Manager, Ipseity™ (formerly codename Sentry). This SIF agent will subscribe to several objects and publish one – by subscribing, it will receive all of the information it needs to create account names and most of the information it needs to assign roles to the applications it manages.</p>
<p>The following diagram gives an overall picture of where Ipseity fits into the overall architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseity" border="0" alt="SimsMimicVeracityEnvoyIpseity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Ipseity – Click image to show in full screen</em></font></p>
<p>As shown in this picture, Ipseity has not only a SIF interface, but also a web services interface. This interface was put in so that non-SIF applications could easily use it features such as:</p>
<ul>
<li><font size="2">Adding new users to the pool of users being managed, so that Ipseity can assign IDs that are consistent with the automatically managed IDs</font> </li>
<li><font size="2">Query the database of all users for {new/changed/deleted} users, which users are assigned to which schools, which users are assigned to what roles (in which schools), etc..</font> </li>
</ul>
<p>There are several web service calls supported by Ipseity that all return recordsets, making it simple for other applications to access data in its store either from the same location or remotely (through HTTPS). For more information on these facilities, see: <a href="http://www.sifsupport.com/wordpress/customer-previews-and-feedback/extending-identity-management-roles/" target="_blank">Extending Identity Management &#8211; Roles</a></p>
<h3>Subscribed Objects</h3>
<p>Ipseity will subscribe to the following objects:</p>
<ul>
<li>LAInfo </li>
<li>SchoolInfo </li>
<li>LearnerPersonal </li>
<li>LearnerSchoolEnrolment </li>
<li>WorkforcePersonal – this contains all information about teachers, including all schools at which they work. Some of these records <u>may</u> be skipped because their assignments might indicate that they have no computer interaction </li>
<li>ContactPersonal – this contains basic information about a parent or other contact. Some of these records will be ignored, such as those for after school programs or medical facilities that are stored in an MIS, but will not be needed in Ipseity for Identity or Role management purposes </li>
<li>LearnerContact – this links a contact record to a learner record </li>
</ul>
<h3>Published Object</h3>
<p>Ipseity will publish the following object:</p>
<ul>
<li>Identity – this will contain the identities it assigns, including AD account names, Shibboleth names, and initial passwords, etc. </li>
</ul>
<h3>Roles Being Managed</h3>
<p>At a minimum, roles for the products we are installing will need to be managed.</p>
<p>For example, ZIServer will need to be assigned people who will be able to create and manage zones, assign permissions and those who will have access to the audits. It might be the case that people in the schools may need access to the audits as well.</p>
<p>Veracity’s interface will need a similar administrator role, but it will also have interfaces for a person who creates business rules (someone who knows about school MIS data – probably not a system administrator), and several people in each school who will be using its interface to correct errors in data (these will probably not overlap with the other two at all).</p>
<p>Envoy will need an administrator, but will also need someone who oversees the business rules that govern how record matching is done and choices are made (this person is more of an analyst, not a systems administrator), but there will be nobody in the school who will have access.</p>
<blockquote><p>Question: In the following spreadsheet, it was indicated that the following roles are required for use by one or more Dell applications: </p>
<p>Original Excel file with edits:<a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMISroledatafieldswithSIFcodevalues5.xls">Sims MIS role data fields with SIF code values.xls</a></p>
<p>Would it be desirable to use Ipseity to manage these roles along with the roles for ZIServer, Veracity and Envoy? Users would be able to use the same interface and the applications would have access to the common web services interface.</p>
</blockquote>
<p>&#160;</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items – Ipseity Setup </strong></td>
<td class="estimateheadings">Per App&#160; Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td style="height: 25px" class="estimatedescriptions">Work with us to review the requirements for any new applications that will use the application</td>
</tr>
<tr>
<td class="estimatedescriptions">Work with us and schools to assign roles for our products</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions">Normal setup of application (included)</td>
<td class="estimategrayednumber">0</td>
</tr>
<tr>
<td class="estimatedescriptions">Normal setup of application to work with our other applications (ZIServer, Veracity, Envoy) (included)</td>
<td class="estimategrayednumber">0</td>
</tr>
<tr>
<td class="estimatedescriptions">Setup to work with third party application (each application, if any)</td>
<td class="estimategrayednumber">25</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">25</td>
</tr>
</tbody>
</table>
<p>Note: the setup of this application does not depend on the SIF objects being configured, so it will not vary from implementation to implementation.</p>
<blockquote><p>Note: Unless additional applications are being added between POC and Production, Ipseity should not need to be changed in this phase.</p>
</blockquote>
<h2>Consolidated Data Quality Checking / Reporting</h2>
<p>The final step in the process (or this could be swapped with the IDRM step) will be to set up a copy of Veracity that consolidates all data from all schools (and Ipseity) into a single database and performs another set of data quality rules on them.</p>
<p>The data quality rules that are run on this set of data should not be checking for the simple things that should have been remedied at the school, but rather other types of errors that show up when data from one school is combined with that from another.</p>
<p>An example might be: for a given learner we might see attendance records showing him attending both his morning and afternoon schools the same morning of the same day and this is not supposed to happen. Or, we see two children with completely different demographic information in different schools, but they have the same ULN.</p>
<p>The following diagram shows where this copy of Veracity is installed in the architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity_thumb.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Veracity (on consolidated data set) – Click image to show in full screen</em></font></p>
<p>This copy becomes a subscriber in the combined zone. Since Veracity’s database is effectively an Enterprise Data Store, we’ve found that it is very useful to other applications such as:</p>
<ul>
<li>Data Warehouses: these can sample the database on given intervals. Typically, the DW builds a series of views, stored procedures or compiled queries that get called on a regular basis that take a snapshot from our repository. </li>
<li>Reporting Application: tools such as SQL Reporting Services are used in districts to produced real-time reports on data that is collected from many sources. In our scenario, we are only collecting data from the MIS and from Ipseity, but in other places they may collect data from as many as 8 or 9 places. </li>
<li>Data Analysis: some use SQL Analysis in similar ways to perform data analysis on the Veracity database or a replicated snapshot. </li>
</ul>
<p>To view the database layout and to get an empty Veracity Database Backup, see: <a href="http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/" target="_blank">Veracity UK 1.2 Data</a></p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; Combined Veracity Copy</strong></td>
<td class="estimateheadings">Group 1 Estimate</td>
<td class="estimategreennumber">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimategreennumber">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to develop a set of data quality rules that reflect the data quality requirements of the combined dataset</td>
</tr>
<tr>
<td class="estimatedescriptions">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions"><em>(number of rules for objects in the group)</em></td>
<td class="estimategrayednumber"><em>20</em></td>
<td class="estimategreennumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategreennumber"><em>10</em></td>
</tr>
<tr>
<td class="estimatedescriptions">Implement rules in Veracity along with the user feedback</td>
<td class="estimategrayednumber">40</td>
<td class="estimategreennumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">20</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of rule configurations and create a school installation package</td>
<td class="estimategrayednumber"><strong>10</strong></td>
<td class="estimategreennumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategreennumber">10</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategrayednumber">70</td>
<td class="estimategreennumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategreennumber">35</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Summary</h2>
<p>This is an estimate; these hours are based on certain assumptions about a number of business rules that will be requested and a level of data cleanliness we will find when we see the actual data.</p>
<p>This could vary widely – the difference in the effort required for us to successfully integrate all these applications between locations where the data is carefully maintained and those where it isn’t can be huge (up to 50% of the project).&#160; This is why we suggest a step-by-step approach where the data quality issues are addressed in the first step, so that they will not haunt us in later steps.</p>
<p>We also use the strategy of giving tools to users in the first step that “make their life better”. One would think that Veracity “looking over their shoulder” would not fit into that category, but it can.</p>
<p>For example, if we were to encode their annual census rules into quality checks, it would give them a tool that allows them to see how close they are to not having any work to do next time a census is due – except to run a query against their local Veracity DB and export it – perhaps…</p>
<p>These estimates assume that the work would be able to be performed from our office through a connection such as a VPN tunnel. We found that working offsite (such as we did during the first POC) added about 80% to the length of time it took to do a given task (so 10 hours in our office working through a remote facility = 18 hours working at the Dell site).</p>
<p>This SOW is intended to be a working document – the comments facility is here to allow other team members to pose questions, make comments and give suggestions – please use it. Comments will first go through me (Rob Hutchison) for approval, so if you don’t want it to be seen by everyone, put “PRIVATE” on the first line and I won’t publish it for all. Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-derbyshire-production/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phase II SOW – Derbyshire POC</title>
		<link>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-derbyshire-poc/</link>
		<comments>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-derbyshire-poc/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 16:38:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-derbyshire-poc/</guid>
		<description><![CDATA[





.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style3 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #008000;
	color: #ffff00;
}
.auto-style1 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
}
.auto-style4 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: center;
}
.auto-style5 {
	font-family: [...]]]></description>
			<content:encoded><![CDATA[<p><style type="text/css">





.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style3 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #008000;
	color: #ffff00;
}
.auto-style1 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
}
.auto-style4 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: center;
}
.auto-style5 {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style6 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: right;
}
.auto-style7 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #e1ffe1;
	text-align: center;
}

.estimateheadings {
	background-color: #008000;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
}
.estimatedescriptions {
	background-color: white;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	border: .75pt solid #006600;
}
.estimatedescriptionright {
	background-color: white;
	text-align: right;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}
.estimategreennumber {
	background-color: #008000;
	text-align: center;
	color: #ffff00;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: bold;
	border: .75pt solid #006600;
}

.estimategrayednumber {
	background-color: #eeeeee;
	text-align: center;
	color: #808080;
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	border: thin groove #006600;
}
.thisdocumentdefault {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: x-small;
	font-weight: normal;
	text-align: left;
	background-color: #008000;
	color: #ffff00;
	border-style: solid;
	border-width: .75pt;
	border-color: #ffff00 #006600 #ffff00 #006600;
}



.sifobjectcellheaders {
	font-size: small;
	font-weight: bold;
	color: white;
	background-color: #006600;
	border-color: #006600;
	border-style: solid;
	border-width: .75pt;
}
.sifobjectnames {
	font-size: x-small;
	font-weight: normal;
	color: black;
	background-color: white;
	border-color: #006600;
	border-width: .75pt;
	border-style: solid;
	font-family: verdana, geneva, tahoma, sans-serif;
}</style><br />
<h2>Introduction</h2>
<p>In June 2009, Dell, Visual Software and ITWorx assembled a Proof of Concept for the Cambridgeshire BSF bid and demonstrated that the Schools Interoperability Framework could be used to transport learner information such as that which would come from a typical UK MIS to a learning platform in near real time to meet the requirements of the Local Authority (LA).</p>
<p>In the first phase, for several reasons, we used a MIS simulator instead of using a copy of Capita SIMS, Serco CMIS or one of the other MIS systems.&#160; In the second phase of this overall project, we will be putting together a lasting platform that will be used in the Cambridgeshire and Derbyshire implementations.</p>
<p>This document’s first purpose is to supply Visual Software’s recommendations for setting up a SIF implementation for these schools, connecting the MIS instances, providing matching, identity and role management, providing facilities for checking the data for quality standards and providing an interface for the other Dell-incorporated software. In addition, its second purpose is to provide cost estimates for the work that will be involved in this integration project.</p>
<h2>Visual Software Component Overview</h2>
<p>Visual Software components will interface with instances of Management Information Systems at schools and with Dell supplied components within the data center. In general, our components will be connected as follows:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" width="660" height="365" /></a><font size="1"><em>Overview – Click image to show in full screen</em></font></p>
<h2>&#160;</h2>
<h2>Staged Implementation</h2>
<p>It has been indicated that, for the two implementations there may or may not be a Proof of Concept stage and that the two implementations themselves not include the exact same SIF coverage.&#160; To make what we offer as flexible as possible, we shall split the UK SIF specification into a set of object groups. For each of the combinations of (implementation site and {POC and Production}), we will make recommendations as which groups would reasonably fall under the combination.</p>
<p>So, in the case of this document we will highlight our recommendation for the <font color="#800000"><strong>Derbyshire Proof of Concept</strong></font>, while leaving grayed out things that could be added as optional elements. We will document other combinations separately.</p>
<h2>SIF Object Groups</h2>
<p>The UK SIF specification does not group objects into clusters of any sort, but for the purposes of these documents, we will group them as follows:</p>
<ul>
<li><font size="2"><strong>Basic</strong>: those objects needed for identity &amp; role management, including learners, teachers and parents. It includes the schools that people with which people are associated, but not the school groups.</font> </li>
<li><font size="2"><strong>Learner Groups</strong>: this extends the basic set to extend learner and teacher information to include learner group information. It might be argued that this group should be done at the same time as Timetabling, but a great deal of useful information can be derived from only these objects without the timetabling objects.</font> </li>
<li><font size="2"><strong>Assessments</strong>: a group of interdependent objects that store information about assessments</font> </li>
<li><font size="2"><strong>Attendance</strong>: these relay attendance information, either in summary or detailed information – in the UK, it is typical to send complete information (not just absences), so expect to receive a high volume of information</font> </li>
<li><font size="2"><strong>Timetabling</strong>: this is information relative to how the school groups were established</font> </li>
<li><font size="2"><strong>Uncategorized</strong>: these objects don’t fall into any of the above categories, but do include some important messages such as behavior, meal status and special education objects.</font> </li>
</ul>
<p>The following table shows which SIF objects are in each of these categories:</p>
<table style="border-bottom: #006600 thin solid; border-left: #006600 thin solid; outline-style: solid; outline-color: #006600; outline-width: thin; border-collapse: collapse; font-family: verdana, geneva, tahoma, sans-serif; font-size: small; border-top: #006600 thin solid; border-right: #006600 thin solid" cellspacing="0" cellpadding="4" align="center">
<tbody>
<tr>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 1            <br />Basic</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 2            <br />Learner Groups</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 3            <br />Assessments</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 4            <br />Attendance</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 5            <br />Timetabling</font></td>
<td class="sifobjectcellheaders"><font color="#ffff00">Group 6            <br />Uncategorized</font></td>
</tr>
<tr>
<td class="thisdocumentdefault">ContactPersonal</td>
<td class="sifobjectnames">LearnerGroupEnrolment</td>
<td class="sifobjectnames">AssessmentLearnerSet</td>
<td class="sifobjectnames">LearnerAttendance</td>
<td class="sifobjectnames">Cycle</td>
<td class="sifobjectnames">Junction</td>
</tr>
<tr>
<td class="thisdocumentdefault">LAInfo</td>
<td class="sifobjectnames">Lesson</td>
<td class="sifobjectnames">AssessmentResponseComponent</td>
<td class="sifobjectnames">LearnerAttendanceSummary</td>
<td class="sifobjectnames">Scope</td>
<td class="sifobjectnames">LearnerBehaviourIncident</td>
</tr>
<tr>
<td class="thisdocumentdefault">LearnerContact</td>
<td class="sifobjectnames">SchoolGroup</td>
<td class="sifobjectnames">AssessmentResponseComponentGroup</td>
<td class="sifobjectnames" rowspan="8">&#160;</td>
<td class="sifobjectnames">TTRoom</td>
<td class="sifobjectnames">LearnerEntitlement</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">LearnerPersonal</td>
<td class="sifobjectnames">SchoolGroupType</td>
<td class="sifobjectnames">AssessmentResultComponent</td>
<td class="sifobjectnames">TTSite</td>
<td class="sifobjectnames">LearnerExclusion</td>
</tr>
<tr>
<td class="thisdocumentdefault">LearnerSchoolEnrolment</td>
<td class="sifobjectnames">TeachingGroup</td>
<td class="sifobjectnames">AssessmentResultComponentGroup</td>
<td class="sifobjectnames">TTSubject</td>
<td class="sifobjectnames">LearnerSpecialNeeds</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">SchoolInfo</td>
<td class="sifobjectnames" rowspan="5">&#160;</td>
<td class="sifobjectnames">AssessmentResultGradeSet</td>
<td class="sifobjectnames">TTTeacher</td>
<td class="sifobjectnames">NonTeachingActivity</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">TermInfo</td>
<td class="sifobjectnames">AssessmentSession</td>
<td class="sifobjectnames" rowspan="4">&#160;</td>
<td class="sifobjectnames">PersonDietaryPreference</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">WorkforcePersonal</td>
<td class="sifobjectnames">LearnerAssessmentResponseSet</td>
<td class="sifobjectnames">PersonPicture</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">Identity</td>
<td class="sifobjectnames">LearnerAssessmentResult</td>
<td class="sifobjectnames" rowspan="2">&#160;</td>
</tr>
<tr>
<td class="thisdocumentdefault" height="20">SchoolMealStatus</td>
<td class="sifobjectnames">&#160;</td>
</tr>
</tbody>
</table>
<h2>&#160;</h2>
<blockquote><h3>Recommendation for Derbyshire POC</h3>
<p>Since the goal of this POC is to implement Identity and Role management and to supply Forefront Identity Manager with the basic information it needs to create and manage accounts, we recommend that we implement “Group 1: Basic” SIF objects in this phase. </p>
</blockquote>
<h2>Connecting MIS Systems</h2>
<p>The following diagram gives an overview of how the MIS systems will be connected into the SIF infrastructure:</p>
<p><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" target="_blank"><img style="border-right-width: 0px; margin: 0px 0px 0px 15px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SimsMimic" border="0" alt="SimsMimic" align="right" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" width="420" height="340" /></a>On the Zone Integration Server, a separate zone will be created for each school (for more information on the use of Zones, see <a title="SIF Zones" href="http://www.sifsupport.com/wordpress/siflets/zones/" target="_blank">SIF Zones</a>) and each school’s copy of <a href="http://www.visualsi.com/Mimic.htm" target="_blank">Mimic</a> will be set as the Provider of learner information in that zone. Mimic will generate SIF messages by looking at the CSV files that each copy of SIMS creates on a scheduled basis, comparing it against the copy it looked at on its last scheduled run. (For more information on how Mimic works, see <a title="Mimic Users Guide" href="http://www.sifsupport.com/wordpress/mimic/mimic-user-guide/all/1" target="_blank">Mimic Users Guide</a>)</p>
<p>NOTE: A single ZIServer can host many (even thousands of) zones, and these zones can either be local (HTTP) or remote (HTTPS).</p>
<p>In order for the Mimic software to run, there will need to be a Windows computer running it and storing its SQL Server database in each location where there is an MIS.</p>
<h4>&#160;</h4>
<h3>Mimic as a Web Site</h3>
<p>Like all SIF Agents, Mimic runs as a web site. Like many SIF Agents, Mimic may run in SIF Pull or Push mode (Pull mode is analogous to batch mode and Push mode is similar to real-time mode – the meanings are very different than the typical meanings of ‘Push’ and ‘Pull’ in English. For a more complete description, see <a href="http://www.sifsupport.com/wordpress/siflets/sif-push-and-pull-modes/" target="_blank">SIF Push and Pull Modes</a>.)</p>
<p>This has implications for the installation because SIF Push mode (real-time) will require that the installation at the school have an external IP number and that the ZIS be able to communicate with the Agent. Although this is more work, we recommend this configuration because it allows the school to have its own certificate and allows us to set up Encryption Level 4, Authentication Level 3 where each side verifies the certificate of the other.</p>
<p>It is not necessary to use an outside certificate authority (you could use Certificate Services) because we will be setting up a closed community of servers. NOTE: In E2BN, we found out that, although it is supposed to be a simple matter to get certificates whenever we needed them, in reality it wasn’t all that simple.</p>
<h3>Mimic Database</h3>
<p>We typically use SQL Server Express Edition for Mimic installations. We are recommending installing SQL Server 2008 R2, especially since it now expands to 10GB and allows users to back up and restore.</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; School</strong></td>
<td class="estimateheadings"><strong>Group 1 Estimate</strong></td>
<td class="estimateheadings">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
<td class="estimatedescriptions" rowspan="7">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">During the first POC, Dell had access to a resource that had experience creating Capita SIMS reports. We would ask that the same person (or another person with a similar background) be contracted to:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Create SIMS reports for each of the SIF objects we need to publish</td>
</tr>
<tr>
<td class="estimatedescriptions">Create a package that would cause SIMS to automatically create these reports in a fixed location on a specified schedule</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the Capita SIMS reports created by the Dell SME, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="3">&#160;</td>
<td class="estimatedescriptions">Configure Mimic to publish events for the SIF object corresponding to the report, make backup copies of the CSV files in a library</td>
<td class="estimategreennumber"><strong>30</strong></td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">27</td>
<td class="estimategrayednumber">6</td>
<td class="estimategrayednumber">18</td>
<td class="estimategrayednumber">24</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of object configurations and create an installation package for the school</td>
<td class="estimategreennumber"><strong>10</strong></td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber"><strong>40</strong></td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">37</td>
<td class="estimategrayednumber">16</td>
<td class="estimategrayednumber">28</td>
<td class="estimategrayednumber">34</td>
</tr>
</tbody>
</table>
<p>In this estimate, the length of time it would take to create and test the installation package will not change significantly with the differing number of SIF objects implemented; most of the time in doing that will be in the setup, testing and making sure that the correct results were achieved when the tests were run. The configuration of the Mimic product, however, will largely depend on the number of objects being configured.</p>
<h2>Managing School Data Quality</h2>
<p>Normally, applications have user interfaces that prevent things from automatically happening when it receives “bad” information. For example, an application that creates user accounts from information entered into a user interface (a form) would first validate that information before using it to create the account.</p>
<p>When a user interface is replaced with a SIF interface, the subscribing application might be left trusting the validation rules of the source system unless something is put between the two to make sure that data quality is being maintained.</p>
<p>For example, in an MIS, it might not be too important that learner’s birth date is reasonable – to the MIS, it is only important that a value is entered into the field and that it is a valid date. But, to a VLE it is important that it is valid as well as reasonable. If a user were entering this information by hand into the VLE, he or she would never be able to enter today’s date into the birth date field.</p>
<h3>&#160;</h3>
<h3>Veracity</h3>
<p>Veracity is a product that does several things:</p>
<ul>
<li>It monitors data quality based on rules that have been set up at a certain level – for example, rules can be set up at the school level to capture errors as they come out of the MIS that will become problems in other systems that are connected to this system – checks like invalid birth dates, missing names, etc. </li>
<li>It maintains a consolidated database of data collected from all systems that can be used for reporting or other data analysis </li>
<li>It provides a portal interface so that users can see where they need to make changes to their data </li>
</ul>
<h3>Where Veracity Fits In</h3>
<p>We recommend installing Veracity in two places in this architecture:</p>
<ol>
<li>In the school zone – used here, the rule set that is applied to the collected data will check it against the needs of the other systems that will use its data. Additionally, the portal interface it provides will give users an insight into how close they are to the place where the data they enter can transparently flow throughout the system without alteration. </li>
<li>Post-Envoy – Envoy is the software that will match records and consolidate the information from the single zones into a group zone. Having Veracity subscribe here will provide a consolidated reporting and analysis database and a place where business rules can run that check for problems that might occur where data from one school collides with that from another. </li>
</ol>
<p align="left">The following diagram shows Veracity as it would be installed to monitor data quality for each of the school zones:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracity" border="0" alt="SimsMimicVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png" width="600" height="341" /></a><font size="1"><em>Adding Veracity – Click image to show in full screen</em></font></p>
<p>Since the ZIServer is being hosted, it is not unreasonable to assume that these copies of Veracity would be hosted as well.</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; School Veracity Copies</strong></td>
<td class="estimateheadings"><strong>Group 1 Estimate</strong></td>
<td class="estimateheadings">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to develop a set of data quality rules that reflect the data quality requirements of the other applications</td>
</tr>
<tr>
<td class="estimatedescriptions">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions"><em>(number of rules for objects in the group)</em></td>
<td class="estimategreennumber"><em>30</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>10</em></td>
<td class="estimategrayednumber"><em>10</em></td>
</tr>
<tr>
<td class="estimatedescriptions">Implement rules in Veracity along with the user feedback</td>
<td class="estimategreennumber"><strong>30</strong></td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">8</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">15</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of rule configurations and create a school installation package</td>
<td class="estimategreennumber"><strong>10</strong></td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber"><strong>40</strong></td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Merging/Matching Data</h2>
<p>The primary function of the <a href="http://www.visualsi.com/Envoy.htm" target="_blank">Envoy</a> product in this environment is to resolve differences when a physical object is&#160; represented in more than one MIS. This can happen when a learner attends more than one school, a teacher teaches at more than one school or a parent has children attending more than one school.</p>
<p>When this occurs, what envoy does is to create a “virtual object” by choosing the base object from the “more reliable” of the two and making it appear as if there was a single large MIS providing all the records from a single source. What this accomplishes for subscribing applications is to provide them with a simplified view of the learner population and centralizing the complex, matching logic where it can be independently tested and verified.</p>
<p>For more information on how this works, see: <a href="http://www.sifsupport.com/wordpress/other-sif-related-articles/managed-virtual-zones/" target="_blank">Managed Virtual Zones</a>.</p>
<p>In our implementation, we will use the Envoy product to perform this function, match records and combine records for all the schools into a single zone as depicted by the following diagram:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoy" border="0" alt="SimsMimicVeracityEnvoy" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" width="600" height="346" /></a><font size="1"><em>Adding Envoy – Click image to show in full screen</em></font></p>
<p>Setting up Envoy is more difficult than the other products because, for each of the SIF objects that it handles there are rules that must be, at a minimum, reviewed by the customer to make sure that everyone is in agreement as to how the object is being handled. These rules fall into two categories:</p>
<ol>
<li>How records are matched. Envoy can use a hierarchy of rules when matching – for example, when matching learner records, it can first try ULN, family name, given name, post code and birth date. Then if that doesn’t match it can try ULN, family name, given name, gender and birth date, then three more combinations before giving up and assuming that the two records are for different people. </li>
<li>How the “more reliable” base object is chosen when there is a choice. If a child attends two schools, there are two LearnerPersonal records – which one should a subscribing application receive as the “more reliable” of the two? Sometimes it is easy to choose (because the SIF specification has rules for choosing, other times is is more difficult). </li>
</ol>
<p>&#160;</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items – Envoy Rule Verification/Setup</strong></td>
<td class="estimateheadings"><strong>Group 1 Estimate</strong></td>
<td class="estimateheadings">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to review the record matching and choice rules for the objects that will be in use in this implementation</td>
</tr>
<tr>
<td class="estimatedescriptions">Work with us through the testing process to make sure that the rules are working properly</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions">Work with the customer reviewing the rule sets for all the objects used for the implementation</td>
<td class="estimategreennumber">45</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">18</td>
<td class="estimategrayednumber">4</td>
<td class="estimategrayednumber">12</td>
<td class="estimategrayednumber">16</td>
</tr>
<tr>
<td class="estimatedescriptions">Make changes as needed to existing rule set (Envoy also has the ability to restrict data from being sent if it does not meet certain criteria – these type of rules are more likely to be added)</td>
<td class="estimategreennumber">20</td>
<td class="estimategrayednumber">8</td>
<td class="estimategrayednumber">14</td>
<td class="estimategrayednumber">3</td>
<td class="estimategrayednumber">9</td>
<td class="estimategrayednumber">12</td>
</tr>
<tr>
<td class="estimatedescriptions">Testing to make sure matching and choices are being made properly</td>
<td class="estimategreennumber">50</td>
<td class="estimategrayednumber">20</td>
<td class="estimategrayednumber">36</td>
<td class="estimategrayednumber">8</td>
<td class="estimategrayednumber">24</td>
<td class="estimategrayednumber">32</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber">115</td>
<td class="estimategrayednumber">38</td>
<td class="estimategrayednumber">68</td>
<td class="estimategrayednumber">15</td>
<td class="estimategrayednumber">45</td>
<td class="estimategrayednumber">60</td>
</tr>
</tbody>
</table>
<p>With Envoy, most of the more difficult review work will be in the Group 1 objects. This is because Group 1 includes all of the “base” objects that are the ones that get matched: LAInfo, SchoolInfo, LearnerPersonal, ContactPersonal and WorkforcePersonal. These objects will have the hierarchy of matching rules that need to be reviewed where the other objects will have simpler, more definitive rules (however, they will typically have many more of them). This is why the bulk of the hours show up in the estimate for Group 1.</p>
<blockquote><p>NOTE: At this point, it would be possible to connect a “Local Authority Level” SIF-enabled application to the consolidated zone (as we intend to do with Ipseity).</p>
</blockquote>
<p>&#160;</p>
<h2>Identity and Role Management</h2>
<p>Once records have been data quality checked and consolidated, information is passed to the Identity and Role Manager, Ipseity™ (formerly codename Sentry). This SIF agent will subscribe to several objects and publish one – by subscribing, it will receive all of the information it needs to create account names and most of the information it needs to assign roles to the applications it manages.</p>
<p>The following diagram gives an overall picture of where Ipseity fits into the overall architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseity" border="0" alt="SimsMimicVeracityEnvoyIpseity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Ipseity – Click image to show in full screen</em></font></p>
<p>As shown in this picture, Ipseity has not only a SIF interface, but also a web services interface. This interface was put in so that non-SIF applications could easily use it features such as:</p>
<ul>
<li><font size="2">Adding new users to the pool of users being managed, so that Ipseity can assign IDs that are consistent with the automatically managed IDs</font> </li>
<li><font size="2">Query the database of all users for {new/changed/deleted} users, which users are assigned to which schools, which users are assigned to what roles (in which schools), etc..</font> </li>
</ul>
<p>There are several web service calls supported by Ipseity that all return recordsets, making it simple for other applications to access data in its store either from the same location or remotely (through HTTPS). For more information on these facilities, see: <a href="http://www.sifsupport.com/wordpress/customer-previews-and-feedback/extending-identity-management-roles/" target="_blank">Extending Identity Management &#8211; Roles</a></p>
<h3>Subscribed Objects</h3>
<p>Ipseity will subscribe to the following objects:</p>
<ul>
<li>LAInfo </li>
<li>SchoolInfo </li>
<li>LearnerPersonal </li>
<li>LearnerSchoolEnrolment </li>
<li>WorkforcePersonal – this contains all information about teachers, including all schools at which they work. Some of these records <u>may</u> be skipped because their assignments might indicate that they have no computer interaction </li>
<li>ContactPersonal – this contains basic information about a parent or other contact. Some of these records will be ignored, such as those for after school programs or medical facilities that are stored in an MIS, but will not be needed in Ipseity for Identity or Role management purposes </li>
<li>LearnerContact – this links a contact record to a learner record </li>
</ul>
<h3>Published Object</h3>
<p>Ipseity will publish the following object:</p>
<ul>
<li>Identity – this will contain the identities it assigns, including AD account names, Shibboleth names, and initial passwords, etc. </li>
</ul>
<h3>Roles Being Managed</h3>
<p>At a minimum, roles for the products we are installing will need to be managed.</p>
<p>For example, ZIServer will need to be assigned people who will be able to create and manage zones, assign permissions and those who will have access to the audits. It might be the case that people in the schools may need access to the audits as well.</p>
<p>Veracity’s interface will need a similar administrator role, but it will also have interfaces for a person who creates business rules (someone who knows about school MIS data – probably not a system administrator), and several people in each school who will be using its interface to correct errors in data (these will probably not overlap with the other two at all).</p>
<p>Envoy will need an administrator, but will also need someone who oversees the business rules that govern how record matching is done and choices are made (this person is more of an analyst, not a systems administrator), but there will be nobody in the school who will have access.</p>
<blockquote><p>Question: In the following spreadsheet, it was indicated that the following roles are required for use by one or more Dell applications: </p>
<p>Original Excel file with edits:<a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMISroledatafieldswithSIFcodevalues5.xls">Sims MIS role data fields with SIF code values.xls</a></p>
<p>Would it be desirable to use Ipseity to manage these roles along with the roles for ZIServer, Veracity and Envoy? Users would be able to use the same interface and the applications would have access to the common web services interface.</p>
</blockquote>
<p>&#160;</p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items – Ipseity Setup </strong></td>
<td class="estimateheadings"><strong>Per App&#160; Estimate</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to review the requirements for any new applications that will use the application</td>
</tr>
<tr>
<td class="estimatedescriptions">Work with us and schools to assign roles for our products</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions">Normal setup of application (included)</td>
<td class="estimategreennumber">0</td>
</tr>
<tr>
<td class="estimatedescriptions">Normal setup of application to work with our other applications (ZIServer, Veracity, Envoy) (included)</td>
<td class="estimategreennumber">0</td>
</tr>
<tr>
<td class="estimatedescriptions">Setup to work with third party application (each application, if any)</td>
<td class="estimategreennumber">25</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber">25</td>
</tr>
</tbody>
</table>
<p>Note: the setup of this application does not depend on the SIF objects being configured, so it will not vary from implementation to implementation.</p>
<h2>Consolidated Data Quality Checking / Reporting</h2>
<p>The final step in the process (or this could be swapped with the IDRM step) will be to set up a copy of Veracity that consolidates all data from all schools (and Ipseity) into a single database and performs another set of data quality rules on them.</p>
<p>The data quality rules that are run on this set of data should not be checking for the simple things that should have been remedied at the school, but rather other types of errors that show up when data from one school is combined with that from another.</p>
<p>An example might be: for a given learner we might see attendance records showing him attending both his morning and afternoon schools the same morning of the same day and this is not supposed to happen. Or, we see two children with completely different demographic information in different schools, but they have the same ULN.</p>
<p>The following diagram shows where this copy of Veracity is installed in the architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity_thumb.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Veracity (on consolidated data set) – Click image to show in full screen</em></font></p>
<p>This copy becomes a subscriber in the combined zone. Since Veracity’s database is effectively an Enterprise Data Store, we’ve found that it is very useful to other applications such as:</p>
<ul>
<li>Data Warehouses: these can sample the database on given intervals. Typically, the DW builds a series of views, stored procedures or compiled queries that get called on a regular basis that take a snapshot from our repository. </li>
<li>Reporting Application: tools such as SQL Reporting Services are used in districts to produced real-time reports on data that is collected from many sources. In our scenario, we are only collecting data from the MIS and from Ipseity, but in other places they may collect data from as many as 8 or 9 places. </li>
<li>Data Analysis: some use SQL Analysis in similar ways to perform data analysis on the Veracity database or a replicated snapshot. </li>
</ul>
<p>To view the database layout and to get an empty Veracity Database Backup, see: <a href="http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/" target="_blank">Veracity UK 1.2 Data</a></p>
<table style="border-bottom: #006600 0px solid; border-left: #006600 0px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: #006600 0px solid; border-right: #006600 0px solid; padding-top: 3px" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<td class="estimateheadings" colspan="2"><strong>Integration Items &#8211; Combined Veracity Copy</strong></td>
<td class="estimateheadings"><strong>Group 1 Estimate</strong></td>
<td class="estimateheadings">Group 2 Estimate</td>
<td class="estimateheadings">Group 3 Estimate</td>
<td class="estimateheadings">Group 4 Estimate</td>
<td class="estimateheadings">Group 5 Estimate</td>
<td class="estimateheadings">Group 6 Estimate</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
<td class="estimatedescriptions" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="2">&#160;</td>
<td class="estimatedescriptions">Work with us to develop a set of data quality rules that reflect the data quality requirements of the combined dataset</td>
</tr>
<tr>
<td class="estimatedescriptions">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="estimatedescriptions" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="estimatedescriptions" rowspan="4">&#160;</td>
<td class="estimatedescriptions"><em>(number of rules for objects in the group)</em></td>
<td class="estimategreennumber"><em>20</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>5</em></td>
<td class="estimategrayednumber"><em>10</em></td>
</tr>
<tr>
<td class="estimatedescriptions">Implement rules in Veracity along with the user feedback</td>
<td class="estimategreennumber">40</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">20</td>
</tr>
<tr>
<td class="estimatedescriptions">Save the collection of rule configurations and create a school installation package</td>
<td class="estimategreennumber"><strong>10</strong></td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
<td class="estimategrayednumber">10</td>
</tr>
<tr>
<td class="estimatedescriptionright"><strong>Total Visual Software School Hours</strong></td>
<td class="estimategreennumber">70</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">25</td>
<td class="estimategrayednumber">35</td>
</tr>
</tbody>
</table>
<p>Although there is no data warehouse requirement for Derbyshire, data quality checking is an essential part of this implementation. The above estimates are for that data quality checking and not to support a data warehouse interface.</p>
<h2>Summary</h2>
<p>This is an estimate; these hours are based on certain assumptions about a number of business rules that will be requested and a level of data cleanliness we will find when we see the actual data.</p>
<p>This could vary widely – the difference in the effort required for us to successfully integrate all these applications between locations where the data is carefully maintained and those where it isn’t can be huge (up to 50% of the project).&#160; This is why we suggest a step-by-step approach where the data quality issues are addressed in the first step, so that they will not haunt us in later steps.</p>
<p>We also use the strategy of giving tools to users in the first step that “make their life better”. One would think that Veracity “looking over their shoulder” would not fit into that category, but it can.</p>
<p>For example, if we were to encode their annual census rules into quality checks, it would give them a tool that allows them to see how close they are to not having any work to do next time a census is due – except to run a query against their local Veracity DB and export it – perhaps…</p>
<p>These estimates assume that the work would be able to be performed from our office through a connection such as a VPN tunnel. We found that working offsite (such as we did during the first POC) added about 80% to the length of time it took to do a given task (so 10 hours in our office working through a remote facility = 18 hours working at the Dell site).</p>
<p>This SOW is intended to be a working document – the comments facility is here to allow other team members to pose questions, make comments and give suggestions – please use it. Comments will first go through me (Rob Hutchison) for approval, so if you don’t want it to be seen by everyone, put “PRIVATE” on the first line and I won’t publish it for all. Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/dell-specific/phase-ii-sow-derbyshire-poc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zones</title>
		<link>http://www.sifsupport.com/wordpress/siflets/zones/</link>
		<comments>http://www.sifsupport.com/wordpress/siflets/zones/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 23:36:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/siflets/zones/</guid>
		<description><![CDATA[Definition
A “zone” in SIF is a logical place or container where two or more agents can share data, isolated from data in any other zone. There can be many zones hosted on a typical Zone Integration Server and one agent may be registered in more than one zone concurrently (but to be useful at all [...]]]></description>
			<content:encoded><![CDATA[<h2>Definition</h2>
<p>A “zone” in SIF is a logical place or container where two or more agents can share data, isolated from data in any other zone. There can be many zones hosted on a typical Zone Integration Server and one agent may be registered in more than one zone concurrently (but to be useful at all it must be registered in at least one zone).</p>
<h2>Zone Architecture</h2>
<p>To understand where zones will be needed in an architecture, the needs and capabilities of the subscribing applications that will be used must be properly considered.</p>
<p>The reason why this is necessary is that, on occasion (when initializing, at end-of-year rollover and if they the want to re-sync) , subscribers will make a “request all” for certain object types. What they will get in return are all records of that type in the zone.</p>
<ul>
<li><font size="2">Is this application allowed to see all the information returned? For example, if this application was a library system installed at a school and the information returned to it contained information from other schools, then the answer would be “no”. One school should only receive information for students from that school.</font> </li>
</ul>
<p>It has been a common practice to create a zone for each Student Management System (or SIS (US), or MIS (UK)); sometimes this works well , other times it doesn’t. Ideally, it should probably be more like: <font color="#804040"><strong>create a zone at the lowest level where there will be a subscribing SIF application</strong></font>. </p>
<hr />
<h2><strong>Zone Architecture Examples</strong></h2>
<p>The following sections give some examples of SIF zone architectures that might be appropriate, depending on where student information is managed and where it is needed by subscribing applications.</p>
<h3>United Kingdom Example</h3>
<p>In the UK, data is typically managed in Management Information Systems (MIS) that are installed and run from individual schools. The Zone Integration Servers may reside at the school or may be centrally hosted and the subscribing applications may run locally from the schools, from a local authority or may be centrally hosted from a Regional Broadband Consortium (RBC).</p>
<p>In the UK, when a learner reaches age 14, he or she may begin to attend more than one school during the course of a day, causing his or her records to be managed in more than one of these MIS systems. It shouldn’t be assumed that the SIF RefIds from any of these MIS systems are synchronized, so it should also be assumed that if a learner attends two different schools, his or her school records will look like those from two different people. </p>
<p>NOTE: technically, the same thing will happen for special education learners who attend more than one school – their records will be maintained in more than one MIS.</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/ZonesUKSimple.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="ZonesUKSimple" border="0" alt="ZonesUKSimple" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/ZonesUKSimple_thumb.png" width="520" height="196" /></a><font size="1"><em> (click image to open in separate window)</em></font></p>
<p>In this example, three schools each have their own independent zone (they could be hosted on the same Zone Integration Server) containing information provided by the school’s MIS. The subscribing application, also installed at the school, gets its information from the zone through its SIF agent. Because of the way the ZIS manages zones, it is guaranteed that information from one zone will never be mixed with that from another zone.</p>
<h4>UK Example – Shared Applications</h4>
<p>The above example is simple, but not all applications are installed at schools – many are hosted either at a Local Authority or at an RBC and shared by several schools.</p>
<p>This presents a problem. One of the most basic rules in SIF is that <font color="#804040"><strong>in a given zone, there may be only a single provider for each object</strong></font>.&#160; This makes sense since a provider is defined as the agent who, by default, receives requests for a given object when a subscriber agent makes a request and doesn’t specify where to send the request (it is sent to the provider agent).</p>
<p>So, what you can’t do is to have all of the MIS (SIS) agents be providers in a common zone. But, there are alternatives:</p>
<ul>
<li><strong>Multi-zoned agents</strong>: these are agents that register in more than one zone. For subscribing applications, writing one of these agents is somewhat difficult; for publishers it is very difficult. These agents must be able to keep track of many sets of RefId values, one for each school and if a learner appears in more than one school, it gets even more complex. </li>
<li><strong>Managed Virtual Zones (MVZ)</strong>: when Visual Software entered the UK market, it realized that a problem existed with currently available facilities using SIF as implemented with multi-zoned agents. To address these problems, it invented Managed Virtual Zones and created the <a href="http://www.visualsi.com/Envoy.htm" target="_blank">Envoy</a> product to implement it. With this architecture, the application agents do not need to be written with the complex multi-zone logic – all of the complexities are centralized in one place and can be tested independently and verified before other agents are connected.</li>
</ul>
<p>The following is a picture of how applications would be connected using a MVZ architecture and Envoy:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/EnvoyPicture.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="EnvoyPicture" border="0" alt="EnvoyPicture" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/EnvoyPicture_thumb.png" width="570" height="382" /></a> <font size="1"><em>(click image to open in separate window)</em></font></p>
<p>In this example, the subscriber in the combined zone would not need to know any details about who is providing what object or learners that go to two different schools – the details would be “ironed out” and the combined community would appear as if it was being maintained by a single MIS (SIS). For more information on Envoy and MVZ, see <a href="http://www.sifsupport.com/wordpress/other-sif-related-articles/managed-virtual-zones/" target="_blank">Managed Virtual Zones</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/siflets/zones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VSI Phase II SOW</title>
		<link>http://www.sifsupport.com/wordpress/dell-specific/visual-software-phase-ii-sow/</link>
		<comments>http://www.sifsupport.com/wordpress/dell-specific/visual-software-phase-ii-sow/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 15:35:29 +0000</pubDate>
		<dc:creator>rchutch</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/?page_id=2153</guid>
		<description><![CDATA[


.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style3 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #008000;
	color: #ffff00;
}
.auto-style1 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
}
.auto-style4 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: center;
}
.auto-style5 {
	font-family: [...]]]></description>
			<content:encoded><![CDATA[<p><style type="text/css">


.integrationitem {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style3 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #008000;
	color: #ffff00;
}
.auto-style1 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
}
.auto-style4 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: center;
}
.auto-style5 {
	font-family: verdana, geneva, tahoma, sans-serif;
	font-size: small;
	font-weight: normal;
	font-style: normal;
	background-color: #ffffea;
	border: 1px solid #000000;
	padding: 4px;
	width: 100%;
	border-collapse: collapse;
}
.auto-style6 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: white;
	text-align: right;
}
.auto-style7 {
	border-left: .75pt solid navy;
	border-right-style: .75pt solid navy;
	border-top-style: none;
	border-bottom: .75pt solid navy;
	background-color: #e1ffe1;
	text-align: center;
}</style><br />
<h2>Introduction</h2>
<p>In June 2009, Dell, Visual Software and ITWorx assembled a Proof of Concept for the Cambridgeshire BSF bid and demonstrated that the Schools Interoperability Framework could be used to transport learner information such as that which would come from a typical UK MIS to a learning platform in near real time to meet the requirements of the Local Authority (LA).</p>
<p>In the first phase, for several reasons, we used a MIS simulator instead of using a copy of Capita SIMS, Serco CMIS or one of the other MIS systems.&#160; In the second phase of this overall project, we will be putting together a lasting platform that will be used in the Cambridgeshire and Derbyshire implementations.</p>
<p>This document’s first purpose is to supply Visual Software’s recommendations for setting up a SIF implementation for these schools, connecting the MIS instances, providing matching, identity and role management, providing facilities for checking the data for quality standards and providing an interface for the other Dell-incorporated software. In addition, its second purpose is to provide cost estimates for the work that will be involved in this integration project.</p>
<h2>Visual Software Component Overview</h2>
<p>Visual Software components will interface with instances of Management Information Systems at schools and with Dell supplied components within the data center. In general, our components will be connected as follows:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity_thumb.png" width="660" height="365" /></a><font size="1"><em>Overview – Click image to show in full screen</em></font></p>
<h2>&#160;</h2>
<h2>Connecting MIS Systems</h2>
<p>The following diagram gives an overview of how the MIS systems will be connected into the SIF infrastructure:</p>
<p><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic1.png" target="_blank"><img style="border-right-width: 0px; margin: 0px 0px 0px 15px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SimsMimic" border="0" alt="SimsMimic" align="right" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimic_thumb1.png" width="420" height="340" /></a>On the Zone Integration Server, a separate zone will be created for each school (for more information on the use of Zones, see <a title="SIF Zones" href="http://www.sifsupport.com/wordpress/siflets/zones/" target="_blank">SIF Zones</a>) and each school’s copy of <a href="http://www.visualsi.com/Mimic.htm" target="_blank">Mimic</a> will be set as the Provider of learner information in that zone. Mimic will generate SIF messages by looking at the CSV files that each copy of SIMS creates on a scheduled basis, comparing it against the copy it looked at on its last scheduled run. (For more information on how Mimic works, see <a title="Mimic Users Guide" href="http://www.sifsupport.com/wordpress/mimic/mimic-user-guide/all/1" target="_blank">Mimic Users Guide</a>)</p>
<p>NOTE: A single ZIServer can host many (even thousands of) zones, and these zones can either be local (HTTP) or remote (HTTPS).</p>
<p>In order for the Mimic software to run, there will need to be a Windows computer running it and storing its SQL Server database in each location where there is an MIS.</p>
<h4>&#160;</h4>
<h3>Mimic as a Web Site</h3>
<p>Like all SIF Agents, Mimic runs as a web site. Like many SIF Agents, Mimic may run in SIF Pull or Push mode (Pull mode is analogous to batch mode and Push mode is similar to real-time mode – the meanings are very different than the typical meanings of ‘Push’ and ‘Pull’ in English. For a more complete description, see <a href="http://www.sifsupport.com/wordpress/siflets/sif-push-and-pull-modes/" target="_blank">SIF Push and Pull Modes</a>.)</p>
<p>This has implications for the installation because SIF Push mode (real-time) will require that the installation at the school have an external IP number and that the ZIS be able to communicate with the Agent. Although this is more work, we recommend this configuration because it allows the school to have its own certificate and allows us to set up Encryption Level 4, Authentication Level 3 where each side verifies the certificate of the other.</p>
<p>It is not necessary to use an outside certificate authority (you could use Certificate Services) because we will be setting up a closed community of servers. NOTE: In E2BN, we found out that, although it is supposed to be a simple matter to get certificates whenever we needed them, in reality it wasn’t all that simple.</p>
<h3>Mimic Database</h3>
<p>We typically use SQL Server Express Edition for Mimic installations. We are recommending installing SQL Server 2008 R2, especially since it now expands to 10GB and allows users to back up and restore.</p>
<table class="auto-style5" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td style="height: 25px" class="auto-style3" colspan="2"><strong>Integration Items &#8211; School</strong></td>
<td style="height: 25px" class="auto-style3"><strong>Hours Estimate</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="auto-style4" rowspan="7">&#160;</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">During the first POC, Dell had access to a resource that had experience creating Capita SIMS reports. We would ask that the same person (or another person with a similar background) be contracted to:</td>
</tr>
<tr>
<td style="width: 30px" class="auto-style1" rowspan="2">&#160;</td>
<td class="auto-style1">Create SIMS reports for each of the SIF objects we need to publish</td>
</tr>
<tr>
<td style="height: 27px" class="auto-style1">Create a package that would cause SIMS to automatically create these reports in a fixed location on a specified schedule</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">For each of the Capita SIMS reports created by the Dell SME, we would:</td>
</tr>
<tr>
<td class="auto-style1" rowspan="3">&#160;</td>
<td class="auto-style1">Configure Mimic to publish events for the SIF object corresponding to the report, make backup copies of the CSV files in a library</td>
<td class="auto-style7"><strong>45</strong></td>
</tr>
<tr>
<td class="auto-style1">Save the collection of object configurations and create an installation package for the school</td>
<td class="auto-style7"><strong>15</strong></td>
</tr>
<tr>
<td class="auto-style6"><strong>Total Visual Software School Items</strong></td>
<td class="auto-style7"><strong>55</strong></td>
</tr>
</tbody>
</table>
<h2>&#160;</h2>
<h2>Managing School Data Quality</h2>
<p>Normally, applications have user interfaces that prevent things from automatically happening when it receives “bad” information. For example, an application that creates user accounts from information entered into a user interface (a form) would first validate that information before using it to create the account.</p>
<p>When a user interface is replaced with a SIF interface, the subscribing application might be left trusting the validation rules of the source system unless something is put between the two to make sure that data quality is being maintained.</p>
<p>For example, in an MIS, it might not be too important that learner’s birth date is reasonable – to the MIS, it is only important that a value is entered into the field and that it is a valid date. But, to a VLE it is important that it is valid as well as reasonable. If a user were entering this information by hand into the VLE, he or she would never be able to enter today’s date into the birth date field.</p>
<h3>&#160;</h3>
<h3>Veracity</h3>
<p>Veracity is a product that does several things:</p>
<ul>
<li>It monitors data quality based on rules that have been set up at a certain level – for example, rules can be set up at the school level to capture errors as they come out of the MIS that will become problems in other systems that are connected to this system – checks like invalid birth dates, missing names, etc. </li>
<li>It maintains a consolidated database of data collected from all systems that can be used for reporting or other data analysis </li>
<li>It provides a portal interface so that users can see where they need to make changes to their data </li>
</ul>
<h3>Where Veracity Fits In</h3>
<p>We recommend installing Veracity in two places in this architecture:</p>
<ol>
<li>In the school zone – used here, the rule set that is applied to the collected data will check it against the needs of the other systems that will use its data. Additionally, the portal interface it provides will give users an insight into how close they are to the place where the data they enter can transparently flow throughout the system without alteration. </li>
<li>Post-Envoy – Envoy is the software that will match records and consolidate the information from the single zones into a group zone. Having Veracity subscribe here will provide a consolidated reporting and analysis database and a place where business rules can run that check for problems that might occur where data from one school collides with that from another. </li>
</ol>
<p align="left">The following diagram shows Veracity as it would be installed to monitor data quality for each of the school zones:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracity" border="0" alt="SimsMimicVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracity_thumb.png" width="620" height="352" /></a><font size="1"><em>Adding Veracity – Click image to show in full screen</em></font></p>
<p>Since the ZIServer is being hosted, it is not unreasonable to assume that these copies of Veracity would be hosted as well.</p>
<table class="auto-style5" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td style="height: 25px" class="auto-style3" colspan="2"><strong>Integration Items &#8211; School Veracity Copies</strong></td>
<td style="height: 25px" class="auto-style3"><strong>Hours Estimate</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="auto-style4" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td style="width: 30px" class="auto-style1" rowspan="2">&#160;</td>
<td class="auto-style1">Work with us to develop a set of data quality rules that reflect the data quality requirements of the other applications</td>
</tr>
<tr>
<td style="height: 27px" class="auto-style1">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="auto-style1" rowspan="3">&#160;</td>
<td class="auto-style1">Implement the rule in Veracity along with the user feedback</td>
<td class="auto-style7"><strong>1.5 hour/ rule</strong></td>
</tr>
<tr>
<td class="auto-style1">Save the collection of rule configurations and create a school installation package</td>
<td class="auto-style7"><strong>15</strong></td>
</tr>
<tr>
<td class="auto-style6"><strong>Total Visual Software Veracity Items (30 Rules)</strong></td>
<td class="auto-style7"><strong>60</strong></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Merging/Matching Data</h2>
<p>The primary function of the <a href="http://www.visualsi.com/Envoy.htm" target="_blank">Envoy</a> product in this environment is to resolve differences when a physical object is&#160; represented in more than one MIS. This can happen when a learner attends more than one school, a teacher teaches at more than one school or a parent has children attending more than one school.</p>
<p>When this occurs, what envoy does is to create a “virtual object” by choosing the base object from the “more reliable” of the two and making it appear as if there was a single large MIS providing all the records from a single source. What this accomplishes for subscribing applications is to provide them with a simplified view of the learner population and centralizing the complex, matching logic where it can be independently tested and verified.</p>
<p>For more information on how this works, see: <a href="http://www.sifsupport.com/wordpress/other-sif-related-articles/managed-virtual-zones/" target="_blank">Managed Virtual Zones</a>.</p>
<p>In our implementation, we will use the Envoy product to perform this function, match records and combine records for all the schools into a single zone as depicted by the following diagram:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoy" border="0" alt="SimsMimicVeracityEnvoy" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoy_thumb.png" width="660" height="381" /></a><font size="1"><em>Adding Envoy – Click image to show in full screen</em></font></p>
<p>Setting up Envoy is more difficult than the other products because, for each of the SIF objects that it handles there are rules that must be, at a minimum, reviewed by the customer to make sure that everyone is in agreement as to how the object is being handled. These rules fall into two categories:</p>
<ol>
<li>How records are matched. Envoy can use a hierarchy of rules when matching – for example, when matching learner records, it can first try ULN, family name, given name, post code and birth date. Then if that doesn’t match it can try ULN, family name, given name, gender and birth date, then three more combinations before giving up and assuming that the two records are for different people. </li>
<li>How the “more reliable” base object is chosen when there is a choice. If a child attends two schools, there are two LearnerPersonal records – which one should a subscribing application receive as the “more reliable” of the two? Sometimes it is easy to choose (because the SIF specification has rules for choosing, other times is is more difficult). </li>
</ol>
<p>&#160;</p>
<table class="auto-style5" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td style="height: 25px" class="auto-style3" colspan="2"><strong>Integration Items &#8211; Envoy Rule Verification/Setup</strong></td>
<td style="height: 25px" class="auto-style3"><strong>Hours Estimate</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="auto-style4" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td style="width: 30px" class="auto-style1" rowspan="2">&#160;</td>
<td class="auto-style1">Work with us to review the record matching and choice rules for the objects that will be in use in this implementation</td>
</tr>
<tr>
<td style="height: 27px" class="auto-style1">Work with us through the testing process to make sure that the rules are working properly</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="auto-style1" rowspan="4">&#160;</td>
<td class="auto-style1">Work with the customer reviewing the rule sets for all the objects used for the implementation</td>
<td class="auto-style7"><strong>60</strong></td>
</tr>
<tr>
<td class="auto-style1">Make changes as needed to existing rule set (Envoy also has the ability to restrict data from being sent if it does not meet certain criteria &#8211; these type of rules are more likely to be added)</td>
<td class="auto-style7"><strong>20</strong></td>
</tr>
<tr>
<td class="auto-style1">Testing to make sure matching and choices are being made properly</td>
<td class="auto-style7"><strong>40</strong></td>
</tr>
<tr>
<td class="auto-style6"><strong>Total Visual Software Envoy Items</strong></td>
<td class="auto-style7"><strong>120</strong></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<blockquote><p>NOTE: At this point, it would be possible to connect a “Local Authority Level” SIF-enabled application to the consolidated zone (as we intend to do with Ipseity).</p>
</blockquote>
<p>&#160;</p>
<h2>Identity and Role Management</h2>
<p>Once records have been data quality checked and consolidated, information is passed to the Identity and Role Manager, Ipseity™ (formerly codename Sentry). This SIF agent will subscribe to several objects and publish one – by subscribing, it will receive all of the information it needs to create account names and most of the information it needs to assign roles to the applications it manages.</p>
<p>The following diagram gives an overall picture of where Ipseity fits into the overall architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseity" border="0" alt="SimsMimicVeracityEnvoyIpseity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseity_thumb.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Ipseity – Click image to show in full screen</em></font></p>
<p>As shown in this picture, Ipseity has not only a SIF interface, but also a web services interface. This interface was put in so that non-SIF applications could easily use it features such as:</p>
<ul>
<li><font size="2">Adding new users to the pool of users being managed, so that Ipseity can assign IDs that are consistent with the automatically managed IDs</font> </li>
<li><font size="2">Query the database of all users for {new/changed/deleted} users, which users are assigned to which schools, which users are assigned to what roles (in which schools), etc..</font> </li>
</ul>
<p>There are several web service calls supported by Ipseity that all return recordsets, making it simple for other applications to access data in its store either from the same location or remotely (through HTTPS). For more information on these facilities, see: <a href="http://www.sifsupport.com/wordpress/customer-previews-and-feedback/extending-identity-management-roles/" target="_blank">Extending Identity Management &#8211; Roles</a></p>
<h3>Subscribed Objects</h3>
<p>Ipseity will subscribe to the following objects:</p>
<ul>
<li>LAInfo </li>
<li>SchoolInfo </li>
<li>LearnerPersonal </li>
<li>LearnerSchoolEnrolment </li>
<li>WorkforcePersonal – this contains all information about teachers, including all schools at which they work. Some of these records <u>may</u> be skipped because their assignments might indicate that they have no computer interaction </li>
<li>ContactPersonal – this contains basic information about a parent or other contact. Some of these records will be ignored, such as those for after school programs or medical facilities that are stored in an MIS, but will not be needed in Ipseity for Identity or Role management purposes </li>
<li>LearnerContact – this links a contact record to a learner record </li>
</ul>
<h3>Published Object</h3>
<p>Ipseity will publish the following object:</p>
<ul>
<li>Identity – this will contain the identities it assigns, including AD account names, Shibboleth names, and initial passwords, etc. </li>
</ul>
<h3>Roles Being Managed</h3>
<p>At a minimum, roles for the products we are installing will need to be managed.</p>
<p>For example, ZIServer will need to be assigned people who will be able to create and manage zones, assign permissions and those who will have access to the audits. It might be the case that people in the schools may need access to the audits as well.</p>
<p>Veracity’s interface will need a similar administrator role, but it will also have interfaces for a person who creates business rules (someone who knows about school MIS data – probably not a system administrator), and several people in each school who will be using its interface to correct errors in data (these will probably not overlap with the other two at all).</p>
<p>Envoy will need an administrator, but will also need someone who oversees the business rules that govern how record matching is done and choices are made (this person is more of an analyst, not a systems administrator), but there will be nobody in the school who will have access.</p>
<blockquote><p>Question: In the following spreadsheet, it was indicated that the following roles are required for use by one or more Dell applications: </p>
<p>Original Excel file with edits:<a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMISroledatafieldswithSIFcodevalues5.xls">Sims MIS role data fields with SIF code values.xls</a></p>
<p>Would it be desirable to use Ipseity to manage these roles along with the roles for ZIServer, Veracity and Envoy? Users would be able to use the same interface and the applications would have access to the common web services interface.</p>
</blockquote>
<p>&#160;</p>
<table class="auto-style5" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td style="height: 25px" class="auto-style3" colspan="2"><strong>Integration Items – Ipseity Setup</strong></td>
<td style="height: 25px" class="auto-style3"><strong>Hours Estimate</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="auto-style4" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td style="width: 30px" class="auto-style1" rowspan="2">&#160;</td>
<td class="auto-style1">Work with us to review the requirements for any new applications that will use the application</td>
</tr>
<tr>
<td style="height: 27px" class="auto-style1">Work with us and schools to assign roles for our products</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">For this phase, we would:</td>
</tr>
<tr>
<td class="auto-style1" rowspan="4">&#160;</td>
<td class="auto-style1">Normal setup of application (included)</td>
<td class="auto-style7"><strong>0</strong></td>
</tr>
<tr>
<td class="auto-style1">Normal setup of application to work with our other applications (ZIServer, Veracity, Envoy) (included)</td>
<td class="auto-style7"><strong>0</strong></td>
</tr>
<tr>
<td class="auto-style1">Setup to work with third party application (each application, if any)</td>
<td class="auto-style7"><strong>25</strong></td>
</tr>
<tr>
<td class="auto-style6"><strong>Total Visual Software Envoy Items</strong></td>
<td class="auto-style7"><strong>25</strong></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Consolidated Data Quality Checking / Reporting</h2>
<p>The final step in the process (or this could be swapped with the IDRM step) will be to set up a copy of Veracity that consolidates all data from all schools (and Ipseity) into a single database and performs another set of data quality rules on them.</p>
<p>The data quality rules that are run on this set of data should not be checking for the simple things that should have been remedied at the school, but rather other types of errors that show up when data from one school is combined with that from another.</p>
<p>An example might be: for a given learner we might see attendance records showing him attending both his morning and afternoon schools the same morning of the same day and this is not supposed to happen. Or, we see two children with completely different demographic information in different schools, but they have the same ULN.</p>
<p>The following diagram shows where this copy of Veracity is installed in the architecture:</p>
<p align="center"><a href="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SimsMimicVeracityEnvoyIpseityVeracity" border="0" alt="SimsMimicVeracityEnvoyIpseityVeracity" src="http://www.sifsupport.com/wordpress/wp-content/uploads/2010/07/SimsMimicVeracityEnvoyIpseityVeracity_thumb.png" width="660" height="365" /></a>&#160;<font size="1"><em>Adding Veracity (on consolidated data set) – Click image to show in full screen</em></font></p>
<p>This copy becomes a subscriber in the combined zone. Since Veracity’s database is effectively an Enterprise Data Store, we’ve found that it is very useful to other applications such as:</p>
<ul>
<li>Data Warehouses: these can sample the database on given intervals. Typically, the DW builds a series of views, stored procedures or compiled queries that get called on a regular basis that take a snapshot from our repository. </li>
<li>Reporting Application: tools such as SQL Reporting Services are used in districts to produced real-time reports on data that is collected from many sources. In our scenario, we are only collecting data from the MIS and from Ipseity, but in other places they may collect data from as many as 8 or 9 places. </li>
<li>Data Analysis: some use SQL Analysis in similar ways to perform data analysis on the Veracity database or a replicated snapshot. </li>
</ul>
<p>To view the database layout and to get an empty Veracity Database Backup, see: <a href="http://www.sifsupport.com/wordpress/veracity/veracity-uk-1-2-data-dictionary/" target="_blank">Veracity UK 1.2 Data</a></p>
<table class="auto-style5" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td style="height: 25px" class="auto-style3" colspan="2"><strong>Integration Items – Combined Veracity Copy</strong></td>
<td style="height: 25px" class="auto-style3"><strong>Hours Estimate</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">The following items would not normally be considered part of a “normal installation” of our products:</td>
<td class="auto-style4" rowspan="6">&#160;</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Dell Items</strong></td>
</tr>
<tr>
<td style="width: 30px" class="auto-style1" rowspan="2">&#160;</td>
<td class="auto-style1">Work with us to develop a set of data quality rules that reflect the data quality requirements of the combined dataset</td>
</tr>
<tr>
<td style="height: 27px" class="auto-style1">Develop meaningful user feedback for when those items are missing or invalid (UK English)</td>
</tr>
<tr>
<td class="auto-style1" colspan="2"><strong>Visual Software Items</strong></td>
</tr>
<tr>
<td class="auto-style1" colspan="2">For each of the data quality rules articulated by the Dell team, we would:</td>
</tr>
<tr>
<td class="auto-style1" rowspan="3">&#160;</td>
<td class="auto-style1">Implement the rule in Veracity along with the user feedback</td>
<td class="auto-style7"><strong>1.5 hour/ rule</strong></td>
</tr>
<tr>
<td class="auto-style1">Save the collection of rule configurations and create an installation package</td>
<td class="auto-style7"><strong>15</strong></td>
</tr>
<tr>
<td class="auto-style6"><strong>Total Visual Software Veracity Items (30 Rules)</strong></td>
<td class="auto-style7"><strong>60</strong></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Summary</h2>
<p>This is an estimate; these hours are based on certain assumptions about a number of business rules that will be requested and a level of data cleanliness we will find when we see the actual data.</p>
<p>This could vary widely – the difference in the effort required for us to successfully integrate all these applications between locations where the data is carefully maintained and those where it isn’t can be huge (up to 50% of the project).&#160; This is why we suggest a step-by-step approach where the data quality issues are addressed in the first step, so that they will not haunt us in later steps.</p>
<p>We also use the strategy of giving tools to users in the first step that “make their life better”. One would think that Veracity “looking over their shoulder” would not fit into that category, but it can.</p>
<p>For example, if we were to encode their annual census rules into quality checks, it would give them a tool that allows them to see how close they are to not having any work to do next time a census is due – except to run a query against their local Veracity DB and export it – perhaps…</p>
<p>These estimates assume that the work would be able to be performed from our office through a connection such as a VPN tunnel. We found that working offsite (such as we did during the first POC) added about 80% to the length of time it took to do a given task (so 10 hours in our office working through a remote facility = 18 hours working at the Dell site).</p>
<p>This SOW is intended to be a working document – the comments facility is here to allow other team members to pose questions, make comments and give suggestions – please use it. Comments will first go through me (Rob Hutchison) for approval, so if you don’t want it to be seen by everyone, put “PRIVATE” on the first line and I won’t publish it for all. Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/dell-specific/visual-software-phase-ii-sow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dell Specific</title>
		<link>http://www.sifsupport.com/wordpress/dell-specific/</link>
		<comments>http://www.sifsupport.com/wordpress/dell-specific/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 15:27:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sifsupport.com/wordpress/?page_id=2151</guid>
		<description><![CDATA[This section is visible only to those in the Dell group and contains documents and other files pertaining to Dell-related projects.
]]></description>
			<content:encoded><![CDATA[<p>This section is visible only to those in the Dell group and contains documents and other files pertaining to Dell-related projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sifsupport.com/wordpress/dell-specific/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
