<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Qlik Sense on Stefan&#39;s Blog</title>
    <link>https://sstoichev.eu/categories/qlik-sense/</link>
    <description>Recent content in Qlik Sense on Stefan&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <lastBuildDate>Fri, 23 Feb 2024 10:00:39 +0000</lastBuildDate>
    <atom:link href="https://sstoichev.eu/categories/qlik-sense/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Get app reload progress (enigma.js mixin)</title>
      <link>https://sstoichev.eu/post/enigma-mixin-reload-progress/</link>
      <pubDate>Fri, 23 Feb 2024 10:00:39 +0000</pubDate>
      <guid>https://sstoichev.eu/post/enigma-mixin-reload-progress/</guid>
      <description>&lt;p&gt;When I was writing the code for &lt;a href=&#34;https://github.com/Informatiqal/qlbuilder&#34;&gt;qlBuilder&lt;/a&gt; &lt;code&gt;reload&lt;/code&gt; command I knew I&amp;rsquo;ll have to come back to it, at some point, and refactor the part that is displaying the reload progress. The plan was to separate this functionality as a separate module or even a package so it can be used elsewhere as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlik Error/Messages Codes</title>
      <link>https://sstoichev.eu/post/qlik-error-messages-codes/</link>
      <pubDate>Fri, 09 Feb 2024 13:40:36 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-error-messages-codes/</guid>
      <description>&lt;p&gt;While working with Qlik we can encouter errors or messages that can be a bit cryptic and contain just an error/message code.&lt;/p&gt;
&lt;p&gt;Very often these codes are followed by a short description. But sometimes either the description is missing or its &amp;hellip; to short :)&lt;/p&gt;
&lt;p&gt;Finally found some free time to compile a list of the error/messages codes, their short and long description.&lt;/p&gt;
&lt;p&gt;My data source is a few years old so most likely is not complete. But still there are 300+ codes there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web app authentication with QSEoW (web ticket &#43; session cookie)</title>
      <link>https://sstoichev.eu/post/web-app-authentication-with-qseow-web-ticket-session-cookie/</link>
      <pubDate>Wed, 05 Jan 2022 11:50:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/web-app-authentication-with-qseow-web-ticket-session-cookie/</guid>
      <description>&lt;p&gt;In one of the previous &lt;a href=&#34;__GHOST_URL__/2021/09/09/qseow-authentication-svelte/&#34;&gt;post&lt;/a&gt; we saw how to use web ticket to establish connection with Qlik Sense Engine. And probably for most cases the approach there is enough.&lt;/p&gt;
&lt;p&gt;But what if our web app have a requirement to communicate with other Qlik service(s) (in addition to the Engine)? For example, we want to list the reload tasks to which the user have access (this information is provided by &lt;a href=&#34;https://help.qlik.com/en-US/sense-developer/May2021/Subsystems/RepositoryServiceAPI/Content/Sense_RepositoryServiceAPI/RepositoryServiceAPI-Introduction.htm&#34;&gt;Qlik Repository Service REST API&lt;/a&gt;)?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Meet Informatiqal</title>
      <link>https://sstoichev.eu/post/informatiqal/</link>
      <pubDate>Tue, 02 Nov 2021 15:37:11 +0000</pubDate>
      <guid>https://sstoichev.eu/post/informatiqal/</guid>
      <description>&lt;p&gt;The initial idea was simple &amp;hellip; on paper. Spend few days just to prove that its possible. And it was doable. But to achieve it I had to build solid foundation.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not going to say what was the initial idea &amp;hellip; yet. But will share where it&amp;rsquo;s &amp;ldquo;home&amp;rdquo; will be and will release all the components of the &amp;ldquo;foundation&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Since there will be multiple components I&amp;rsquo;ve decided that it&amp;rsquo;s a good idea to separate them in their own space.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web app authentication with QSEoW (web ticket)</title>
      <link>https://sstoichev.eu/post/qseow-authentication-svelte/</link>
      <pubDate>Thu, 09 Sep 2021 13:35:33 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qseow-authentication-svelte/</guid>
      <description>&lt;p&gt;This post is long overdue but finally found the time to complete it.&lt;/p&gt;
&lt;p&gt;Here we&amp;rsquo;ll have a look how to establish connection (via &lt;a href=&#34;https://github.com/qlik-oss/enigma.js/&#34;&gt;enigma.js&lt;/a&gt;) to Qlik Sense Enterprise on Windows (&lt;code&gt;QSEoW&lt;/code&gt;) when hosting an web app outside of Qlik (not as an extension). And more specifically we&amp;rsquo;ll have a look at what is the authentication work flow.&lt;/p&gt;
&lt;p&gt;The (very simple) web app will just list the apps that are available for the logged in user. I&amp;rsquo;ll be using &lt;code&gt;Svelte&lt;/code&gt; as web framework (more specifically &lt;a href=&#34;https://kit.svelte.dev/&#34;&gt;SvelteKit&lt;/a&gt;) but the general work flow should work in the same way with other frameworks as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Export QMC tables</title>
      <link>https://sstoichev.eu/post/export-qmc-tables/</link>
      <pubDate>Fri, 08 Jan 2021 10:00:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/export-qmc-tables/</guid>
      <description>&lt;p&gt;Administrating Qlik Sense sometimes means spending a lot of the time in QMC.&lt;/p&gt;
&lt;p&gt;And sometimes I need to export some of the tables there just to keep the info somewhere else while I&amp;rsquo;m on a different screen in QMC.&lt;/p&gt;
&lt;p&gt;Finally sat down to solve this specific issue - &lt;code&gt;Chrome&lt;/code&gt;/&lt;code&gt;Edge&lt;/code&gt; extension that can export QMC tables to CSV file or copy the content to the clipboard.&lt;/p&gt;
&lt;h3 id=&#34;ui&#34;&gt;UI&lt;/h3&gt;
&lt;p&gt;The extension layout is &amp;ldquo;separated&amp;rdquo; into two areas:&lt;/p&gt;</description>
    </item>
    <item>
      <title>enigma.js - interceptors</title>
      <link>https://sstoichev.eu/post/enigma-js-interceptors/</link>
      <pubDate>Wed, 08 Jul 2020 09:00:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/enigma-js-interceptors/</guid>
      <description>&lt;p&gt;Another interesting feature of enigma.js are interceptors. Interceptors are similar to the mixins functions but they are executed on lower level - request/response level.&lt;/p&gt;
&lt;p&gt;Request interceptors are invoked right before the request is send to the Engine and response interceptors are invoked right after the response from the Engine is received and before the data is send to the calling function.&lt;/p&gt;
&lt;p&gt;You can think of the interceptors as &amp;ldquo;enigma.js middleware&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Custom enigma.js mixins</title>
      <link>https://sstoichev.eu/post/introducing-enigma-mixin/</link>
      <pubDate>Fri, 03 Jul 2020 09:00:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/introducing-enigma-mixin/</guid>
      <description>&lt;p&gt;In the &lt;a href=&#34;__GHOST_URL__/2020/06/23/enigma-js-mixins/&#34;&gt;previous post&lt;/a&gt; we saw what are &lt;a href=&#34;https://github.com/qlik-oss/enigma.js&#34;&gt;enigma.js&lt;/a&gt;  &lt;a href=&#34;https://github.com/qlik-oss/enigma.js/blob/master/docs/api.md#mixins&#34;&gt;mixins&lt;/a&gt;. I&amp;rsquo;ve started an repo some time ago (and &lt;em&gt;npm&lt;/em&gt; package) where I&amp;rsquo;ve been adding mixins that I&amp;rsquo;ve found useful (or mixins that I&amp;rsquo;ve found boring to write all the time). And want to introduce you to this list.&lt;/p&gt;
&lt;p&gt;At the moment the repo contains only mixins that are relevant to application/document.&lt;/p&gt;
&lt;p&gt;(to distinct the mixins methods from the default enigma.js ones all mixin methods, from this package, are having prefix &lt;code&gt;m&lt;/code&gt;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>enigma.js - mixins</title>
      <link>https://sstoichev.eu/post/enigma-js-mixins/</link>
      <pubDate>Tue, 23 Jun 2020 09:15:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/enigma-js-mixins/</guid>
      <description>&lt;p&gt;You know it already but &lt;a href=&#34;https://github.com/qlik-oss/enigma.js&#34;&gt;enigma.js&lt;/a&gt; is the JavaScript wrapper around the Qlik&amp;rsquo;s Engine API.&lt;/p&gt;
&lt;p&gt;If you are building a mashup/web app or some sort of automation that require Engine communication you&amp;rsquo;ll have to use Engine API and here enigma.js is your friend.&lt;/p&gt;
&lt;p&gt;Just to mention that JavaScript is not the only &amp;ldquo;flavor&amp;rdquo; of Enigma. You can find enigma for &lt;a href=&#34;https://github.com/qlik-oss/enigma-go&#34;&gt;&lt;em&gt;Go&lt;/em&gt;&lt;/a&gt; and &lt;a href=&#34;https://github.com/q2g/enigma.net&#34;&gt;&lt;em&gt;.NET&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!-- &lt;figure class=&#34;kg-card kg-bookmark-card&#34;&gt;
  &lt;a href=&#34;https://github.com/qlik-oss/enigma-go&#34; class=&#34;kg-bookmark-container&#34;&gt;
    &lt;div class=&#34;kg-bookmark-content&#34;&gt;
      &lt;div class=&#34;kg-bookmark-title&#34;&gt;qlik-oss/enigma-go&lt;/div&gt;
      &lt;div class=&#34;kg-bookmark-description&#34;&gt;Go library for consuming Qlik’s Associative Engine. - qlik-oss/enigma-go&lt;/div&gt;
      &lt;div class=&#34;kg-bookmark-metadata&#34;&gt;
        &lt;img src=&#34;https://github.githubassets.com/favicons/favicon.svg&#34; class=&#34;kg-bookmark-icon&#34;&gt;
        &lt;span class=&#34;kg-bookmark-author&#34;&gt;qlik-oss&lt;/span&gt;
        &lt;span class=&#34;kg-bookmark-publisher&#34;&gt;GitHub&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    
    &lt;div class=&#34;kg-bookmark-thumbnail&#34;&gt;
      &lt;img src=&#34;https://avatars3.githubusercontent.com/u/23365920?s=400&amp;amp;v=4&#34;&gt;
    &lt;/div&gt;
    
  &lt;/a&gt;
  
&lt;/figure&gt; --&gt;
&lt;!-- &lt;figure class=&#34;kg-card kg-bookmark-card&#34;&gt;
  &lt;a href=&#34;https://github.com/q2g/enigma.net&#34; class=&#34;kg-bookmark-container&#34;&gt;
    &lt;div class=&#34;kg-bookmark-content&#34;&gt;
      &lt;div class=&#34;kg-bookmark-title&#34;&gt;q2g/enigma.net&lt;/div&gt;
      &lt;div class=&#34;kg-bookmark-description&#34;&gt;.NET library for consuming Qlik’s Associative Engine. - q2g/enigma.net&lt;/div&gt;
      &lt;div class=&#34;kg-bookmark-metadata&#34;&gt;
        &lt;img src=&#34;https://github.githubassets.com/favicons/favicon.svg&#34; class=&#34;kg-bookmark-icon&#34;&gt;
        &lt;span class=&#34;kg-bookmark-author&#34;&gt;q2g&lt;/span&gt;
        &lt;span class=&#34;kg-bookmark-publisher&#34;&gt;GitHub&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    
    &lt;div class=&#34;kg-bookmark-thumbnail&#34;&gt;
      &lt;img src=&#34;https://avatars2.githubusercontent.com/u/29521584?s=400&amp;amp;v=4&#34;&gt;
    &lt;/div&gt;
    
  &lt;/a&gt;
  
&lt;/figure&gt; --&gt;
&lt;p&gt;But in this post I want to introduce you to one very cool (but not very popular) functionality that Enigma provides - &lt;strong&gt;mixins.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing qlbuilder</title>
      <link>https://sstoichev.eu/post/introducing-qlbuilder/</link>
      <pubDate>Tue, 08 Oct 2019 08:30:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/introducing-qlbuilder/</guid>
      <description>&lt;h3 id=&#34;qlbuilder&#34;&gt;qlbuilder&lt;/h3&gt;
&lt;p&gt;In general &lt;code&gt;qlbuilder&lt;/code&gt; is a tool that communicates with Qlik apps (using the Engine API) and set the script. The script is located on the local machine and can be &amp;ldquo;stitched&amp;rdquo; from multiple files.&lt;/p&gt;
&lt;h3 id=&#34;why&#34;&gt;Why?&lt;/h3&gt;
&lt;p&gt;Everyone have their own preferred IDE/text editor and we can write own &lt;code&gt;Qlik Sense&lt;/code&gt; load scripts there and use &lt;code&gt;include&lt;/code&gt;/&lt;code&gt;must_include&lt;/code&gt; inside the app to &amp;ldquo;bring&amp;rdquo; the script inside the app.&lt;/p&gt;
&lt;p&gt;But it will be nice if we can write the scrips locally and upload them directly to the app as it is.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy Qlik extension/mashup with Qlik-CLI</title>
      <link>https://sstoichev.eu/post/deploy-extension-mashup-with-qlik-cli/</link>
      <pubDate>Thu, 18 Jul 2019 08:15:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/deploy-extension-mashup-with-qlik-cli/</guid>
      <description>&lt;p&gt;Creating Qlik extensions/mashups is usually quite fun. But it will be better if you have a way to develop locally and deploy to Qlik.&lt;/p&gt;
&lt;p&gt;Usually I&amp;rsquo;m using &lt;a href=&#34;link-here&#34;&gt;qExt&lt;/a&gt; or &lt;a href=&#34;link-here&#34;&gt;sense-go&lt;/a&gt; but in this specific case I didn&amp;rsquo;t had the chance to use either (enterprise restrictions)&lt;/p&gt;
&lt;p&gt;Luckily for me &lt;a href=&#34;https://github.com/ahaydon/Qlik-Cli&#34;&gt;Qlik-CLI&lt;/a&gt; was available. And &lt;code&gt;Qlik-CLI&lt;/code&gt; is doing a great job dealing with Qlik Repository API.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve decided to write a small &lt;code&gt;PowerShell&lt;/code&gt; script that can be used to import the extension from my local PC to Qlik.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Global Environment Values Approach (Qlik Sense)</title>
      <link>https://sstoichev.eu/post/qlik-sense-environment-values-approach/</link>
      <pubDate>Tue, 16 Jul 2019 08:49:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-sense-environment-values-approach/</guid>
      <description>&lt;p&gt;With multi-stage Qlik environment (DEV, TEST, PROD etc) the load scripts are usually including some kind of a check - &amp;ldquo;&lt;strong&gt;In which environment am I?&lt;/strong&gt;&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Based on the result different/additional actions might be performed. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;if the environment is not PROD then mask/scramble the client names&lt;/li&gt;
&lt;li&gt;use different data connection names (providers) on each environment&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It will be nice if there is something more centralised that can provide this information (and not only) to any app on the cluster. Something like a global meta-data &amp;ldquo;storage&amp;rdquo; that can be changed/updated (by the administrators)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlik Sense Custom Hub</title>
      <link>https://sstoichev.eu/post/qlik-sense-custom-hub/</link>
      <pubDate>Sun, 13 Nov 2016 22:12:34 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-sense-custom-hub/</guid>
      <description>&lt;p&gt;I like how flexible Qlik Sense is. With its massive API if we want we can re-build the GUI (and not only) from scratch and just use the background services (like the Engine or Repository).&lt;/p&gt;
&lt;p&gt;I have some (small) issues with how the current Hub looks and behaves and decided to build something simple that fits my needs.&lt;/p&gt;
&lt;p&gt;At the end I&amp;rsquo;ve wanted something simple that will provide me with quick search capabilities, few shortcuts and the options to create, delete and duplicate files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>qSocks snippets extension for VSCode</title>
      <link>https://sstoichev.eu/post/qsocks-snippets-extension-for-vscode/</link>
      <pubDate>Mon, 10 Oct 2016 10:55:03 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qsocks-snippets-extension-for-vscode/</guid>
      <description>&lt;p&gt;At the moment &lt;a href=&#34;https://code.visualstudio.com&#34;&gt;VSCode&lt;/a&gt; is my preferred code editor (although I&amp;rsquo;m side using &lt;a href=&#34;https://atom.io/&#34;&gt;Atom&lt;/a&gt; sometimes as well). And when I&amp;rsquo;m writing something which uses &lt;a href=&#34;https://github.com/mindspank/qsocks&#34;&gt;qSocks&lt;/a&gt; I&amp;rsquo;ve always have GitHub and &lt;a href=&#34;http://help.qlik.com/&#34;&gt;Qlik Sense help site&lt;/a&gt; open so I can check the available methods and what parameters need to be provided for these methods. Plus I&amp;rsquo;m a &amp;ldquo;bit&amp;rdquo; lazy and always copy/paste code from another projects I have and adapt it to the current needs.&lt;/p&gt;
&lt;p&gt;For these reasons I&amp;rsquo;ve made &lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=stefanstoichev.qsockssnippet&#34;&gt;VSCode snippets extension&lt;/a&gt;. The extension is used from within VSCode and include all qSocks methods as snippets. Just type &lt;code&gt;qsocck&lt;/code&gt; and pick the method that you need.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlik Sense Mail Notifications</title>
      <link>https://sstoichev.eu/post/qlik-sense-tasks-notifications/</link>
      <pubDate>Sun, 24 Apr 2016 10:23:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-sense-tasks-notifications/</guid>
      <description>&lt;p&gt;One feature that is missing in Qlik Sense is to send mail notifications when task is completed (fail or success). This feature is available in QlikView Server and I&amp;rsquo;m finding it very useful.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve found 3 ways that this can be achieved in QS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Log files scraping&lt;/li&gt;
&lt;li&gt;QRS API&lt;/li&gt;
&lt;li&gt;log4net&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ll cover the third option in details&lt;/p&gt;
&lt;h2 id=&#34;log-files&#34;&gt;Log files&lt;/h2&gt;
&lt;p&gt;Every QS service have it&amp;rsquo;s own log folder where the activity is logged. Batch file can be written that monitor the &lt;code&gt;Scheduler&lt;/code&gt; service log file and on change to scrap the content and mail the result.&lt;/p&gt;</description>
    </item>
    <item>
      <title>US Map Simplified (Qlik Sense Extension)</title>
      <link>https://sstoichev.eu/post/us-map-simplified-qlik-sense-extension/</link>
      <pubDate>Mon, 14 Mar 2016 02:47:28 +0000</pubDate>
      <guid>https://sstoichev.eu/post/us-map-simplified-qlik-sense-extension/</guid>
      <description>&lt;p&gt;Couple of weeks back Alexander Karlsson (&lt;a href=&#34;https://twitter.com/mindspank&#34;&gt;@mindspank&lt;/a&gt;) posted a &lt;a href=&#34;https://twitter.com/mindspank/status/654129751519395840&#34;&gt;tweet&lt;/a&gt; with idea for a new Qlik Sense extension.
The extension should look like this:
&lt;img alt=&#34;US states&#34; loading=&#34;lazy&#34; src=&#34;https://pbs.twimg.com/media/CRPhNXWUEAAblV7.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;Basically the extension should have a rectangle for each state. The rectangles should be ordered so they will look like USA map. In each rectangle there should be two text values - top one is the state name in short format (WA, ID, MT etc.) and some value (user specified)&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
