There is another discussion on this but it didn't answer my question. I'd like to know how to work QDF while needing to use Team Foundation Server? Do you check in/out from within QV Local Client but then checkin the framework folders separately?
Hi Adam, you are perfectly right. Development done inside the application is version handled the built in way, read Version and Source Control Managment with QlikView for more info. Scriptlets created using the framework structure (vG.SubPath, vG.CustomPath) could be version handled using the external editor, for example Notepad++ and Sublime have TFS plugins. Vadim Tsushko have also created a QlikView language Plugin for Sublime QlikView language plugin for Sublime Text 2 Editor.
Hope that this helps
Best Regards
Magnus
We use yet another, slightly differrent approach.
We have a qlikview application which serves as a template for all QVD generators and ETL modules across the project.
Script in that application is identical for all ETL modules: something like this:
let vG.BasePath=;
// Basic search for 1.Init.qvs
$(Include=..\..\..\..\3.include\1.basevariable\1.init.qvs);
$(Include=..\..\..\3.include\1.basevariable\1.init.qvs);
$(Include=..\..\3.include\1.basevariable\1.init.qvs);
$(Include=..\3.include\1.basevariable\1.init.qvs);
Exit script when '$(vG.BasePath)'= '';
$(must_include=$(vG.SubPath)\RunApp.qvs);
CALL RunApp;
So basically it is QDF bootsrap code following by call of RunApp procedure
RunApp procedure looks up for script with name corresponding to name of QlikView document in vG.CustomPath directory, and includes that script. RunApp procedure looks something like that:
// Include and load QVS script corresponding to QVW file
SUB RunApp
LET include_file = '$(vG.CustomPath)' & Upper(replace(DocumentName(), '.qvw', '.qvs'));
$(must_include=$(include_file));
LET include_file=;
END SUB
To add new QVD Generator to Transformation container, I copy template application to vG.ApplicationPath of Transformation container with new name (for example InventTable.qvw), then create script InventTable.qvs in vG.CustomPath directory.
From there on all interesting stuff (real scripting) would be done in that script within Sublime Text.
So we have many self-contained, separately developed and tested modules. Binary QlikView part of any module is virtually disposable - we can simply copy over it from template at any time. Their text script parts are under strict control by CVS (we are using Git but I believe that is irrelevant)
Great solution Vadim, this is what the framework is all about
I have installed Sublime 3 + InQlik-Tools and it works perfectly, recommend using it!
Cheers
Magnus
Thank you.
I think I'll write another post - about our approaches to develeping in QDF environment - with sample QDF project.
I believe it's not only InQlik-Tools, but other helpfull Sublime Text packages, CVS and so on.
Hi Vadim,
It would be great if you could share the link of the approaches you mentioned for our reference.
Thanks!
Hi Zhen, there is already a document regarding QDF development using IDE and version control (as these goes hand in hand).Qlik IDE Development environment.pdf
Regards
Magnus