This is a new series of Back To Basics posts, where I am going to demonstrate some of the things that I will do on just about every QlikView project I work on. These posts are for new users and more experienced ones that want to pick up a new trick or two.
Back To Basics
One of my posts on QlikCommunity recently got an extremely positive response, when I thought I simply was stating the obvious. it then occurred to me that there are a number of things that I do so often that they have become second nature – but they may not seem so obvious to others. That it why I am starting this series of posts – and commencing with the topic from that QlikCommunity post: sorting your QlikView Server folder structure.
Putting The Fault into Default
There are no doubt a number of opinions on the best way to set up your QlikView folder structure (which you are free to share in the comments on this post), but what is universally agreed is that the installation default makes no sense. When you first look at your QMC settings you will see that the folder for publishing QlikView documents is nestled under your Program Files folder and has a handful of demo documents to clutter your Access Point. One of the first things I always do when I go into QMC for the first time is change this, to what I believe to be QlikView best practice.
Mounting Folders In QlikView
For those that are not aware, your published folder configuration can be found in QMC under System / Setup / QlikView Servers / {Your Server Name} / Folders. Here you can set a root folder and a number of sub folders. Ensure that all folders actually exist on your server and that you click the Apply button (I tend to click this twice – just to be sure).
Any QlikView document placed in any of these folders or sub folders within them will appear in Access Point (provided the user has the correct AD permissions). For this reason it is important to not mount a folder that sits within another mounted folder – as all documents in that folder will appear in Access Point twice. Given the way that sub folders are included there is only the need to mount a Root folder and then create folders within there. I would however not recommend this. By mounting other folders you have more control over where your documents sit, you can also remove documents from Access Point (perhaps temporarily) without physically removing the files. In this way the Root folder becomes much like the rest of the folders – and I always leave this one empty (you will find system files with a .pgo extension get created in here).Bring Structure To Your QlikView Folders
As to the structure itself I will typically create a QlikView Documents folder on the data drive of the server (often D:\) and everything else under there. In here I will create folders for the Root folder, Development files, Logs, QVDGeneration, staging Data, SourceData, Images, Themes and also a Published folder – to contain the folders I will mount. The folders within published will change from installation, but will always contain a System folder (for Ops Monitor and other small system apps I use (more on these in a later post)) and then often folders for each area of the business. The end result will look a bit like this:
By setting up a sensible structure at the outset much pain can be saved later on. The ability to mount and unmount folders at a granular level makes life a lot easier.Final Notes
Note that if you have Publisher you will set up the QVDGeneration folder under Distribution settings and the only folders you will mount are Root and those under the Published folder. If you do not have Publisher you will need to mount QVDGeneration also, in order that you can schedule reloads.
You may have noticed I create a Logs folder under QlikView documents, the default logging location also needs to be changed under the QMC settings to point to this folder (on the Logging tab under Server Setup). For more information on setting up mount folders please refer to the QlikView Server manual, search QlikCommunity or feel free to ask a question below.
Hi Steve,
I like the going back to basics theme. I probably overcomplicate my folder structures dividing the different steps from extraction, transform, model and applications into different folders.
Independent of that, one important issue is dividing the development and production into 2 separate folders with identical structures. This helps avoid accidently loading QVDs or Excel files that you working on into published documents or forgetting to changes folder paths or variables in the script when you migrate QVWs from development to production.
Karl
Hi Karl,
The folder structure outlined above works when there is a separate Development and Production server – with identical folder structures. Where a single box is used for both development and live then the folders need to be split out as you suggest. Items like Logs, Images and Themes would be shared with everything else sitting under a Development or Live folder structure.
Steve
After Qliktech’s release of the Qlikview deployment framework (QDF) I always recommend a QDF container structure to new customers. I believe they are better of with a vendor defined standard over my custom made structure. However, since my old custom structure is very ETL based my container structure often get a ETL feel as well.
Hi Vegar – thanks for your thoughts on this. I need to take a closer look at the QDF to see if this will be a good fit for my clients.
Vegar/Steve, where can I find information on QDF?
The best description I have seen is from Vegar himself: http://bi-effekten.se/2013/03/15/6-skal-till-att-borja-anvanda-qlikview-deployment-framework/
You may want to use Google translate as the article is in Sweedish.
I think the QDF would be the best way to approach this in the near future. Container architecture does save alot of time on large projects!!
I will have to provide a write up on QDF after I implement it at a live client.
Hi Steve,
Another excellent post, you cannot stress the importance of a good folder structure enough.
I agree that opinions on what is the best folder structure will vary. I don’t think there is a ‘best’ way, as long as the structure is logical and consistent to you and the people who have to use/maintain it, and flexible enough to accommodate future change, it’s all good. That being said, here is what I use (and a little sneak peek at a very small part of my Masters Summit material): https://www.qlikfix.com/wp-content/uploads/Legacy/FolderStructure.png
Regarding the QDF, I’ve reviewed the materials and while like the approach I’ve decided not to use it for now. This seems to be a local initiative within QlikTech and I’d first like to see if it sticks (i.e. if it’s not another soon-to-be-abandoned release like the Safe Methodology, Enterprise Framework, etc.) Besides that I already use containers (just didn’t call them that, but as it sounds cool I will now :) and already have the complete code library, processes, etc. around it. No need to change just for the sake of change.
Kind regards,
Barry
Hi Barry – I’m really looking forward to your sessions at the Masters Summit next week. Thanks for sharing some of the content here in advance.
Regarding your folder schematic I am going to have to discuss with you the rationale behind the binary load to the front end. I’ve seen others do it and I don’t yet understand why that is preferable to optimised loads from QVD?
Hi Steve – The binary load approach will allow you to build multiple user interface applications from a single, shared data model. If you want to add a new bunch of QVDs to your model and you have more than one UI then you have two, or more, places to make the same changes. If your data model is a simple load of optimised QVDs then the savings here aren’t going to be too substantial (although it will still be quicker to binary load the data model than load in the optimised QVDs), but if you do any ‘extra’ work in the data modelling layer then you would also have to replicate this work across the different UI files.
Again, there may not be too many occassions where you want to build different UI apps over a shared data model, but there will be some and this makes it very simple to maintain.
Need to catch up again soon!
Ross.
Hi Ross – I know in your client environment it is very much about keeping a clear distinction between the development tiers, which does make logical sense. I would maintain though if two apps on the same server share an identical data model then it would be more efficient in memory terms to have a dynamic UI in one document to give two different presentations of the same data than to load the data into separate documents.
We certainly do need to catch up – are you going to be at the Business Discovery event?
Hi, i have a problem of calling of my qvd files up from my folder path.
My qvw is here..
..\Application Data\ QlikTech\ Documents\ Development \ Ascella\
while my qvd is from this path.
..\Application Data\ QlikTech\ Documents\ Databases \ Ascella\
and my code is like this.
LOAD [Name],
[Age],
[Address],
[Location]
FROM
[QVD\Personal_Info.QVD]
(qvd);
Hope you could help me.
Sherwin
Hi Sherwin,
You need to use the ‘..’ way of navigating up the folder structure and then work back down it again. I believe your QVD name should be:
..\..\Databases\Ascella\Personal_Info.qvd
Hope that helps,
Steve
Buenas Tardes
Es posible tener un Qlikview Server con dos Access point que muestre la misma información.
Gracias
quick question, is it possible to apply show/hide and section access concepts to the mounted folders? Say only let them show and be visibie if match(osuser()=’domain\username’)>0?
If you can point me around the qmc, great, but I’ll take a yes/no too. Right now I have a formula like that match formula to create white lists of who can view certain tabs within a large document, but I would like to see if I can separate documents to their own folders and whitelist who can even see the documents in other folders. Ideally, I’d like an AccessPoint index/landing page to show a user/group only the set of documents they are cleared for, but I’ll be fine with a list of folders that bop them with access denied as the screen between them and the restricted documents.
We could setup more servers, but I’d like to try my hand with a scalable strategy built on one server admin (self-training at a small hyper-busy company where there happens to be no one else around to do the job) pushing qlikview to absurd levels. :)
My brain started telling me places to look as I typed, but I really don’t know everything and manuals have plenty of gaps, so your added input would be greatly appreciated. Thanks!
Hi Steve – I would strongly recommend that you keep folder security to being managed by Active Directory. By giving each folder a single AD group and placing only the users who can see is folder in that AD group what is shown in Access Point is controlled.
If you want to go with a database driven more dynamic approach you could hide Access Point from users and build your own Index application – that then links to all the other applications. This could be tied to Section Access so that each user is only shown the right documents. This would however be extra work to achieve what AD and Access Point do anyway – and you would actually lose some of the worthwhile Access Point functionality.
Hope that answers your question.
Hi Steve – What is the best way to show users what are all the apps available, and whether they have been granted access to them or not. With Access Point, as I know it, you only see what you’ve been granted access to. If users don’t know what is available, then they have no way of knowing which ones have already been created that could meet their needs. Can Access Point manage this or do we need to create a different landing page where users can search available apps by say subject matter, content, functional area, etc. We use the Document Attributes in the QMC when publishing, so maybe these attributes could be searchable as well, regardless of whether they have yet been granted access to them.
Thanks,
Hi Dan,
What shows in Access Point is based on Active Directory permissions. You could, in theory, give all users AD rights to everything – and the control all access via Doc CALs or Section Access. This way they would see the documents, but not have access. Another approach may be to not use Access Point, but create another menu. If all your users have Full CALs rather than Doc CALs you could build this in QlikView. It would be possible to get a list of all QlikView documents in your published folders (by using FileList and FolderList functions) I suspect you would be able to read the Document Attributes from the settings files (though I have not done this myself). This way you could have a fully searchable list of your documents that you could then link out to other documents from. Simply building an HTML page as a launch would also serve, as you could use the browser page search.
It all depends on what you are hoping to achieve.
Cheers,
Steve
Hi,I am new to Qlikview.
I am facing a problem when i want to load my qvw
my qvw path is here
C:\banking\workbooks
but when im trying to load from workbooks its not showing my qvw in the workbooks
please help me.
thanks regards,
Maalya
Hi Maalya,
There is not enough information for me to know what your issue is, but I think you may be getting confused between QVD files (which are data files) and QVW files (which are ETL/Presentation files). QVW files can be used as data sources, via a binary load (using the QlikView File button), but this is not the normal usage. QVD files are treated the same as any other flat file data source, and can be loaded using the Table Files button.
Hope that helps.
Steve
Hi Steve,
I will be using QMC a lot more in the future, I just started using it this week, before that all my Qlikview exposure was using the Desktop version. We have purchased the Server and 2 Named User Licenses among other things, do I download the Personal Edition and add the License Key to enable one of the Named Users?
I’m a bit lost here to be honest. I want to migrate my Extract & Transform and Presentation QVW to our Server that holds the Qlikview Server make changes I need and then add these to Access Point etc… not sure where I should start
Any advice
Regards
Alan
Hi Alan. Stephen Redmond’s reference on Server is the best place for detail on server. It’s all relatively straight forward though. You need to mount folders through QMC and then copy QVW files into those folders. Once they are in the right place you can find them under Documents in QMC and set up Schedules. You are right about installing Personal Edition and then licencing it – but rather than applying a licence key (as you do with Desktop) you need to ‘lease a licence’ by selecting Open In Server from the Startup screen in QlikView Desktop and putting in the server name of your QlikView server. You should be able to find reference to all of these steps on line.
If you have any specific questions please feel free to drop me a direct email and I will try to assist.
Thanks Steve
What is best practice for. Qlikview server installation in terms of the drive on which it is to be installed? Should it be the c drive (default) or another drive? What are pros and cons of each of the approaches? Thanks
Hi. It really comes down to IT policy at the company. Typically I would install the application part to the C drive, a number of configuration file will go there also. All data and QVW files I would put on a different physical disk – if possible. I would also redirect Session and Event logs off of the C drive. By showing load across different disks you are allowing increased throughput, but even if you are on different logical partitions on the same disk it is worthwhile to keep things tidy.
Hi Steve –
I am a functional guy and trying to figure out how to segregate access within sub folders, is it possible through QMC by administrator?
Scenario:
HR Unit Folder > Data Layer Folder > Source QVD Folder > *.qvd files
> Transformed QVD Folder > *.qvd files
> Reporting Layer Folder > Reporting QVD > *.qvd files
A HR BU Qlik developer should be able to access all subfolders and files under HR BU folder, while
A Sales BU Qlik developer can should be only able to access only (Transformed QVD > *.qvd files)
Is it possible? If not, what are the alternatives methods to achieve the same
Thanks in Advance.
Deb
The simplest way is to use Active Directory security to only grant read access to the users who need to see specific applications and files. This security then carries through to the Access Point, when you are pointing at folders with QVW files in.
Hi Steve,
Thanks for posting this.
My company recently bought Qlikserver and I am newly introduced to it. In my company business users will be developing the QVWs and then publish to server. Being administrator, only I will have access to the VM where qlikserver is deployed. What will be the best way to organize qlikserver and publisher so that business users can publish the qvw themselves.
I understand I have to use DMS authorization in this case.
You can still use Windows Active Directory security if you wish. You simply have to add shares and set permissions to allow the users to write to the correct folders.
This is generally simpler than having DMS security.
I want that developer should be able to allow user to access their qvw. So, will the developer be moving the files to shared folder and that shared folder will be mounted on qlikserver to be viewed in access point?
Exactly. If you are doing everything on one box then you will allow devs to copy to the share, and then mount the local folder in QMC.
Hi, How do you prevent archive documents from being shown on the result set when searching for a document under the “Documents” tab on the QMC? Would I have to mess around with the “Folders” tab under the “System” tab for the section “Qlikview Servers”
Hi – yes, the Folders tab is exactly where you need to do this. I always recommend setting the Root folder to be an empty folder somewhere with no sub folders in. You can have any number of mounts, and there is no need for one to have any kind of precedence over the others. Under here create as many mount folders as you need, each time pointing to the lowest level folder. When you create archives put them alongside those folders, not in them.
Changing your mounts on a server that is already up and running may cause some issues with existing reload routines, so proceed with caution, but if you can get it set up correctly it will make things easier to deal with going forward.
I also recommend not using the default folder under the C drive for storing files – move them somewhere more sensible when you do this exercise.
Hope that helps.
Thanks for your reply Steve.
At the moment my current setup is as per below:
Documents (Tab)
QVS@Servername
99. Pristine
20. Test
90. Data
QlikView
00_Root
01_Apps
02_QVD
03_QVDGenerators
04_Images
05_ConfigFiles
10_AppsArchive
11_QVDArchive
Then within the Folders (Tab) within System (Tab) I have the below:
Root Folder
D:\QVApps\Root
Mounted Folders
Name Path
99. Pristine D:\QVApps\Pristine
20. Test D:\QVApps\Test
90. Data D:\QVData
QlikView D:\QlikView
Are you suggesting to remove the 00_Root altogether add a new folder called “Root” within the folder D:\QlikView1_Apps ?
The folders D:\QVApps and D:\QVData are old folders and no longer have any Live Qlikview Documents so I guess I can now delete these physically or remove them from the Mounted Folders? I am just worried will this cause any issues with regards to pgo files or conflicts etc…
Also all my Live Documents are within the folder D:\QlikView1_Apps so based on your suggestion I should create folders within this folder per Business Department (Finance, Sales…etc)? If I was to do this then is there a way to remove any cals from the old Document path and assign them to the new Document location as looking at this I will have to wait 24 hours and do this change of the weekend when there is likely to be no users open a Qlikview Document?
Thanks and great website!
Hi,
I would have thought that at present you will be getting duplicates on the AccessPoint, due to files being found in the root folder, but also in mounted folder in the same structure.
If folders are empty, and are not the root, simply remove the mount and then delete them.
If folders have apps on them, remove any document CALs and reload schedules before doing the un-mount and delete. You are correct that you can only delete Document CALs that have not been used in 24 hours – hopefully if you do this at the end of a weekend you will not have a problem.
The PGO files will be in the specified Root folder. You could leave that mounted as it is, just clear it out of all other files – I tend to keep the Root folder clear of everything over than the PGOs.
You can then create new folders outside of the Root structure and move everything across to there. As you are moving things you will need to recreate reloads and Document CALs manually.
Hope that helps.
Hi Steve, I am not getting duplicates within Access Point as myself and the users will only see the document if I have given them authorisation.
I can delete the folders D:\QVData, D:\QVApps\Pristine, D:\QVApps\Test but unfortunately I cannot delete the folder D:\QVApps as I have just noticed that I have a folder called “Root” within there and I have that for my Root Folder. Ideally i want to delete this folder and use the new structure for the Root Folder (D:\Qlikview0_Root) but I don’t know what is the best practice before making any changes and if I could somehow cause Qlikview to break.
Simply create the new Root folder, move the contents of the current Root folder to it (.pgo files), change the Root folder in QMC Folders settings. The server should then stop and start and come up with the same settings.
If you can try this on a test server first then this would be a good thing. Note that .pgo files will get recreated from scratch if you lose them, but you will need to reassign licences. Generally moving the folder works fine though.
Steve, The QV user world thanks you (big ups I hope!) for continuing to answer posts and help people three years down the road. I think you may be able to answer a question for me; don’t spend a lot of time especially if you can just point me to a link. I’ve searched a lot.
I seem to have “phantom” folders in my documents tab. They have exactly the same folders and docs. If I modify one (for example, the reload schedule) all three reflect the change. Any idea how I can get rid of the two phantom folders, marked in blue with the [ and ]?
This is a Jing screenshot share, safe:
https://screencast.com/t/hAqtzH95laya
Thanks!
Hi Roy,
This looks like you either have the same folders mounted many times, or you have mounted different points in the same tree.
For instance, if you mount both c:\QV\Docs and c:\QV\Docs\Dasboards then any files that are in the Dasboards folder will appear twice – as folder mounts always include all sub folders as well.
You can check what your folder mounts are under System, Server, Folders.
If this list of folders looks okay, then something may have got corrupted. Try adding a dummy folder, apply it and then remove it again – this will cause the config file to get re-written. If it is still not right then looking for the config file and editing it manually may be in order – give me a shout if the first couple of fixes don’t work out for you.
Steve
I will try those — thanks again. Next drink is on me.
In QMC -> Status -> Task i have one folder Example Folder name -ABC , inside the folder some 10 qvw file are available , now my question ABC folder inside i want to create XYZ folder and i want to move 5 qvw file into XYZ folder. is it possible.
Hi – this is entirely possible. The QVW files in the sub folder will also appear in the QMC, just click on the + symbol to find them. They will also appear in the Access Point. You do need to be careful with sub folders though, as in the Access Point if you have apps with the same name in nested folders it is not possible to tell which app belongs to which folder. I’ve seen people get in a right muddle as they have placed an archive folder inside of their live folder and moved old copies into there.
Hello Steve,
In my QMC / Documents / User Documents it shows every Mounted Folder I configured but also I see some QVW files (without any folder) that I don’t know where they are. I can’t find them in Windows files. Do you know how can I “clean” them from that section? Thanks!
Look out for files in sub folders, these also get included. It sounds more likely though that you have programmed files. The happen when you delete a QVW from the file system that still has reload schedules or licences attached. I’ve done a blog post on fixing this scenario, if you search the archive.
Hi Steve, i have a very strange issue with DOC CAL’s (not sure when named CAL would bomb)
For the last 3 or 4 days, we are experiencing a qlik issue which is stopping the DOC CAL users to access a particular document. hence the users are experiencing “Access Denied” errors.
my take is Qlik services are trying to block a folder and not allowing the users to validate their licenses. correct me if am wrong.
So every time there is a need for restarting the services with a changed directory name.
for ex:
The path name is changed from (removed underscore) and restarted the server and this pattern is repeating.
E:\Qlik_apps\SALES_Finance\3.Presenation\1.Application\Finance_MI.qvw
to
E:\Qlik_apps\sales finance\3.Presenation\1.Application\Finance_MI.qvw
This problem is not happening with named cal’s
For some of the users, I have promoted to them to use the named CAL’s for now removing few other’s access not using qlik for some time.
Hi Krishna,
Do you have spare CALs on the documents which are having problems, and are they set to auto-allocate? You need to be careful moving folders around, as you can end up with CALs assigned to documents which are no longer in that place (see this post on Orphaned CALs).
If everything is configured correctly but it is not working that is a question for Qlik support (support@qlik.com), but you may want to try Qlik Community first.