<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?action=history&amp;feed=atom&amp;title=FS_292887_EPOD_Automatic_Updater</id>
	<title>FS 292887 EPOD Automatic Updater - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?action=history&amp;feed=atom&amp;title=FS_292887_EPOD_Automatic_Updater"/>
	<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_292887_EPOD_Automatic_Updater&amp;action=history"/>
	<updated>2026-07-02T05:46:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_292887_EPOD_Automatic_Updater&amp;diff=706&amp;oldid=prev</id>
		<title>Milesl: Update to build procedures</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_292887_EPOD_Automatic_Updater&amp;diff=706&amp;oldid=prev"/>
		<updated>2012-02-22T13:17:45Z</updated>

		<summary type="html">&lt;p&gt;Update to build procedures&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:17, 22 February 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l56&quot;&gt;Line 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Update CAB file building ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Update CAB file building ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Update (CAB) file built will be modified to automatically include the full version information from the EPOD Client app contained within it. It will also create a subdirectory of the install directory called Updater.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Update (CAB) file built will be modified to automatically include the full version information from the EPOD Client app contained within it. It will also create a subdirectory of the install directory called Updater.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The build process will change for the PDA Client.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The following build projects will need to be constructed:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*A Build for fresh install on a device containing both EPOD_CLIENT and EPOD_UPDATER (both installed)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*A Build for EPOD_CLIENT only&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*A Build for EPOD_UPDATER only&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== EPOD PDA Client/Server ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== EPOD PDA Client/Server ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Milesl</name></author>
	</entry>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_292887_EPOD_Automatic_Updater&amp;diff=705&amp;oldid=prev</id>
		<title>Anw at 12:56, 22 February 2012</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_292887_EPOD_Automatic_Updater&amp;diff=705&amp;oldid=prev"/>
		<updated>2012-02-22T12:56:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:56, 22 February 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l90&quot;&gt;Line 90:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 90:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If no command-line parameters have been specified (or the ''WEBSERVICE'' parameter is blank) then app will open the EPOD Client database and extract the WebService URL. The database will be disposed of at this stage.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If no command-line parameters have been specified (or the ''WEBSERVICE'' parameter is blank) then app will open the EPOD Client database and extract the WebService URL. The database will be disposed of at this stage.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The app will modify the WebService URL to keep all domain and sub-domain information, discard the service name and add ''PDAUpdates/'' to the end. For example URL ''http://www.x.com:9091/y/WebService/Calidus_EPOD/Calidus_EPOD.asmx'' becomes ''http://www.x.com:9091/y/WebService/Calidus_EPOD/PDAUpdates/''.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The app will modify the WebService URL to keep all domain and sub-domain information, discard the service name and add ''PDAUpdates/'' to the end. For example URL ''&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/ins&gt;http://www.x.com:9091/y/WebService/Calidus_EPOD/Calidus_EPOD.asmx&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;'' becomes ''&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/ins&gt;http://www.x.com:9091/y/WebService/Calidus_EPOD/PDAUpdates/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A single form will be displayed showing:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A single form will be displayed showing:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l132&quot;&gt;Line 132:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 132:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Rev1=Tony Walker&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Rev1=Tony Walker&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Rev1Title=Consultant&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Rev1Title=Consultant&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:{{#var:Client}} FS]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:{{#var:Client}} FS]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_292887_EPOD_Automatic_Updater&amp;diff=704&amp;oldid=prev</id>
		<title>Anw: v0.1 - Initial draft version</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=FS_292887_EPOD_Automatic_Updater&amp;diff=704&amp;oldid=prev"/>
		<updated>2012-02-22T12:52:46Z</updated>

		<summary type="html">&lt;p&gt;v0.1 - Initial draft version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;noprint&amp;quot;&amp;gt;&lt;br /&gt;
{{#vardefine:Client|PROD}}&lt;br /&gt;
{{#vardefine:ClientName|OBS}}&lt;br /&gt;
{{#vardefine:System|''CALIDUS'' EPOD}}&lt;br /&gt;
{{#vardefine:Doc_Title|EPOD Automatic Updater}}&lt;br /&gt;
{{#vardefine:Version|0.1}}&lt;br /&gt;
{{#vardefine:Date|22nd Feb 2012}}&lt;br /&gt;
{{#vardefine:Reference|292887}}&lt;br /&gt;
{{#vardefine:Year|2012}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Doc_Title&lt;br /&gt;
|Client={{#var:ClientName}}&lt;br /&gt;
|System={{#var:System}}&lt;br /&gt;
|Title={{#var:Doc_Title}}&lt;br /&gt;
|Reference=FS {{#var:Reference}}&lt;br /&gt;
|Version={{#var:Version}}&lt;br /&gt;
|Date={{#var:Date}}&lt;br /&gt;
|Year={{#var:Year}}&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOC --&amp;gt; &lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot;&amp;gt;&lt;br /&gt;
= Functional Overview  =&lt;br /&gt;
&lt;br /&gt;
== Client Requirement  ==&lt;br /&gt;
The intention of this process is to allow the EPOD PDA client to be updated in a much more automated way than is currently the case. &lt;br /&gt;
&lt;br /&gt;
Additionally, the process must be accessible so that it can be used to reinstall the application from scratch if required.&lt;br /&gt;
&lt;br /&gt;
The process may also include functionality to support:&lt;br /&gt;
*Optional updates&lt;br /&gt;
*Database updates preserving the data content&lt;br /&gt;
&lt;br /&gt;
== Solution Overview  ==&lt;br /&gt;
A separate Updater application will be written that allows updates of the application to be remotely installed.&lt;br /&gt;
&lt;br /&gt;
== Scope  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NEW PAGE --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Set-up  =&lt;br /&gt;
&lt;br /&gt;
== Pre-requisites  ==&lt;br /&gt;
&lt;br /&gt;
== Menu Structure  ==&lt;br /&gt;
&lt;br /&gt;
== Data  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NEW PAGE --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Functional Description  =&lt;br /&gt;
&lt;br /&gt;
== EPOD PDA Client/Server ==&lt;br /&gt;
The Server file structure will be modified to include a ''PDAUpdates'' folder under the ''Webservice/Calidus_EPOD'' folder. This is where any updated PDA Client and Updater CAB files will be held.&lt;br /&gt;
&lt;br /&gt;
== Update CAB file building ==&lt;br /&gt;
The Update (CAB) file built will be modified to automatically include the full version information from the EPOD Client app contained within it. It will also create a subdirectory of the install directory called Updater.&lt;br /&gt;
&lt;br /&gt;
== EPOD PDA Client/Server ==&lt;br /&gt;
The Client app will be modified to check the default Updater subdirectory for any file with AppName &amp;quot;EpodUpdater&amp;quot;. If one is found, a message box will be displayed showing that &amp;quot;an essential system update is required - when complete please press 'OK'&amp;quot;. Once cleared, the EPOD client app will run the CAB file to update the Updater app. &lt;br /&gt;
&lt;br /&gt;
When complete and control is returned to the EPOD client, the client will continue with the logon request.&lt;br /&gt;
&lt;br /&gt;
The Client app will be modified to send out the current versions of the Client and Updater application within the logon request.&lt;br /&gt;
&lt;br /&gt;
The Server will check the available Client CAB files within the server file structure for the latest version of the CAB files for the Updater and the EPOD Client. &lt;br /&gt;
For each program found, if the latest found is greater than the version passed in on the logon request message, the server will add tags to the outbound logon response message:&lt;br /&gt;
*EPOD_VERS - CAB version number of the EPOD client&lt;br /&gt;
*EPOD_FILE_NAME - Filename of the EPOD Client CAB file&lt;br /&gt;
*REQUIRED - at this time this will be set to &amp;quot;Y&amp;quot; only&lt;br /&gt;
*UPD_VERS - CAB version number of the Updater client&lt;br /&gt;
*UPD_FILE_NAME - Filename of the EPOD Updater CAB file&lt;br /&gt;
&lt;br /&gt;
After processing the content of the standing data and configuration within the logon message, the client will check the latest version of the CAB file from the logon response message.&lt;br /&gt;
&lt;br /&gt;
If the new tags are present, the client will check the REQUIRED tag. If this is set to &amp;quot;N&amp;quot;, the Client app will pop up a message to the user, informing them than an update is available and whether it should be installed. If the user enters '''No''', the Client app will continue with its normal processing.&lt;br /&gt;
&lt;br /&gt;
If the user responds '''Yes''' or the &amp;quot;REQUIRED&amp;quot; tag is set to &amp;quot;Y&amp;quot;, the Client app will run the Updater app, passing a number of parameters:&lt;br /&gt;
*WEBSERVICE - the WebService URL.&lt;br /&gt;
*EPOD_VERS - CAB version number of the EPOD client&lt;br /&gt;
*EPOD_FILE_NAME - Filename of the EPOD Client CAB file&lt;br /&gt;
*UPD_VERS - CAB version number of the Updater client&lt;br /&gt;
*UPD_FILE_NAME - Filename of the EPOD Updater CAB file&lt;br /&gt;
&lt;br /&gt;
Once the Updater app is started, the EPOD Client app will exit.&lt;br /&gt;
&lt;br /&gt;
== Update App ==&lt;br /&gt;
A separate Updater application will be written that allows updates of the application to be remotely installed.&lt;br /&gt;
&lt;br /&gt;
If no command-line parameters have been specified (or the ''WEBSERVICE'' parameter is blank) then app will open the EPOD Client database and extract the WebService URL. The database will be disposed of at this stage.&lt;br /&gt;
&lt;br /&gt;
The app will modify the WebService URL to keep all domain and sub-domain information, discard the service name and add ''PDAUpdates/'' to the end. For example URL ''http://www.x.com:9091/y/WebService/Calidus_EPOD/Calidus_EPOD.asmx'' becomes ''http://www.x.com:9091/y/WebService/Calidus_EPOD/PDAUpdates/''.&lt;br /&gt;
&lt;br /&gt;
A single form will be displayed showing:&lt;br /&gt;
*the Version and File Name of files being downloaded (i.e. both the PDA Client and Updater if there is one) with a read-only check-box showing whether the files have been downloaded. &lt;br /&gt;
*a progress bar to show the progress of downloading&lt;br /&gt;
*a read-only Install check-box, showing whether the files have been successfully installed&lt;br /&gt;
*A Re-start check-box, pre-checked, to indicate whether the EPOD client should be re-started on completion of the update.&lt;br /&gt;
&lt;br /&gt;
The app will check whether the files have already been downloaded, by checking the versions of any downloaded CAB files within the ''Updater'' folder. If all files have not been downloaded, a dialogue will ask whether the files should be downloaded at this time. If the user answers '''No''' then the app will display a popup box showing that the Update was not applied and exit the app.&lt;br /&gt;
&lt;br /&gt;
If the user answers ''Yes'', the application will start the download of the files, showing the progress through a progress bar on the form.&lt;br /&gt;
&lt;br /&gt;
If the files have been downloaded successfully, a dialogue will ask whether the update is to be installed. If the user answers '''No''' then the app will display a popup box showing that the Update was not applied and exit the app.&lt;br /&gt;
&lt;br /&gt;
If the user answers ''Yes'', the application will start the install of the EPOD Client CAB file only.&lt;br /&gt;
&lt;br /&gt;
Once this installation is complete, the form will display 'Update complete - click OK to exit' on the back form. &lt;br /&gt;
&lt;br /&gt;
If an Updater CAB file has been downloaded, the form will also display 'This Updater app will be updated when EPOD is next started'.&lt;br /&gt;
&lt;br /&gt;
When the user clicks ''OK'', the app will check the 'Restart' check-box - if checked, this will re-start the EPOD Client app. Regardless, the Updater app will then exit. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NEW PAGE --&amp;gt; &lt;br /&gt;
{{Doc_Appendix&lt;br /&gt;
|Appendix=A&lt;br /&gt;
|Estimate=N&lt;br /&gt;
|Glossary=EPOD&lt;br /&gt;
|Ref1=&amp;amp;nbsp;&lt;br /&gt;
|RefV1=&amp;amp;nbsp;&lt;br /&gt;
|RefDate1=&amp;amp;nbsp;&lt;br /&gt;
|REQ=0&lt;br /&gt;
|EST=0&lt;br /&gt;
|FS=0&lt;br /&gt;
|TS=0&lt;br /&gt;
|DEV=0&lt;br /&gt;
|ST=0&lt;br /&gt;
|IMP=0&lt;br /&gt;
|Client={{#var:Client}}&lt;br /&gt;
|Year={{#var:Year}}&lt;br /&gt;
|FSEST=Y&lt;br /&gt;
|Rev1=Tony Walker&lt;br /&gt;
|Rev1Title=Consultant&lt;br /&gt;
}}&amp;lt;/div&amp;gt; &lt;br /&gt;
[[Category:{{#var:Client}} FS]]&lt;/div&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
</feed>