QlikView Extension Tutorial #1: The Concept of QlikView Extensions

This article is part of a series of articles, see also the table of contents.
Previous Chapter

The Concept of QlikView Extensions

The concept of QlikView Extensions has been introduced with QlikView 10 and improved with QlikView 11+.

A QlikView Extension allows you to visualize your data the way you want to see it. With Extensions fully interactive custom visualizations can be used directly from within QlikView. This feature enables the use of specialist visualizations and user interface components that are not present in standard QlikView today. Extensions allow developers, for example, to create and use a map, a tag cloud or an infographic chart directly from within their QlikView application like any other QlikView object.
QlikView Extensions are built by developers using standard web technologies and are installed alongside a standard QlikView installation. An Extension is developed and packaged by a developer ready to be installed then used within a QlikView application. This plug-in mechanism allows Extensions to be developed once and re-used in multiple QlikView applications. Once an Extension is built by a developer end users can easily add these from the palette of available objects.

QlikView Extensions are designed to work both in the QlikView Ajax Client and QlikView Desktop (if you turn WebView on).

Business Cases

The use of Extensions is extremely broad and can be used as solutions to a number of different scenarios.
Add to documents where the following are considerations

  1. A specialized or bespoke data visualization is required
  2. A unique look and feel is desired
  3. A visualization or user interface element is required that is not part of standard QlikView.
  4. A communication from within the client with external processes or web services is desired
  5. An integration of external web content / web services should be implemented

Object and Document Extensions

There are two different types of QlikView Extensions, Object Extensions and Document Extensions.

QlikView Object Extensions represent as single visualization object within a QlikView document, very similar to the standard objects (like a straight-table, a chart, a text object, etc.) QlikView provides. In comparison to a standard object an extension developer has the freedom to develop how the entire object should look like.

QlikView Document Extensions allow you to customize an entire QlikView Document, for example by using a Document Extension you could achieve that the entire document is not aligned to the left side of your browser but centered instead (see “Center Align Document Extension” by Brian Munz).

Extensions are developed by using standard web-technologies like JavaScript, Html and CSS but you could also use Java, Flash or Silverlight (even if these technologies become less and less important nowadays).

Limitations of QlikView Extensions

There are some limitations which cannot be achieved using QlikView Extensions:

  • You are not able/allowed to modify neither the data model nor the data of a QlikView Application
  • QlikView Extensions cannot be used in reports

Using Existing Extensions – How to Install

Before we start to develop our own QlikView Extensions let’s have a look into how existing extensions will be “installed” and used.
If you open QlikView Desktop having a fresh install you’ll see that there are no QlikView Extensions installed by default:

  1. Open QlikView Desktop
  2. Create a new blank QlikView document
  3. Switch to WebView (View > Turn on/off WebView or click the WebView in the Design toolbar)
  4. Right click anywhere in the sheet and select “New Sheet Object”

You’ll see a list of standard QlikView objects, but if you select the “Extension Objects” pane in the accordion you’ll notice that the list is empty:

So let’s “install” some existing extensions:

  1. If you switch to the folder C:\%ProgramFilesFolder\QlikView\Examples\Extensions\ in Windows Explorer you’ll find a file called “Extension Examples.qar”
  2. Double-click the file
  3. QlikView will open and you will see the following dialog, which confirms that 5 extensions have been installed successfully

Going back to the QlikView document you’ll notice that there are now 5 extensions available (if not, press the key F5 to refresh).

Now drag and drop the “Web Page Viewer” extension onto your sheet. This is a very simple extension which displays a web page within the current sheet of your QlikView document.

By default you’ll see a detail of http://www.qlikview.com because this is the default URL set for this extension. Now right-click again somewhere on the extension object’s area and you’ll see the extension’s property dialog:

Beside the default properties (which can be found in the panes “Presentation”, “Caption” and “Option”) you can now set the URL of the web page. Note that the value can be defined by either just entering a text or by using an expression, which is the case in the above shown screenshot.
As soon as you have changed the URL and closed the property dialog you’ll notice that the content of the “Web Page Viewer” extension object will change immediately.

Looking Under the Hood

You are maybe asking yourself what exactly happened when you clicked on the .qar file and what type of file this is.

A .qar file (stands for QlikView Archive File) is just a .zip file with the extension .qar. If you rename a .qar file’s extension to .zip and unzip it you’ll find files (and maybe folders) in the extraction result. Here’s the entire content of the WebPageViewer.qar extension:

In the next chapter I’ll explain in detail the anatomy of a .qar file.

QlikView is exactly doing the same as described above, unzipping the file and copying the content to a folder where QlikView is expecting all extensions to be. The previously “installed” extensions can be found under

C:\Users\%USER%\AppData\Local\QlikTech\QlikView\Extensions\

For further information about how to install and deploy QlikView extension both for QlikView Desktop and QlikView server please have a look at the article I have written some time ago.

In the next chapter we will finally start coding and creating our first “Hello World” extension.

Bookmark and Share

and tagged , . Bookmark the permalink. Both comments and trackbacks are currently closed.