Qlik Sense sheet icons made easy

If you develop Qlik Sense applications you’ve been there: Manually creating screen shots and then manually uploading them to a content library, and finally manually assigning them as sheet icons.

Fun? Not really. But it makes the lives of our end users easier, so we do it.

I’ve had this idea for years, but only got around to work on it recently.
Better late then never, the Butler family of open source tools for Qlik Sense has a new member:

Butler Sheet Icons

https://github.com/ptarmiganlabs/butler-sheet-icons

It’s an open source tool that will take screen shots of all sheets in a Qlik Sense Enterprise on Windows app, upload the images to a content library and finally set the sheet icons of each sheet. Automatically.

The tool is cross platform (Windows, MacOS, Linux, Docker).
A single command will update all sheets in an app. Add a few lines of PowerShell script and you can automatically update all sheets in all apps…
Or run it as a Docker container as part of your CI/CD workflow.
Or manually when you have made UI changes to your Sense app.

Feel free to try it out, feedback, report bugs or contribute with new features!

Butler 5.0 is out – Extra mega super deluxe reload alerts for Qlik Sense

…and yes – Butler is still open source.

The step from 4.x to 5.0 indicates this is a major release.

Very much so in fact.
The main focus of the new version is on reload alerts. Rich email alerts were introduced in Butler 4.2, but that was really just the testing ground for what’s now available in 5.0.

Here’s the short version of what’s new:

  • Alerts for failed or aborted reloads can be sent to Slack, MS Teams, outgoing webhooks, MQTT or as email.
  • Alerts sent as email, Slack and MS Teams can all make use of all the rich formatting and layout options available on those platforms.
  • Alert emails can be sent to the owner of the Sense app that failed reloading.
  • A new API for doing partial (and full) app reloads was added. This means it’s now possible and even easy to do partial app reloads in Qlik Sense. One of the epic QlikView features finally become usable in Qlik Sense!

Interested in more details?
butler.ptarmiganlabs.com

Curious what the alerts look like in reality? Check out this video for a hands-on demo:

Superpowers to Qlik Sense Enterprise: The Traefik reverse proxy, part 1

Edit: A GitHub repository has been created with the files mentioned in this article:
https://github.com/mountaindude/qlik-sense-and-traefik

What’s Traefik and how does it relate to Qlik Sense?

Traefik is one of today’s most hyped reverse proxies. It’s available in both a commercial and a (very capable!) open source version. According to the company behind Traefik it’s been downloaded more than 2 billion times – that’s a lot…

In this blog post we’ll take a look at how Traefik can run natively on Windows server, providing services to a Qlik Sense Enterprise on Windows cluster.
We will see how this can make Qlik Sense easier to use for end users as well as easier to run and operate for sysadmins.

Specifically, we’ll use Traefik to set up TLS secured access (a.k.a. https) to Qlik Sense, while at the same time establishing a solid platform to which we can add more features in coming blog posts.

Starting with the basics makes sense though – let’s get to it!

Continue reading “Superpowers to Qlik Sense Enterprise: The Traefik reverse proxy, part 1”

Butler SOS 5.4 is out: good looks and app details

Butler SOS provides real-time insights into Qlik Sense Enterprise on Windows environments.

Time for another update of Butler SOS, this time to version 5.4.

Github release : https://github.com/ptarmiganlabs/butler-sos/releases
Docker image   : https://hub.docker.com/r/ptarmiganlabs/butler-sos
Documentation  : butler-sos.ptarmiganlabs.com

This release both adds some nice new features as well as enhancing existing ones and fixing some bugs. Let’s take a look at the highlights.

  • Track in detail what apps are loaded into each Sense server.
  • Regular apps and session apps are handled separately, making app metrics easier to understand and more relevant
  • Sample dashboards are now built using the brand new, shiny and all together awesome Grafana 7. Did I mention that Grafana 7 is awesome? Awesome.
  • Ever wondered how long Butler SOS has been running or how much memory it uses? The new uptime messages have you covered.
  • You are properly impressed with the uptime messages – good. Why not store them to Influxdb, so you can also visualize Butler SOS’ own memory use? It’s just a couple of changes in the config file away.
  • Better control over what features are enabled. Don’t need Docker health checks? Now you can turn that (and other) feature off.
  • Ah, you are a serious Sense user and have separate DEV and PROD environments? Good – now Butler SOS supports multiple instances running on a single server.
  • Who will monitor the monitor? Butler SOS can now send heartbeats to customisable URLs at desired intervals. Perfect if you want to monitor Butler SOS using for example healthchecks.io. Very, very cool actually.
  • Bugs, bugs and bugs. The known ones have been fixed. Keep reporting new ones!
  • Update all dependencies to latest versions, to ensure security concerns are adressed.

Curious what it looks like in practice?
Seeing is believing:

Oh data where art thou?

When implementing Qlik Sense solutions for enterprise clients they usually have various requirements regarding alerts for failed reloads, support SLAs etc.
Those are all interesting challenges to implement, but the most common request is probably:

“The system should alert me if data doesn’t arrive on time”

It’s a reasonable request. If some source system is delayed and doesn’t delivery data to Sense on time, they as a system or application owner should be notified.

Don’t bother me unless it’s broken

The second thing almost all clients say is:

“Oh, I only want alerts when data is delayed. No messages when data is on time.”

Again, this is very reasonable.

Let’s say the extract app in Sense sends a notification email once data has been loaded from the source system. Great – we now know that data has arrived, and when it did.
Except that we will drown in such notifications from all our dozens (or hundreds..) of extract apps.

It’s kind of hard to implement this in a good way though, at least I have never found a really good, generic solution for this request.
Sure, you can have a Sense app who’s only job is to execute every 15 minutes and check whether data has arrived, and alert if data is delayed. That app will however put load on your Sense environment and use one of the reload slots. Even if the app reloads quickly it’s still pretty bad system design, IMHO.

I have a suggestion for a better option:

Set up a monitoring tool that views the Sense app (or rather its load script) as a black box with unknown function. The only thing the monitoring tool cares about is whether that black box has checked in within some configured interval.

I stumbled upon this while looking at ways to monitor servers in general, but quickly realised it could be used also with Sense.
By the way: while I have only used the described concept on Qlik Sense, it should work equally well with QlikView.

Don’t care for reading? This video outlines the concept, otherwise keep reading below.

Continue reading “Oh data where art thou?”

Butler SOS 5.0 is out – new features, new doc site

Butler SOS has matured quite a bit during past couple of years, with latest additions being fine-grained monitoring of what users are connected to what servers.
Opens up for various interesting use cases, including notification to users before server restarts etc.

A brand new doc site (butler-sos.ptarmiganlabs.com) also goes live today (built with Hugo and Docsy, vastly better than the previous one-pager at GitHub.

Starting today that site is the goto-place for everything Butler SOS related.
The site contains both installation and configuration instructions, as well as a (hopefully growing) set of examples on how Butler SOS can be used in various way.

Make sure to check out the blog section of that site too!