<?xml version="1.0" ?>
<!--
  RSS generated by Inquira Information Manager
-->
<rss version="2.0">
<channel>
<title><![CDATA[Hexagon Safety &amp; Infrastructure - Post to topic Map updates ]]></title>
<link>http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=home</link>
<description>Post to topic Map updates </description>
<language>en</language>
<copyright>Copyright © 2002, 2012, Oracle and/or its affiliates. All rights reserved.</copyright>
<generator>Oracle Knowledge Information Manager</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
 

 
<item>
        <title><![CDATA[Map updates ]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS]]></link>
        <description><![CDATA[<p>How have other utilities handled map updates especially in their rural locations where bandwidth can be an issue?</p>
]]></description>
        <pubDate>2016-06-20 20:25:55 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202547cb9676001554a62250a007ac9]]></link>
        <description><![CDATA[Is this for mobile tc or i/dispatcher?

]]></description>
        <pubDate>2016-06-22 01:29:29 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202547cb9676001554a62250a007ac9]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202547cb9676001554a62250a007abb]]></link>
        <description><![CDATA[<p>At our company the map is zipped.&nbsp;&nbsp; The filed downloads the map to there machine will on the network and the program used to download the map unzips the map and does the install.</p>
]]></description>
        <pubDate>2016-06-22 03:24:11 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202547cb9676001554a62250a007abb]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e0431c]]></link>
        <description><![CDATA[<p>This is for our Mobile TC users. They still would be on the company network, but at our smaller offices we do not have high speed internet and we continually time out on the map updates for the tablets which results in corrupted maps.</p>
]]></description>
        <pubDate>2016-06-22 14:16:13 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e0431c]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e04322]]></link>
        <description><![CDATA[<p>We wrote an updater program for the MobileTC Client. It&#39;s bundled with our installs and provides functionality to download zipped up application files and maps on a user-requested basis. The files include the /custom folder zipped up so we have a great turnaround for implementing new features. &nbsp;We have trained our users to only download the map within wifi range of the yard, as our map is 250mb zipped up. They update their forms daily.&nbsp;</p>
]]></description>
        <pubDate>2016-06-22 14:18:46 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e04322]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e04370]]></link>
        <description><![CDATA[<p>We do the same here at SMUD too!&nbsp;Except our guys update their maps in the field through a Verizon VPN Cloud, 4G LTE!!</p>

<p>We added a &quot;Map Update&quot; in the Menu form that calls a bat script which calls a powershell script to download the zipped map&nbsp;file, enhacement files, or fixes.</p>

<p><strong>Menu.htm</strong></p>

<p><strong>function m_updateMap() //for Menu.htm</strong><br />
{<br />
&nbsp;&nbsp;WshShell = new ActiveXObject(&quot;WScript.Shell&quot;);<br />
&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;WshShell.Run(&quot;<a href="file:///C:/Win32app/ingr/IMobileTC/MobileInservice/Configurations/Custom/Scripts/Get-MobileTCMap.bat">file:///C:/Win32app/ingr/IMobileTC/MobileInservice/Configurations/Custom/Scripts/Get-MobileTCMap.bat</a>&quot;);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;catch(err){<br />
&nbsp;&nbsp;&nbsp;displayBriefError(&quot;Map Update File Not Found!, Plese Contact OMS Administrator!&quot;);<br />
&nbsp;&nbsp;}<br />
}</p>

<p><strong>Get-MobileTCMap.bat</strong></p>

<p>@echo off</p>

<p>Start Powershell.exe -NoExit -file <a href="file://\\web01server\MapzipfileShare\Get-MobileTCMap.ps1">\\web01server\MapzipfileShare\Get-MobileTCMap.ps1</a></p>

<p><strong>Get-MobileTCMap.ps1</strong></p>

<p>tried to upload the ps1, apparently HxGN doesn&#39;t like the attachment. <strong>NOTE!!! Execution Policies for running powershell scripts by default are set to restricted, you may have to go to the client machine launch both powershell and powershell (x86) and unrestricted the execution policy. here&#39;s the command: Set-ExecutionPolicy Unrestricted -Force, if you sign the .ps1 this command isn&#39;t required we didnt&#39; sign it because we only have 150 users. </strong></p>

<p>&lt;#<br />
.Description<br />
Get Mobile TC mapfile</p>

<p>Last changed 20160519 - Steven On</p>

<p>#&gt;<br />
<br />
################# Logging ###################################################<br />
#logging Vars<br />
$logfile=&quot;c:\temp\MobileTCClientMapUpdate.txt&quot;<br />
$logCheck=Test-Path -Path $logFile</p>

<p>#log check if not there create one!<br />
if(!$logCheck){<br />
&nbsp;&nbsp;&nbsp; New-Item -Path &quot;c:\temp\&quot; -Name MobileTCClientMapUpdate.txt -ItemType file -Force -EA silentlycontinue | Out-Null<br />
}<br />
$logFileCDate=Get-ChildItem $logFile | Select CreationTime<br />
$logFileCDate=$logFileCDate.CreationTime<br />
$logFile2W=$logFileCDate.AddDays(30)</p>

<p>#if log is older than 30 days delete and create a new one!<br />
if($logFileCDate -gt $logFile2w){<br />
&nbsp;&nbsp;&nbsp; Remove-Item -Path $logFile -Force | Out-Null<br />
&nbsp;&nbsp;&nbsp; New-Item -Path c:\temp\ -Name MobileTCClientMapUpdate.txt -ItemType file -Force -EA silentlycontinue | Out-Null<br />
}&nbsp;&nbsp;<br />
#logging function<br />
function log($string)<br />
{<br />
&nbsp;&nbsp;&nbsp; $todaysDate = get-date<br />
&nbsp;&nbsp;&nbsp; $todayDate = $todaysDate.ToShortDateString() +&quot; &quot;+ $todaysDate.ToShortTimeString()<br />
&nbsp;&nbsp;&nbsp; $string = $todayDate + &quot;: &quot; + $string<br />
&nbsp;&nbsp;&nbsp; $string | Out-File -FilePath $logfile -append<br />
}</p>

<p>################# MAIN PROCESS ##############################################<br />
$istag = Get-WMIObject -Class win32_systembios | Select __SERVER<br />
$istag = $istag.__SERVER</p>

<p>write-host &quot;&nbsp; _____ __&nbsp; __ _&nbsp;&nbsp;&nbsp; _ _____&nbsp;&nbsp;&nbsp; _&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _&nbsp; _&nbsp; __ &quot;<br />
write-host &quot; / ____|&nbsp; \/&nbsp; | |&nbsp; | |&nbsp; __ \&nbsp; (_)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _| || |/_ |&quot;<br />
write-host &quot;| (___ | \&nbsp; / | |&nbsp; | | |&nbsp; | |&nbsp; _ ___&nbsp; |_&nbsp; __&nbsp; _| |&quot;<br />
write-host &quot; \___ \| |\/| | |&nbsp; | | |&nbsp; | | | / __|&nbsp; _| || |_| |&quot;<br />
write-host &quot; ____) | |&nbsp; | | |__| | |__| | | \__ \ |_&nbsp; __&nbsp; _| |&quot;<br />
write-host &quot;|_____/|_|&nbsp; |_|\____/|_____/&nbsp; |_|___/&nbsp;&nbsp; |_||_| |_|&quot;</p>

<p>Write-Host &quot;&quot;</p>

<p>$smudMapDate=gci C:\win32app\ingr\IMobileTC\MobileInservice\Configurations\Custom\maps\smud_mobile.map -EA silentlycontinue | Select LastWriteTime<br />
$curDate = get-date<br />
$curShortDate = $curDate.toShortDateString()<br />
$curShortDateTime = $curShortDate + &quot; 12:30:00 AM&quot;</p>

<p>$formatSmudMapDate= $smudMapDate.LastWritetime<br />
if($smudMapdate -eq $null){<br />
&nbsp;log($istag)<br />
&nbsp;log(&quot;No Map File Found&quot;)<br />
&nbsp;log(&quot;&quot;)<br />
&nbsp;Write-Host &quot;No Map File Found&quot; -ForegroundColor Red<br />
&nbsp;Write-Host &quot;&quot;<br />
}<br />
else{<br />
&nbsp;log($istag)<br />
&nbsp;log(&quot;Map Date`:&nbsp; $formatSmudmapdate&quot;)<br />
&nbsp;log(&quot;&quot;)<br />
&nbsp;Write-Host &quot;Map Date`:&nbsp; $formatSmudmapdate&quot;<br />
&nbsp;Write-Host &quot;&quot;<br />
}</p>

<p>if($smudMapDate.LastWritetime -gt $curShortDateTime){<br />
&nbsp;log(&quot;Your Map is up to date&quot;)<br />
&nbsp;log(&quot;&quot;)<br />
&nbsp;&nbsp;&nbsp; Write-Host &quot;Your Map is up to date&quot; -ForegroundColor Green<br />
&nbsp;Write-Host &quot;&quot;<br />
&nbsp;&nbsp;&nbsp; $exitMe=Read-Host &quot;Press Enter to Exit!&quot;<br />
&nbsp;if($exitMe.length -ge 0){stop-process -name powershell -force -EA silentlycontinue}<br />
}</p>

<p>else{<br />
&nbsp;log($istag)<br />
&nbsp;log(&quot;Map Date`:&nbsp; $formatSmudmapdate&quot;)</p>

<p>&nbsp;log(&quot;.....Copying smud_map.zip&quot;)<br />
&nbsp;&nbsp;&nbsp; Write-Host &quot;.....Copying smud_map.zip&quot;<br />
&nbsp;&nbsp;&nbsp; New-Item -Path c:\temp -Name mobileTCFiles -ItemType directory -Force | Out-Null</p>

<p>&nbsp;&nbsp;&nbsp; #file location Vars<br />
&nbsp;&nbsp;&nbsp; $zipMap=&quot;c:\temp\mobileTCfiles\smud_map.zip&quot;<br />
&nbsp;&nbsp;&nbsp; $fileLoc=&quot;c:\temp\mobileTCfiles&quot;<br />
&nbsp;&nbsp;&nbsp; $mobileTCMap=&quot;C:\win32app\ingr\IMobileTC\MobileInservice\Configurations\Custom\Maps&quot;<br />
&nbsp;$mobileTCMapZip= $mobileTCMap + &quot;\smud_mobile.zip&quot;<br />
&nbsp;$mobileTCMapZipLoc=&quot;C:\win32app\ingr\IMobileTC\MobileInservice\Configurations\Custom\Maps\smud_map.zip&quot;<br />
&nbsp;$goldenLoc=&quot;<a href="file://\\server15\sup_sdit\oms_mdd\Change_Control\92\Development\MobileTC_Post_Go_live\win32app">\\server15\sup_sdit\oms_mdd\Change_Control\92\Development\MobileTC_Post_Go_live\win32app</a>&quot;<br />
&nbsp;$enhacementList=&quot;C:\win32app&quot;</p>

<p>&nbsp;try{<br />
&nbsp;&nbsp;Copy-Item -Path &quot;<a href="file://\\swppoms92web01\OMS_MAP\smud_map.zip">\\swppoms92web01\OMS_MAP\smud_map.zip</a>&quot; -Destination $fileLoc -ErrorAction stop | Out-Null<br />
&nbsp;}<br />
&nbsp;&nbsp;&nbsp; catch{<br />
&nbsp;&nbsp;Remove-Item -Path $fileLoc -Force -Recurse<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Host &quot;Copy Zip Map Action Error: No access to <a href="file://\\swppoms92web01\OMS_MAP">\\swppoms92web01\OMS_MAP</a> `n Contact The MobileTC Administrator&quot; -ForegroundColor Red<br />
&nbsp;&nbsp;log(&quot;Copy Zip Map Action Error: No access to <a href="file://\\swppoms92web01\OMS_MAP">\\swppoms92web01\OMS_MAP</a> `n Contact The MobileTC Administrator&quot;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log($error)<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;<br />
&nbsp;$error.clear()<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; Write-Host &quot;.....Unzipping smud_map.zip&quot;<br />
&nbsp;log(&quot;.....Unzipping smud_map.zip&quot;)<br />
&nbsp;&nbsp;&nbsp; #Unzip Copy Vars<br />
&nbsp;&nbsp;&nbsp; $helper = New-Object -ComObject Shell.Application<br />
&nbsp;&nbsp;&nbsp; $files = $helper.NameSpace($zipMap).Items()<br />
&nbsp;&nbsp;&nbsp; $helper.NameSpace($fileLoc).CopyHere($files)</p>

<p>&nbsp;&nbsp;&nbsp; Start-Sleep -Seconds 2</p>

<p>&nbsp;&nbsp;&nbsp; Write-Host &quot;.....Closing MobileTC&quot;<br />
&nbsp;log(&quot;.....Closing MobileTC&quot;)<br />
&nbsp;&nbsp;&nbsp; Stop-Process -Name IngrViewer -Force -EA silentlycontinue | Out-Null<br />
&nbsp;<br />
&nbsp;Remove-Item -Path c:\win32app\ingr\IMobileTC\MobileInservice\Configurations\Custom\Maps\* -force -erroraction silentlycontinue<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; Write-Host &quot;.....Updating MapFile&quot;<br />
&nbsp;log(&quot;.....Updating MapFile&quot;)<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;Copy-Item -Path &quot;$fileLoc\*&quot; -Destination $mobileTCMap -Force -ErrorAction silentlycontinue<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;$error.clear()<br />
&nbsp;<br />
&nbsp;Write-Host &quot;......Updating Enhacement Files&quot; -ForegroundColor Yellow<br />
&nbsp;log(&quot;.....Updating Enhacement Files&quot;)<br />
&nbsp;<br />
&nbsp;Copy-Item -Path &quot;$goldenLoc\*&quot; -Destination $enhacementList -Recurse -Force -ErrorAction silentlycontinue<br />
&nbsp;<br />
&nbsp;$error.clear()<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; Remove-Item -Path $fileLoc -Force -Recurse -ErrorAction silentlycontinue&nbsp;<br />
&nbsp;Remove-Item -Path $mobileTCMapZipLoc -Force -ErrorAction silentlycontinue</p>

<p>&nbsp;&nbsp;&nbsp; Write-Host &quot;&quot;<br />
&nbsp;&nbsp;&nbsp; Write-Host &quot;&quot;<br />
&nbsp;&nbsp;&nbsp; Write-Host &quot;Mapfiles Updated!&quot; -ForegroundColor Green<br />
&nbsp;log(&quot;Mapfiles Updated!&quot;)<br />
&nbsp;&nbsp;&nbsp; $exitMe=Read-Host &quot;Press Enter to restart MobileTC&quot;</p>

<p>&nbsp;&nbsp;&nbsp; $prc=&quot;C:\Users\Public\Desktop\MobileTc.lnk&quot;</p>

<p>&nbsp;&nbsp;&nbsp; Start-Process -FilePath $prc -PassThru<br />
&nbsp;<br />
&nbsp;if($exitMe.length -ge 0){<br />
&nbsp;&nbsp;stop-process -name powershell -force -EA silentlycontinue<br />
&nbsp;}<br />
}</p>

<p>&nbsp;</p>
]]></description>
        <pubDate>2016-06-22 14:58:25 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e04370]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e0437f]]></link>
        <description><![CDATA[<p>Thank you all for the quick feeback!</p>
]]></description>
        <pubDate>2016-06-22 15:05:09 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e0437f]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e04390]]></link>
        <description><![CDATA[<p>This is a pretty elegant way of handling it too. Nicely done SMUD. I&#39;m a bit surprised Hexagon hasn&#39;t implemented something like this in their core product, as it seems like we&#39;re all doing the same thing.&nbsp;</p>
]]></description>
        <pubDate>2016-06-22 15:15:10 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#507202539efa1a6015506f4de5e04390]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#5072025346d38bd20156bf84d1d20bb3]]></link>
        <description><![CDATA[<p>I&#39;m late to the party, but just for posterity I thought I&#39;d throw in our solution.</p>

<p>First off, on the map migration side, the last step of the automated process is to use a third party program called RTPatch to create a small diff file between yesterday&#39;s map to today&#39;s. Depending on how much change occured during a given day, we find that patch file usually is between 80k and 400k. This is on a 900MB map file.&nbsp;After the patch file is created, another step on the server creates an MD5 hash of the map file. It then stores the map file, patch file, and a text file with the MD5 hash on a share on the map server. It also appends the map file date and MD5 hash to one long text file with all of the map details for each day.</p>

<p>One the client side is a listener. This runs every 30 minutes all day. It creates an MD5 hash of the client map file and compares that with the latest MD5 on the the server&#39;s map file list. If it&#39;s out of date, it grabs a series of patch files from the server (could be more than one patch if the client is out of date by more than a day). It then creates a working copy of the client&#39;s map and applies all of the missing patches. Once it&#39;s got a map file ready to go, if MobileTC is not running then it just copies over the new map. If it is running,&nbsp;it pops up for the user to let them know that a new map is ready. It then watches the MobileTC executable to see when it shuts down and once it shuts down, it copies in the new map file immediately. It also logs to the server that it updated the map file.</p>

<p>This is a bunch of work to get going but now that it is going, there are some great points for our solution</p>

<p>1) Very low data usage. Couple hundred k on most days.</p>

<p>2) Very low interaction for the users. They don&#39;t see anything while the map is being prepped. Once it is ready, if they don&#39;t want the map immediately they can click to postpone and the map will copy in as soon as the MobileTC executable shuts down - likely at the end of their day. If they do want the map immediately, the patch process is just a shutdown and restart of MobileTC.</p>

<p>3) We log all map file updates. This allows us to report and see if users are way behind on maps for some reason and contact them to get it fixed.</p>
]]></description>
        <pubDate>2016-09-09 21:02:36 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#5072025346d38bd20156bf84d1d20bb3]]></guid>
</item><item>
        <title><![CDATA[RE: Map updates]]></title>
        <link><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#5072025406b9fa119015808df6399007d75]]></link>
        <description><![CDATA[<p>Thank you to everyone who has commented on this topic. Will let everyone know what we decide to do as we are moving towards our 9.3 Upgrade.</p>
]]></description>
        <pubDate>2016-10-31 20:33:04 Etc/GMT</pubDate>
        <guid isPermaLink="true"><![CDATA[http://support.hexagonsafetyinfrastructure.com/infocenter/index?page=forums&topic=507202547cb9676001554a62250a007c35&actp=RSS#5072025406b9fa119015808df6399007d75]]></guid>
</item>
</channel>
</rss>
