English Qlik Sense Developers 1.1

What’s new in Qlik Sense 1.1?

Here are some of the highlights of the new and updated features in the release of Qlik Sense 1.1:

  • Qlik Sense Workbench is now available in a Qlik Sense installation
  • Snapshots can now be included in mashups.
  • Qlik Sense .NET SDK: Support for multiple hyper cubes and list objects in generic objects

Updates and new features are divided into the following sections.

Building extensions with Qlik Sense Workbench

Qlik Sense Workbench

Available in a Qlik Sense installation

Qlik Sense Workbench is now available in a Qlik Sense installation as well as in a Qlik Sense Desktop installation.

See: Launching Qlik Sense Workbench

Code completion

Qlik Sense Workbench now comes with code completion, or auto-complete, which helps developers navigate through the object structure of, for example, the Mashup API. An example of when this is useful is when developers need to write code that extracts the values from lists or arrays and the object of reference is several steps up in the objects hierarchy.

See: Mashup workbench overview

Mashup workbench

Redesign of the Mashup workbench

Mashup workbench has been re-designed to make it easier to use the generated mashup as a start for more advanced mashups. In Qlik Sense version 1.0 both html files and the javascript files were modified. Definitions for lists and hypercubes were in the qext files and only supported a small subset of the options available in Qlik engine. In Qlik Sense version 1.1 everything is in the javascript file and you can modify it in Mashup workbench or in a standard text editor.

Simplified selection making

Making selections programatically in your mashup is simplified by an easier syntax for the Mashup API method selectValues.

See: selectValues method

Closing session, app connection and web socket

You can close and discard the Session objects created in your mashup. Use the destroySessionObject method in the Mashup API.

See: destroySessionObject method

You can also close the app connection which also closes the web socket. Use the close method in the Mashup API.

See: close method

Snapshot support in mashups and single configurator

Snapshots can now be included in your mashups.

Master objects in Single configurator

You can now use master objects in single configurator.

Enhanced Selections bar toggling

The Selections bar can easily be turned ON and OFF in Mashup workbench.

See: Mashup workbench

Multiple apps in mashup

Mashup workbench now has the capability to generate code for multiple Qlik Sense apps in the mashups. A new drop-down list lets the developer switch between apps and make multiple connections to apps in a single mashup page.

See: Adding objects from multiple Qlik Sense apps

Interface to Qlik engine global object

The Mashup API has been extended with a new global object to allow access to the Qlik engine global object. The API allows you to close connections to apps and to close session objects and visualizations to conserve resources.

See: qlik.global interface

Improved format of generated code in Mashup workbench

The format of the generated code in Mashup workbench has been improved for Qlik Sense version 1.1. When opening a mashup created with an earlier version, you have the option to convert to the new format.

See: Opening an existing mashup

Upgrade considerations

  • The path to require.js has changed. The new path is /resources/assets/external/requirejs/require.js.
  • The css file qirby.css has changed name to qlikui.css and the path is /resources/autogenerated/qlikui.css.

Mashups using the old paths will be automatically redirected to the new paths.

Building server tools

Qlik Sense Proxy Service API

X-Qlik-User header changed

Both <directory> and <userid> must be URL-encoded representations of UTF-8 values.

See: X-Qlik-User header

Code example updated

The code example in the help topic Connecting to the QPS API using certificates has been updated.

See: Connecting to the QPS API using certificates

Port added

Port 4248 has been added.

See: Ports overview

Qlik Sense Repository Service API

Extension: Create extension with schema

New endpoint.

See: Extension: Create extension with schema

Extension: Delete extension by name

New endpoint.

See: Extension: Delete extension by name

Extension: Create or update a file in an extension

New endpoint.

See: Extension: Create or update a file in an extension

Extension: Delete a file from an extension

New endpoint.

See: Extension: Delete a file from an extension

Notification: Add change subscription

Previously referred to as “Notification: Add event listener”.

Added new optional parameters: {changeType} and {propertyName}.

Updated the description of the {filter} optional parameter.

See: Notification: Add change subscription

Notification: Remove change subscription

Previously referred to as “Notification: Delete event listener”.

See: Notification: Remove change subscription

Security rule audit: Get accessible objects

Changed the return value from List<IExternalRepositoryObject> to List<IRepositoryObject>.

See: Security rule audit: Get accessible objects

Ports overview

Added port 4248.

See: Ports overview

User entity

Added new properties:

  • blacklisted: The Qlik Sense administrator has blacklisted the user in the Qlik Management Console (QMC).
  • removedExternally: The user has been removed from the external source (for example, Microsoft Active Directory) from which the user was synchronized.

The Inactive property depends on the properties listed above.

ProxyService entity

Moved load balancing from the settings child object to the VirtualProxyConfig entity.

Building clients

Qlik Engine API

Set dimension limits in pivot tables

Customize OtherTotalSpecProp in the definition of the pivot table to set some dimension limits.

Added example: Set dimension limits.

Open an app without loading its data

New parameter qNoData to toggle the behavior of the engine when opening an app. If set to true, the app is opened without its data.

Added example: Open an app.

Check that a number is correct according to the locale

New CheckNumberOrExpression method.

Updated example: Check an expression.

Replace an object that is published

New methods: CreateDraft method, CommitDraft method and DestroyDraft method.

Added examples: Create a draft and commit it, Create a draft and remove it.

NxDimension struct

Some properties have changed.

Added example: NxDimension.

RangeSelectHyperCubeValues method

Added qColumnsToSelect parameter to the method RangeSelectHyperCubeValues to indicate which dimensions to select.

Added example: RangeSelectHyperCubeValues method.

NxAppLayout struct

The property qLocaleInfo has been added to return information about the locale.

See: NxAppLayout

GenericObjectLayout struct

The property qHasSoftPatches has been added to indicate whether or not the generic object contains some soft properties.

See: GenericObjectLayout

qPseudoDimPos property

The property qHyperCubeDef/qPseudoDimPos no longer exists. The position of a pseudo dimension is set in qHyperCubeDef/qInterColumnSortOrder instead.

See: HyperCubeDef

Updated example: Select some dimension cells in a pivot table.

AllowEditMode method

The AllowEditMode method has been removed since it was deprecated. This method belonged to the global class.

Creating custom connectors

QVX SDK

The current version of the QVX SDK is 2.1. It supports Qlik Sense 1.1.

Qlik Sense adaptation

A section has been added to describe how to adapt an existing (QVX SDK version 2.0) or new connector to work in Qlik Sense.

See: Qlik Sense adaptation

New method added to override generic commands

A new method, HandleJSONRequest, has been added to handle QVX generic commands that are not pre-defined in the QVX API.

See: Handling JSON request command

Creating .NET applications

Qlik Sense .NET SDK

Hyper cubes and list objects in generic objects

Support for multiple hyper cubes and/or list objects in generic objects.

New flow added for handling of dynamic data

Introduced new flow for handling dynamic data which will make it possible to support more complex client side management (like type conversion) than allowed in the previous flow.

Support for KPI object

The KPI visualization is now supported via Qlik Sense .NET SDK.

See: API reference

New SDK example

A new SDK example has been added: App Traverser.

See: App Traverser

Open app without data

It is now possible to open a Qlik Sense app without loading the data by using the NoData parameter of the OpenApp method.

See: API reference

Deprecated methods

The following methods have been deprecated and marked as Obsolete.

  • Qlik.Engine.Location.Local
    Instead use: Qlik.Engine.Location.FromUri
  • Qlik.Engine.Location.LocalServer
    Instead use: Qlik.Engine.Location.FromUri
  • Qlik.Engine.Location.FromProcess
    Instead use Qlik.Engine.Location.FromUri
  • Qlik.Engine.Location.AppWithName
    Instead use Qlik.Engine.Location.AppWithNameOrDefault
  • Qlik.Engine.GenericObject.WillCreateChild
    Instead use Qlik.Engine.Location.AppWithNameOrDefault

See: API reference

Upgrade considerations

  • Do not use the C# concept dynamic. It is no longer possible to use the C# concept dynamic to set dynamic properties on SDK objects. The new dynamic data handling provides the methods Set and Get to be used for this purpose.
  • OpenApp method has a new parameter: NoData.