Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Version Control, TFS

Hello.

Is there a best practice on how to do version control with TFS and QDF?

I have read several PDF's on QV and version control but it still seems quite messy/complicated.

And I cant seem to find anything about version control in the QDF documentation folder?

So what's a good version control strategy, in a multi developer environment.

A good starting point for discussion would be, should I use the built in support in QV, or use some external GUI?

The problem I have here is that if I use the built in support, how do I get all of the QDF-folders into TFS, since the built in support only focuses on the current document?

5 Replies
aritting
Creator
Creator

This document is not a complete answer, but have you read this Qlik IDE Development environment.pdf ?

Some of the issues that need to be addressed:

  • some qvw files are huge and you wouldn't want multiple copies of them
  • you need -prj folders that contain the XML source of the qvw application - the QDF does address this with a bat program that will create the folders, but you still have to open the qvw and save it.
  • using a common share instead of checking out files to a local folder

After reading the referenced document I have started creating more QVS files and include them into the QVW. I put these in 3.Include\6.Custom

Not applicable
Author

Thanks for your input.

It's just issues like the one you stated that I don't like. "Issues" that one needs to have in mind.

For example:

When checking out the code on a new machine, I have to manually recreate all the .qvw's.

Also, another "gotcha" I just noticed:

The "InitLink.qvs" file in the QDF-document root was both HIDDEN and marked as a SYSTEM file, so that one didn't get checked into TFS...

I then checked out the full QDF container structure on a new machine and of course, reload of the document didn't work.

Conclusion:

I guess I'm probably "doing it wrong", but I want to use it like "ordinary" VCS, with every developer having their own checked out copy of the QDF.

Also wanting all code "flow" thru VCS/TFS.

E.g:

Developer adds new feature to .qvw -> Checkin to TFS -> Check out the TFS-revision to be tested at test server -> re-create QVW at test server

I.e, I dont want to manually handle the .qvw files, since that will become a mess. How do I keep track of which TFS-version a .qvw corresponds to? I guess I then have to start naming the .qvw files like:

FoobarApp_TFS-revision_32402.qvw and so on...

jp_golay
Partner - Creator II
Partner - Creator II

Hi Sebastian do you need to merge 2 diferent QVW apps?

JP

ebiexperts CTO
With WIP, Control everything!
Qlik Sense, QlikView and NPrinting Source control, Versioning and Deployment, Agile Lifecycle Management
Not applicable
Author

Hello.

No, no need to merge different apps.

But I would like to use a branching-strategy similar to this one:

http://nvie.com/files/Git-branching-model.pdf

Lets say I have 3 branches, release/master + bugfixes + develop

  1. I release version 1.0 of a document, from release/master
  2. I start developing version 2.0 in the develop branch
  3. I need to do a bugfix in bugfix branch, which is then merged into release/master
  4. A couple of more bugfixes
  5. It's now time to release version 2.0. Problem now is that I need to merge develop branch into release/master, which has changed with the "bugfixes" during development time. I cannot simply do a "overwrite" merge, since that would give me the 2.0 without the bugfixes. And I don't see how I could possibly do a manual merge of all the XML-files....

The only (straightforward) way I see around this is to also implement the bugfixes in parallel in the development branch....

jp_golay
Partner - Creator II
Partner - Creator II

Would be difficult maybe impossible to have diferent branches without merging apps on reconciliation.

Maybe have a look on ebiexperts Version Manager for QlikView it manages not only versions but make real compares manage variables and deploy to various servers.

There is projects and releases that you can use like branches

JP

ebiexperts CTO
With WIP, Control everything!
Qlik Sense, QlikView and NPrinting Source control, Versioning and Deployment, Agile Lifecycle Management