Butler Sheet Icons 3.1.0

Butler Sheet Icons 3.1.0 adds support for latest Qlik Sense versions, plus a new "browser" command that controls which browser is used to take screenshots of Qlik Sense sheets.

Butler Sheet Icons 3.1.0
Your friendly open source iconzier now works with latest Qlik Sense cloud as well as 2023-May and 2023-Feb versions of client-managed Qlik Sense. Yay! 

Short version

  • Latest Sense versions (cloud and client-managed 2023-May) now supported.
  • New "browser" command to control which browser is used to take screenshots of Sense sheets.
  • Bug fixes and various security updates.

Open source as always, available from the Butler Sheet Icons download page on GitHub.
There you also find extensive documentation and examples for using BSI with Qlik Cloud and client-managed Qlik Sense.

Tell me more!

Butler Sheet Icons - BSI for short - creates sheet thumbnails by pretending to be a user accessing the Qlik Sense application whose sheet thumbnails should be updated.

That sound like an easy enough task, but in reality it's a constant game of catch-up.
BSI will enter login credentials, then wait for certain elements to appear on the Sense web page. It then clicks on the correct button, taking a screen shot, moving to the next sheet etc.

With client-managed Qlik Sense, each major version may introduce changes to the Sense client.
Usually BSI is not affected, but sometimes it's a breaking change - BSI will wait for that expected web page element - but as it never appears BSI will time out and no thumbnails will be created. #fail.

Similar thing for Qlik Cloud.
Qlik may change the end user-facing web client at any time with no prior notice. That's kind of the idea with SaaS products: You as an end user does not have to deal with product updates.
But a tool like BSI expects the Qlik Cloud web page to work in a certain way, and BSI may break if the Qlik Cloud web page changes. #fail-again

Latest Sense versions now supported

The good news is that BSI now supports the latest versions of both Qlik Cloud and client-managed Qlik Sense.

If creating sheet thumbnails for client-managed Qlik Sense the "--sense-version" option now accept the new "2023-Feb" and "2023-May" values.

Better browser control

BSI 3.1.0 implements a new strategy for which browser to use when creating sheet thumbnails.

To understand why this was needed a few bits of background info are needed:

  • BSI uses a library called "Puppeteer" to remote-control a web browser, effectively pretending to be an end-user accessing Qlik Sense.
  • Puppeteer version 20 included some breaking changes, forcing BSI to some related changes. The alternative would have been to BSI keep using older and older versions of Puppeteer - not a good thing.

Long story short: The world changed and BSI had to adapt.

The old, boring and bad way

BSI 3.0.x and earlier used a fixed version of the Chromium browser (open source version of Chrome) to take screen shots.

That was ok, but the Chromium version became outdated over time.

The new, shiny and awesome way

BSI 3.1.0 adds a new command: "browser"

It's used to control with which browser BSI uses to take screenshots.
The command has a few sub-commands.

Looks like this in PowerShell on Windows:

PS C:\tools\butler-sheet-icons-win\demo-dir> .\butler-sheet-icons.exe browser
Usage: butler-sheet-icons browser [options] [command]

Options:
  -h, --help                display help for command

Commands:
  list-installed [options]  Show which browsers are currently installed and available for use by Butler Sheet Icons.
  uninstall [options]       Uninstall a browser from the Butler Sheet Icons cache.
                            This will remove the browser from the cache, but will not affect other browsers on this computer.
                            Use the "butler-sheet-icons browser list-installed" command to see which browsers are currently installed.
  uninstall-all [options]   Uninstall all browsers from the Butler Sheet Icons cache.
                            This will remove all browsers from the cache, but will not affect other browsers on this computer.
                            Use the "butler-sheet-icons browser list-installed" command to see which browsers are currently installed.
  install [options]         Install a browser into the Butler Sheet Icons cache.
                            This will download the browser and install it into the cache, where it can be used by Butler Sheet Icons.
                            Use the "butler-sheet-icons browser list-installed" command to see which browsers are currently installed.
  list-available [options]  Show which browsers are available for download and installation by Butler Sheet Icons.
  help [command]            display help for command
PS C:\tools\butler-sheet-icons-win\demo-dir>

The sub-commands are pretty intuitive - they basically let you control which browser to install and use with BSI.
Check out the documentation for more info.

An important thing to understand is this:

💡

If no specific browser (Chrome or Firefox) and browser version is specified via command line options, BSI will install and use the latest version of Chrome.
This will work for the the vast majority of users and use cases.
So: keep it simple and let BSI decide which browser and browser version to use.

But hey - flexibility is good and it's now possible to use specific Chrome versions if needed.
Firefox support is still very experimental... you have been warned.

This also means that over time there may be several (many even) Chrome versions installed on the computer where BSI is used.
Use the "browser uninstall" or "browser uninstall-all" commands to uninstall browser versions that are no longer needed.

Don't worry about uninstalling all browsers, BSI will automatically install a good browser next time its run.

Not sure which browser versions are installed?
The "browser list-installed" command is your friend.

Enjoy!