Thursday, August 22, 2013

Building an in-camp Information Website

I noticed that initial information is sparse when camp is being setup.  I decided to turn on the IIS services on the I-Suite server and host a local website catered for team mobile phone users.  As long as they're in range of our secure local Wi-Fi network signal, they can get pertinent information about the fire.  I've started with the various office phone numbers, current fire situation, GIS maps, and links to fire photos.  This will be expanded as units add their input.  I've also added a QR code for folks to directly.  Here is a portion of the default.htm:

<!DOCTYPE html>
<html>
<head>
<style>
body {width:100%;}
h2 {text-align:center;}
p {text-align:center;}
table {}
td {padding:3px}

</style>
</head>
<center><body>
<h2>Fire Information</h2>
<p><b>Section Telephone Numbers</b></p>
<table>
<tr><td>IC / Liaison</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr>
<tr><td>Information</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>Finance/Cost/PIO</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>Time/Procurement</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>Situation/FBAN/GIS/CTSP</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>Demob/Resources/Check-in</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>Communications</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>Ordering</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>Human Resources</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>Helibase</td><td><a href="tel:18005555555">(800) 555-5555</a></td></tr></p>
<tr><td>FAX</td><td>(800) 555-5555</td></tr></p>
</table>

<p><b>Maps</b></p>
<p><a href="/maps/landscape.pdf">Landscape</a></p>
<p><a href="/maps/roadclosure.pdf">Road Closure</a></p>
<p><a href="/maps/transportation.pdf">Transporation</a></p>
<p><h3><a href="/Photos/index.htm"><b>Photos</b></a></h3></p>
<p><a href="http://www.inciweb.org/"><img width=100 src="/images/inciweb.gif"></a><a href="http://www.nwcg.gov/""><img width=100 src="/images/nwcg.jpg"></a>
<p><a href="http://thunderstorm.vaisala.com/explorer.html" title="Lightning"><img width=100 src="/images/lightning.jpg"></a><a href="http://www.nifc.gov/"><img width=100 src="/images/nifc.gif"></a><a href="http://activefiremaps.fs.fed.us/lg_fire2.php" title="Active Fire Maps"><img width=100 src="/images/activefire.jpg"></a>
<p><a href="http://www.nwccweb.us/information/firemap.aspx" title="NW Interagency Coordination Center"><img src="/images/nwcc.jpg"></a><a href="http://www.nifc.gov/nicc/sitreprt.pdf" title="NIFC Situation Report">NIFC SitRep</a><a href="http://gacc.nifc.gov/"><img src="/images/
</body></center>
</html>

To make it easy for posting pictures, I created a PowerShell script that takes existing photos and makes thumbnails of them then outputs an index.htm file.  Here is the script:

[void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing.Imaging") 

del c:\inetpub\wwwroot\photos\thumbnails\*.*
$photos = gci c:\inetpub\wwwroot\photos\*.jpg
$index = write "<center><a href='/'>Return to Fire Information Page</a><br>"

foreach ($p in $photos){
$orig = $p
$origdir = $orig.directoryname
$origext = $orig.extension
$origbase = $orig.basename
$outfile = write ($origdir + "\thumbnails\" + $origbase + "_thumb" + $origext)

$picture = new-object system.drawing.bitmap $orig.fullname
$newwidth = [math]::round($picture.width * .10)
$newheight = [math]::round($picture.height * .10)

$thumb = $picture.getthumbnailimage($newwidth,$newheight,$null,[intptr]::zero)
$thumb.save($outfile)
}

$thumbs = gci c:\inetpub\wwwroot\photos\thumbnails\*.jpg

foreach ($t in $thumbs){
$tn = $t.name
$tnn = $t.name.replace('_thumb','')
$index += write "<a href='/photos/$tnn'><img src='/photos/thumbnails/$tn'></a><br>"`n
}
$index|out-file c:\inetpub\wwwroot\photos\index.htm

Now staff can dump photos into the c:\inetpub\wwwroot\photos folder and I can use the script to replace outdated thumbnails with the current photos.  Doing this simplifies the process and gives more time to continue putting the network together while also hosting a time-saving website which helps new fire staff.

Wednesday, August 21, 2013

3G to Windows XP Internet Connection Sharing PC to Network Solution

8/21/13 - The Verizon emergency team was able to create a mobile Internet solution for us but our current Cradlepoint MBR-1200 router was unable to connect to the service.  This was my solution:

  1. Obtain Verizon provided Android smartphone with HotSpot abilities.
  2. Create secured HotSpot for exclusive use by Windows XP laptop.
  3. Establish wireless connection between Windows XP laptop and HotSpot.
    1. HotSpot assigned 192.168.1.200, 255.255.255.0, 192.168.1.1 to wireless card
  4. Connect Windows XP wired network card to ISP port of router
  5. Program router pointing its gateway to the wired NIC's address
    1. Wired NIC's address was 192.168.0.1
    2. ISP router port address 192.168.0.2 with DNS 192.168.0.1, 192.168.1.1
  6. Establish Windows XP Internet Connection Sharing on the wireless card.  You'll see a sharing hand icon on the wireless cards NIC when finished.  Leave the firewall on as it's also the ICS service too.
  7. Test the connection with network laptop by pinging a website not on the workstations local DNS table.
Things to note:
The shared connection relies on both NIC's to constantly work together.  Anything can cause them to stop pairing.  Ensure to checkbox "Show icon in notification area when connected" on both NIC's so you can keep an eye on them.  If they become unteamed, restart the "Windows Firewall/Internet Connection Sharing" service.

Disable power saving settings on laptop so connection doesn't shutdown when the laptop goes to sleep.

Create a task to stop/start ICS service  (net stop sharedaccess  and net start sharedaccess)
I made a batch file with those two commands in it and had it run every hour.  It's quick and doesn't cause a hiccup if the connection is already working but fixes it if the connection is bad.

Tasks:

Please provide input about stuff I've missed.

NFES 1337 - Unit Log providing high overview of major events, agreements, delays and diagram of supported areas.  Create and give to Documentation.

Inventory - Create full inventory and give to Documentation

ROSS Imports - perform several imports at beginning of fire.  Every hour or so and less frequently as resource orders slow down.

Upload Finance Accrual and Data Repository to isuite.nwcg.gov 

Have Plans Chief sign daily Crew Time Report and turn in to Time

Complete Emergency Equipment Shift Ticket for "LAN" van - fill in 5 days at a time

Sunday, August 18, 2013

Stuff to research and implement


PowerShell: Clean I-Suite Custom Report extraneous character in number field

$infile = "$home\desktop\customreport.xls"
$outcsv = "$home\desktop\customreport.csv"

$xlCSV = 6
$Excel = New-Object -Com Excel.Application
$Excel.visible = $False
$Excel.displayalerts=$False
$WorkBook = $Excel.Workbooks.Open($infile)
$Workbook.SaveAs($outcsv,$xlCSV)
$Excel.quit()


$Excel = New-Object -Com Excel.Application
$Excel.visible = $False
$Excel.displayalerts=$False
$WorkBook = $Excel.Workbooks.Open($outcsv)
$Workbook.SaveAs($infile,1)
$Excel.quit()
del $outcsv

PowerShell: Open ROSS Import file in Gridview

import-csv $home\dropbox\"ross import".* -header "ROSS Number","Requested Resource","Agency","Request Number","Assigned Unit",`
"Position","Position Name","Contractor","Jet Port","Request Date","Unknown 1","Unknown 2","Unknown 3" -delimiter "|"`
|out-gridview
sleep 180

Alaskan Dispatch Lessons Learned

Since Alaska has physical logistics problem when getting items from the "lower 48" states, I created the following list to be taken to the fire and notes pertaining to pre-dispatch:
Bring:

  • 6 laptops - 1 server, 5 users (more if possible)
    • Use ROSS import to determine amount of staff needing laptops
  • 3 extension cables, 3 power strips
  • 1 router, 2 switches
  • 10+ various length network cables
  • miscellaneous network cabling and connectors
  • duct tape, painters tape
  • sleeping bag & small tent
  • bring cell phone extenders, boosters, etc (if any)

Get most current ROSS import file and create a printed copy

  • check ROSS file for telephone/data ordered
  • Check ROSS file for printers/copiers/plotters ordered
Contact outgoing CTSP about local resource information
Download most current ISuite server software
Check out home unit credit card because requesting unit will most likely forget some small service which will require a credit card
Contact expanded dispatch about getting phones and Internet to the ICP, and where is the ICP going to be located
Don't rely on hearsay, order what's needed and expanded dispatch/ordering will filter duplicate orders.  As such, create a PDF and send it to the dispatch ordering person ASAP:
  • 1000' cat5 and ends
  • 1000' cat3 and ends
  • duct tape and painters tape
  • 1 box 8.5x11 copier paper
  • 2 reams 8.5x14 copier paper
  • 1 roll 36" wide plotter paper
  • 3 fax/copier/network printers
  • 1 high speed network copier and oner
  • 2 - 35 pages per minute network laser printers and cartridges
  • 10 power strips
  • 10 extension cords
  • 50 screen wipes
  • 10 blank CD's & jewel cases
  • 1 11x17 (preferred) color printer & cartridges & 11x17 paper
  • 3 multifunction fax/copy/print printers
  • 8 (adjust for staff size) laptops from fed contract
  • 1 36" wide plotter
  • IN GENERAL MESSAGE, ENSURE TO EXPEDITE AND GIVE DELIVERY NAME AND LOCATION!!