MilestonePSTools.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <ViewDefinitions>
      <View>
        <Name>Role</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.ConfigurationItems.Role</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader>
              <Label>Name</Label>
              <Width>20</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>RoleType</Label>
              <Width>14</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>SmartClient</Label>
              <Width>12</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>WebClient</Label>
              <Width>12</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>MobileClient</Label>
              <Width>12</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>20</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>36</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>Name</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>RoleType</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>$_.AllowSmartClientLogOn</ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>$_.AllowWebClientLogOn</ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>$_.AllowMobileClientLogOn</ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>LastModified</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Id</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>Item State</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.Messaging.ItemState</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader>
              <Label>Name</Label>
              <Width>25</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>ItemType</Label>
              <Width>10</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>18</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>Id</Label>
              <Width>36</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <ScriptBlock>
                    ($_ | Get-PlatformItem).Name
                  </ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>
                    [VideoOS.Platform.Kind]::DefaultTypeToNameTable[$_.FQID.Kind]
                  </ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>State</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>$_.FQID.ObjectId</ScriptBlock>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>Hardware Driver</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.ConfigurationItems.HardwareDriver</TypeName>
        </ViewSelectedBy>
        <GroupBy>
          <PropertyName>DriverType</PropertyName>
        </GroupBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader />
            <TableColumnHeader>
              <Width>6</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>8</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>10</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>Name</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Number</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>UseCount</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>DriverRevision</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>Evidence Lock</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Common.Proxy.Server.WCF.MarkedData</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader>
              <Width>15</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>10</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>Created</Label>
              <Width>20</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>StartTime</Label>
              <Width>20</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>EndTime</Label>
              <Width>20</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>Expires</Label>
              <Width>20</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Label>Retention</Label>
              <Width>15</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>Header</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>User</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>
                    $_.Created
                  </ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>
                    $_.StartTime
                  </ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>
                    $_.EndTime
                  </ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>
                    $_.RetentionExpire
                  </ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>
                    $unit = if ($_.RetentionOption.RetentionUnits -ge 0) { "$($_.RetentionOption.RetentionUnits) " }
                    "$unit$($_.RetentionOption.RetentionOptionType)"
                  </ScriptBlock>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>Bookmark</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Common.Proxy.Server.WCF.Bookmark</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader>
              <Label>Timestamp</Label>
              <Width>20</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>Header</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Description</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Reference</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>
                    $_.TimeTrigged
                  </ScriptBlock>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>User-defined Event</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.ConfigurationItems.UserDefinedEvent</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader />
            <TableColumnHeader>
              <Width>12</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>20</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>36</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>Name</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Subtype</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>LastModified</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Id</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>Generic Event</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.ConfigurationItems.GenericEvent</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader />
            <TableColumnHeader>
              <Width>7</Width>
            </TableColumnHeader>
            <TableColumnHeader />
            <TableColumnHeader>
              <Label>ExpressionType</Label>
              <Width>18</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>8</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>20</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>36</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>Name</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Enabled</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Expression</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <ScriptBlock>
                    $g = $_
                    $expressionTypes = @{}
                    $g.ExpressionTypeValues.Keys | Foreach-Object {
                    $expressionTypes.$($g.ExpressionTypeValues.$_) = $_
                    }
                    $expressionTypes.$($g.ExpressionType)
                  </ScriptBlock>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Priority</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>LastModified</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Id</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>Configuration API Property</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.ConfigurationApi.ClientService.Property</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>Key</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Value</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>ValueType</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>IsSettable</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>LicenseInformation</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.ConfigurationItems.LicenseInformation</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>DisplayName</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Slc</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Sku</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>CareLevel</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>CareId</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>LicenseInstalledProductChildItem</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.ConfigurationItems.LicenseInstalledProductChildItem</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
            <TableColumnHeader />
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>DisplayName</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Slc</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>ExpirationDate</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>CarePlus</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>CarePremium</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>LicenseOverviewAllChildItem</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.ConfigurationItems.LicenseOverviewAllChildItem</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader>
              <Width>30</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>20</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>LicenseType</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Activated</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
        <Name>LicenseDetailChildItem</Name>
        <ViewSelectedBy>
          <TypeName>VideoOS.Platform.ConfigurationItems.LicenseDetailChildItem</TypeName>
        </ViewSelectedBy>
        <TableControl>
          <TableHeaders>
            <TableColumnHeader>
              <Width>30</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>12</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>12</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>12</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>12</Width>
            </TableColumnHeader>
            <TableColumnHeader>
              <Width>24</Width>
            </TableColumnHeader>
          </TableHeaders>
          <TableRowEntries>
            <TableRowEntry>
              <TableColumnItems>
                <TableColumnItem>
                  <PropertyName>LicenseType</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>Activated</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>InGrace</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>GraceExpired</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>NotLicensed</PropertyName>
                </TableColumnItem>
                <TableColumnItem>
                  <PropertyName>ChangesWithoutActivation</PropertyName>
                </TableColumnItem>
              </TableColumnItems>
            </TableRowEntry>
          </TableRowEntries>
        </TableControl>
      </View>
      <View>
            <Name>VideoOS.Platform.ConfigurationItems.ManagementServer</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.ManagementServer</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>8</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>15</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>8</Width>
                    </TableColumnHeader>
                  <TableColumnHeader>
                    <Width>20</Width>
                  </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Version</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>ComputerName</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>TimeZone</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.RecordingServer</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.RecordingServer</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>15</Width>
                    </TableColumnHeader>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>8</Width>
                    </TableColumnHeader>
                  <TableColumnHeader>
                    <Width>20</Width>
                  </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>HostName</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>WebServerUri</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>TimeZoneName</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.Hardware</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.Hardware</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader />
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                  <TableColumnHeader>
                    <Width>20</Width>
                  </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Address</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Model</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Enabled</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.Camera</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.Camera</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                  <TableColumnHeader>
                    <Width>20</Width>
                  </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Channel</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Enabled</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                     
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.Microphone</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.Microphone</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Longitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Channel</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Enabled</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.Speaker</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.Speaker</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Longitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Channel</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Enabled</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.InputEvent</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.InputEvent</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Longitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Channel</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Enabled</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.Output</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.Output</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Longitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Channel</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Enabled</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.Metadata</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.Metadata</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Longitude</Label>
                        <Width>9</Width>
                    </TableColumnHeader>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Channel</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Enabled</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                function ConvertTo-Coordinates {
                                    param([string]$GisPoint)
                                    if ($GisPoint -ne 'POINT EMPTY') {
                                        $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_}
                                        [pscustomobject]@{Latitude = $lat; Longitude = $long}
                                    }
                                }
                                (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####')
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastModified</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Label>Enabled</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>25</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader />
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>DisplayName</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.EnableProperty.Enabled</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>ItemType</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>ItemCategory</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Path</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.Storage</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.Storage</TypeName>
            </ViewSelectedBy>
            <GroupBy>
                <Label>Recording Server</Label>
                <ScriptBlock>[VideoOS.Platform.ConfigurationItems.RecordingServer]::new((Get-ManagementServer).ServerId, $_.ParentItemPath).Name</ScriptBlock>
            </GroupBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Label>LiveRetention</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>LiveSize(GB)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Encryption</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Archives</Label>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TotalRetention</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TotalSize(GB)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>DiskPath</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>New-Timespan -Minutes $_.RetainMinutes</ScriptBlock>
                                <FormatString>g</FormatString>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.MaxSize / 1KB</ScriptBlock>
                                <FormatString>{0:.##}</FormatString>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>IsDefault</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Signing</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>EncryptionMethod</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.ArchiveStorageFolder.ArchiveStorages.Count</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.ArchiveStorageFolder.ArchiveStorages.Count -eq 0) {
                                        New-TimeSpan -Minutes $_.RetainMinutes
                                    }
                                    else {
                                        New-TimeSpan -Minutes ($_.ArchiveStorageFolder.ArchiveStorages | Sort-Object RetainMinutes -Descending | Select-Object -First 1 -ExpandProperty RetainMinutes)
                                    }
                                </ScriptBlock>
                                <FormatString>g</FormatString>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>($_.MaxSize + ($_.ArchiveStorageFolder.ArchiveStorages.MaxSize | Measure-Object -Sum).Sum) / 1KB</ScriptBlock>
                                <FormatString>{0:.##}</FormatString>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>VideoOS.Platform.ConfigurationItems.ArchiveStorage</Name>
            <ViewSelectedBy>
                <TypeName>VideoOS.Platform.ConfigurationItems.ArchiveStorage</TypeName>
            </ViewSelectedBy>
            <GroupBy>
                <Label>Storage</Label>
                <ScriptBlock>
                    $storage = [VideoOS.Platform.ConfigurationItems.Storage]::new((Get-ManagementServer).ServerId, $_.ParentItemPath)
                    $storageName = $storage.Name
                    $recorderName = [VideoOS.Platform.ConfigurationItems.RecordingServer]::new((Get-ManagementServer).ServerId, $storage.ParentItemPath).Name
                    "$storageName on $recorderName"</ScriptBlock>
            </GroupBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader />
                    <TableColumnHeader />
                    <TableColumnHeader>
                        <Label>Retention</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>MaxSize(GB)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>ReducesFramerate</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TargetFramerate</Label>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>36</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>DiskPath</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>New-Timespan -Minutes $_.RetainMinutes</ScriptBlock>
                                <FormatString>g</FormatString>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.MaxSize / 1KB</ScriptBlock>
                                <FormatString>{0:.##}</FormatString>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.FramerateReductionEnabled</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>if ($_.FramerateReductionEnabled) { $_.TargetFramerate } else { '' }</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
    </ViewDefinitions>
</Configuration>