Qlik Community

Qlik Design Blog

All about product and Qlik solutions: scripting, data modeling, visual design, extensions, best practices, etc.

Announcements
QlikWorld online is next week! REGISTER NOW
Ouadie
Employee
Employee

There is no doubt that having some sort of version control system baked into your development workflow is very important especially when challenges like storing and maintaining different backup versions of a project or collaborating with other members of your team become a nightmare.

A version control system makes all these problems disappear as it enables you to commit changes you make throughout the lifetime of a project, giving you access to historical versions that you can easily roll back to. It also allows for easier collaboration as multiple people can simultaneously work on the same project by branching out into their own isolated environments without impacting the work of others in a controllable and maintainable manner.

diagram-git.jpegWhen it comes to Qlik Sense, the lack of version control capabilities has opened the door to both simple solutions that can work for a smaller context as well as more creative ones to fill in the gap. From copying applications that may lead to a cluttered workspace, to manually creating your own system using a combination of Git and serializing your Qlik Sense apps, to sophisticated third-party solutions that take care of the heavy lifting, you can test and choose the option that fits your needs.

You can visit this Knowledge Base post to discover more Qlik Sense version control solutions.

In this blog post, I gave one of these solutions a go to see how adding version control can change the way you develop your Qlik Sense apps in the future.

Gitoqlok is a chrome extension that does just that, it integrates your VCS of choice such as Github, BitBucket, Gitlab, Gitea, etc … with your Qlik Sense App through their respective APIs. It uses the concept of serializing application objects to JSON and deserializing them back. The supported objects include story, sheet, measure, dimension, masterobject, snapshot, variable, bookmark, appprops, and fields.

Capture-gitoqlok-how-does-it-work.PNG
Source: gitoqlik.com

To get started, install the chrome extension here.

1. Connect Gitoqlik to the Github API using your personal token:
Visit Github to generate a new token and check the “repo” scope. Copy over your newly generated token into the "Git Settings" page of the extension. Make sure to go over the settings including your repository visibility (private or public), how your repo and branches will be named by default, etc..

InkedCapture-step1_LI.jpg

 

2. Once you create your app, you are ready to use the extension to create a repository. Gitoqlok makes this easy as it automatically detects your Qlik app, generates a default repo name based on the settings previously selected, and creates a master branch.

3. As you’re making progress developing the app (loading data, scripting, creating a data model, analyzing and visualizing data), you can commit your changes into the repo every time. Your commits can include the Load Script, the App Objects, Reload Tasks, and Data Connections.
You can use the git commit history to view your changes and revert to a previous state.

Capture-step3.PNG
4. You can collaborate with other people from your team so that each team member works on their own copy of the app in their own workspace.
Each team member would create an isolated branch inside the repository so that their changes do not affect the master branch. Gitoqlik makes this process seamless as it detects that copies of the main application have been created and finds the main repository allowing you to branch out with a single click.

Capture-step4.PNG

For more information about this tool, check out the docs.

I would love to hear what techniques you use to collaborate or track your changes when developing QS apps. If you have any suggestions for integrating version control with Qlik Sense, please leave them in the comments below.

2 Comments