Application of the Week – Google Hangouts

Google Hangouts is popular with G Suite users which have a subscription for G Suite, since it’s part of their suite. At first for me it was a bit confusing though what Google Hangouts includes nowadays, because of the Classic Hangout. In this blog I will explain how to create a Smart Icon for Google Hangouts.

According to this blog, written mid last year, Google originally wanted to migrate G Suite users from Hangouts Classic to Hangouts Meet and Hangouts Chat in Q4 2019. Hangouts Chat vs Hangouts Meet vs Classic Hangouts gave me all the details to summarize what Google Hangouts includes nowadays.

Google Hangouts Chat is free to G Suite users. This one is backward compatible with the now “classic” Hangouts chat feature. This is the url used for Hangouts Chat: https://chat.google.com

Google Hangouts Meet is an online meeting application that’s in the same general category as Zoom and GoToMeeting. A nice comparison can be found here. This is the url used for Hangouts Meet: https://meet.google.com

Google Classic Hangouts is the foundation for Hangouts Conversations that can be seen at the bottom of the left sidebar in Gmail. This one is available for Google G Suite users and for consumers. This will be retired no sooner than June 2020. This is the url used for Classic Hangouts: https://hangouts.google.com

So we need three Smart Icons to support either one of these three Google Hangouts variants.

Nothing spectacular here. These just launch the url’s I mentioned. It’s no surprise that by using Google Chrome the best browser experience is offered. The default browser to use these Smart Icons with then is ‘Chrome’.

So this is how it looks like:

Here’s the PowerShell script to create a Smart Icon for Google Classics Hangouts:

Import-Module "C:Program Files (x86)Liquit WorkspacePowerShell3.0Liquit.Server.PowerShell.dll" -Prefix "Liquit"

$liquitZoneUsername = "localadmin"
$liquitZonePassword = Read-Host "Enter Password" -AsSecureString
$liquitCredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $liquitZoneUsername, $liquitZonePassword
$liquitZone = "https://yourliquitzone.liquit.com"

$hangoutsIconURL = "https://www.setupcommander.com/ico/hangouts.ico"
$hangoutsIconPath = "c:temphangouts.ico"

$packageName = "Google Classic Hangouts"
$packageDisplayName = "Google Classic Hangouts"
$packageDescription = "Google Classic Hangouts"

$liquitContext = Connect-LiquitWorkspace -URI $liquitZone -Credential $liquitCredentials

$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile($hangoutsIconURL,$hangoutsIconPath)
$iconContent = New-LiquitContent -Path $hangoutsIconPath

$package = New-LiquitPackage -Name $packageName `
                             -Type "Launch" `
                             -DisplayName $packageDisplayName `
                             -Description $packageDescription `
                             -Priority 100 `
                             -Enabled $true `
                             -Offline $False `
                             -Web $True `
                             -Icon $iconContent                              

#create the snapshot for this package
$snapshot = New-LiquitPackageSnapshot -Package $package

#define launch action set
$actionset = New-LiquitActionSet -snapshot $snapshot `
                                 -Type Launch `
                                 -name 'Launch' `
                                 -Enabled $true `
                                 -Frequency Always `
                                 -Process StopAtFirstEffectiveAction

#define the first and only launch action
$actionset_action1 = New-LiquitAction -ActionSet $actionset `
                                      -Name 'Open Google Classics Hangouts Webpage' `
                                      -Type 'openurl' `
                                      -Enabled $true `
                                      -IgnoreErrors $false `
                                      -Settings @{ url = 'https://hangouts.google.com'; browser = 3;} `
                                      -Context User


#publish the package
Publish-LiquitPackageSnapshot -Snapshot $snapshot -stage Production 

#set the entitlement
$identity = Get-LiquitIdentity -id "LOCALeveryone"
New-LiquitPackageEntitlement -Package $package -Identity $identity -Publish Workspace

Here’s the PowerShell script to create a Smart Icon for Google Hangouts Chat:

Import-Module "C:Program Files (x86)Liquit WorkspacePowerShell3.0Liquit.Server.PowerShell.dll" -Prefix "Liquit"

$liquitZoneUsername = "localadmin"
$liquitZonePassword = Read-Host "Enter Password" -AsSecureString
$liquitCredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $liquitZoneUsername, $liquitZonePassword
$liquitZone = "https://yourliquitzone.liquit.com"

$hangoutsIconURL = "https://www.setupcommander.com/ico/hangouts.ico"
$hangoutsIconPath = "c:temphangouts.ico"

$packageName = "Google Hangouts Chat"
$packageDisplayName = "Google Hangouts Chat"
$packageDescription = "Google Hangouts Chat"

$liquitContext = Connect-LiquitWorkspace -URI $liquitZone -Credential $liquitCredentials

$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile($hangoutsIconURL,$hangoutsIconPath)
$iconContent = New-LiquitContent -Path $hangoutsIconPath

$package = New-LiquitPackage -Name $packageName `
                             -Type "Launch" `
                             -DisplayName $packageDisplayName `
                             -Description $packageDescription `
                             -Priority 100 `
                             -Enabled $true `
                             -Offline $False `
                             -Web $True `
                             -Icon $iconContent                              

#create the snapshot for this package
$snapshot = New-LiquitPackageSnapshot -Package $package

#define launch action set
$actionset = New-LiquitActionSet -snapshot $snapshot `
                                 -Type Launch `
                                 -name 'Launch' `
                                 -Enabled $true `
                                 -Frequency Always `
                                 -Process StopAtFirstEffectiveAction

#define the first and only launch action
$actionset_action1 = New-LiquitAction -ActionSet $actionset `
                                      -Name 'Open Google Hangouts Chat webpage' `
                                      -Type 'openurl' `
                                      -Enabled $true `
                                      -IgnoreErrors $false `
                                      -Settings @{ url = 'https://chat.google.com'; browser = 3;} `
                                      -Context User


#publish the package
Publish-LiquitPackageSnapshot -Snapshot $snapshot -stage Production 

#set the entitlement
$identity = Get-LiquitIdentity -id "LOCALeveryone"
New-LiquitPackageEntitlement -Package $package -Identity $identity -Publish Workspace

Here’s the PowerShell script to create a Smart Icon for Google Hangouts Meet:

Import-Module "C:Program Files (x86)Liquit WorkspacePowerShell3.0Liquit.Server.PowerShell.dll" -Prefix "Liquit"

$liquitZoneUsername = "localadmin"
$liquitZonePassword = Read-Host "Enter Password" -AsSecureString
$liquitCredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $liquitZoneUsername, $liquitZonePassword
$liquitZone = "https://yourliquitzone.liquit.com"

$hangoutsIconURL = "https://www.setupcommander.com/ico/hangouts.ico"
$hangoutsIconPath = "c:temphangouts.ico"

$packageName = "Google Hangouts Meet"
$packageDisplayName = "Google Hangouts Meet"
$packageDescription = "Google Hangouts Meet"

$liquitContext = Connect-LiquitWorkspace -URI $liquitZone -Credential $liquitCredentials

$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile($hangoutsIconURL,$hangoutsIconPath)
$iconContent = New-LiquitContent -Path $hangoutsIconPath

$package = New-LiquitPackage -Name $packageName `
                             -Type "Launch" `
                             -DisplayName $packageDisplayName `
                             -Description $packageDescription `
                             -Priority 100 `
                             -Enabled $true `
                             -Offline $False `
                             -Web $True `
                             -Icon $iconContent                              

#create the snapshot for this package
$snapshot = New-LiquitPackageSnapshot -Package $package

#define launch action set
$actionset = New-LiquitActionSet -snapshot $snapshot `
                                 -Type Launch `
                                 -name 'Launch' `
                                 -Enabled $true `
                                 -Frequency Always `
                                 -Process StopAtFirstEffectiveAction

#define the first and only launch action
$actionset_action1 = New-LiquitAction -ActionSet $actionset `
                                      -Name 'Open Google Hangouts Meet webpage' `
                                      -Type 'openurl' `
                                      -Enabled $true `
                                      -IgnoreErrors $false `
                                      -Settings @{ url = 'https://meet.google.com'; browser = 3;} `
                                      -Context User


#publish the package
Publish-LiquitPackageSnapshot -Snapshot $snapshot -stage Production 

#set the entitlement
$identity = Get-LiquitIdentity -id "LOCALeveryone"
New-LiquitPackageEntitlement -Package $package -Identity $identity -Publish Workspace