Développer des extensions sur Qlik Sense

Les extensions

Une extension Qlik Sense est un composant qui permet d’ajouter à la plateforme Qlik Sense de nouveaux types de visualisations. Ce concept permet de combiner des APIs Qlik Sense avec les capacités illimitées du Web.

Une fois créée, l’extension a le même comportement qu’un composant Qlik Sense natif : on peut ajouter des dimensions, des mesures et préserver le principe d’interactivité de Qlik Sense.

Architecture

Le serveur Qlik Sense nous propose un certain nombre d’APIs. Ces interfaces permettent une interaction avec notre serveur, ce qui permet d’extraire des données ainsi que diverses informations. Ces données et informations extraites peuvent être traitées avec du JavaScript afin de les structurer et de les visualiser selon notre besoin.

En plus du JavaScript basique, des bibliothèques CSS (comme Bootstrap) et du HTML peuvent être utilisés afin de faire des Dataviz plus au moins personnalisées.

Extensions QlikSense

Les possibilités d’extension

  • Exploitation des bibliothèques JavaScript existantes Highcharts, D3JS, Google Charts.
  • Utilisation des APIs sur le Web : Google Maps, Twitter.
  • Utilisation des bibliothèques de style comme Bootstrap.
  • Développement des visualisations et des comportements selon le besoin.

Le développement d’extensions

Fichiers d’une extension

Pour développer des extensions, l’architecture document doit être constituée d’un ensemble de fichiers qui sont indispensables. A ces fichiers s’ajoutent des fichiers supplémentaires, qui permettent de pousser plus loin les capacités de développement mais aussi de bien les organiser.

Fichier extension

Fichiers indispensables

  • Le fichier. Wbl : c’est un point d’entrée de l’extension, il contient la liste des fichiers indispensables
  • Le fichier. Qext : c’est le fichier de configuration principal de l’extension, il contient la version, le nom, l’icône, etc.
  • Le fichier .js : c’est le fichier le plus important, c’est là que l’on interroge le serveur Qlik, que l’on fait les calculs nécessaires ainsi que le design de l’extension.

Fichiers supplémentaires

  • Properties.js : Parmi les bonnes pratiques, les propriétés de l’extension seront séparées du fichier principal.
  • Fichiers .ccs : Des fichiers de style peuvent être ajoutés à l’extension afin d’améliorer le rendu et avoir une meilleure qualité de visualisation.
  • Bibliothèque JS : Des bibliothèques JS peuvent être ajoutées aussi pour avoir plus de fonctionnalités JavaScript (Jquery, D3JS, Highcharts).

Accès et structuration des données

La structuration et l’accès aux données retournées depuis le serveur seront contenus dans la méthode Paint ($element, layout). Cette dernière est rafraîchie à chaque fois que les propriétés changent ou que le widget est redimensionné.

Le serveur Qlik Sense retourne des données sous format d’un hypercube JSON. L’accès à cet hypercube se fera par la fonctionnalité layout.qHypercube.

L’hypercube est un objet JavaScript générique, qui va contenir les données ainsi que des métas données sur ce que l’utilisateur de l’extension mettra comme mesure et dimension depuis l’interface Hub.

Structuration des données

Exemples d’extensions développées par ASI

  • Une première extension prend une mesure et une dimension puis classe les membres de cette dernière en fonction de la mesure. Elle retourne ensuite le TOP3 de la dimension choisie :

Extension 1

  • Une deuxième extension s’appuie sur la bibliothèque Highcharts pour construire un radar, avec la possibilité de mettre plusieurs dimensions et de choisir la couleur de la dimension ainsi que la taille du diagramme.

Extension2 QlikSense

Vous avez besoin de communiquer sur vos données, construire un datawall ? N’hésitez pas à nous contacter pour bénéficier de l’expérience et de l’expertise de nos équipes pluridisciplinaires Java, UX et Data Intelligence >> asicom@asi.fr / 0806 700 800 (service gratuit + prix appel)

 

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s