Updated – Resolution Below!
Posts are few and far between for me these days. Simple fact is I’ve moved away from QlikView development and now am solely working with Qlik Sense.
This is great for me although as I’m learning a new tool I don’t want to shout out best practice too much until a get a real feel for something and I feel I can offer some practical well thought out advice.
This week I’ve run into a problem lwith Qlik Sense QMC and the ability to delete published application. There’s very little warning when you complete that action although please be aware you could lose work so I want to share what I’ve learned so others don’t fall into the same trap!
The work that can be lost is community published sheets and users ‘my sheets’. Once you delete the published application you will never be able to get back these user created sheets.
I created a duplicate of the application before I deleted it (into the My Work area of the Sense hub), I republishing it and the base sheets were fine but no user sheets. I then got the back up application from an IT restore. I imported the application and published it, again base sheet good, user sheets gone!
After a bit of investigating I found the objects in the Postgres database. All the objects have a unique ID (something like 2D1F7600-01F0-4422-B8DF-E3B4A56D381C) which is generated by Sense and stored in the database.
So even with the duplicated application or restored file, the objects have already been deleted from the database and the ID won’t match if you want to re-use objects.
So be warned, if you’re going to delete a published application check:
- Community Sheets
- User Sheets (you’ll have to check the QMC for these)
Are all copied into the application as base sheets, this means they’re in the application itself and can be duplicated / backed-up / etc…..
Hopefully soon Qlik will address this problem, I’m aware of a back-up tool on Branch. I’m looking into this so if anyone has got any good news about it to share please do so in the comments below. Ideally though Qlik will expand the QMC to give a bit more flexibility around backing up or restoring deleted files, At least they could give a warning that you stand to lose x number of sheets and stories if you do delete the file.
There is a workaround to this issue, as mentioned I had the application folder backed up by the IT department. The files aren’t .qvf files so you can’t just re-import them without renaming them to have a .qvf extension.
You can them import them into the QMC as you normally would. I tried that originally although I got the application but not the community sheets.
Problem was there were duplicates of the application which weren’t published and residing in users ‘My Work’ area of the Sense Hub. The application I must have imported was one of those and therefore didn’t have the community sheets in there.
Trying again today fresh I imported everything!!!! All the backup apps until Yes! I had the one I needed and the community sheets were there.
So the moral of the story here is yes, if you have an IT back up of your application folder you have options. Depending on how many apps you have it may take some time (as they’re all named something like 2D1F7600-01F0-4422-B8DF-E3B4A56D381C) although its possible to get those sheets back.
I still think there needs to be a simpler process for undoing actions made in the QMC. Also promoting and managing sheets within the QMC should be more user friendly.
That’s all for now, take care, Richard
I suggest running backups of the physical app files stored on the server. These usually maintain all user and community sheets as well as master items.
Re-importing those files is also the approach I take when I wish to promote community sheets to base sheets.
Yes I ran a physical back up of the application folder although these only contain the data and base sheets and not the community sheets which are stored on a database with an ID…. Just worth a checklist when deleting apps to promote your user sheets before making a back up of the application and delete the published one…. Once you hit delete there’s no going back!
The underlying files in the application folder contain all objects relevant to that app e.g.:
Master Key Items etc.
The repository database stores additional MetaData against those objects which are primarily used in its attribute based access control (ABAC) security model. As you very rightly mentioned, each object has a unique ID assigned to it.
Now every time you re-import an qvf file, you’re effectively creating a new app from scratch hence all objects will get assigned new IDs which will result in all community/user sheets being imported as base sheets, but not being lost.
When deleting an app you lose the MetaData, but you don’t lose any work done.
I tested the re-import and preservation of objects with QS v2.2.4 & QS v3.0.1
I think what you’re saying here is that there’s a hack. You’re correct as far as the community sheets meta data is stored in the database and like all good databases it’s flagged as deleted (and not actually deleted). So if you can identify the original ID you can reimport the app, get the new ID and modify the database changing the ID there and unchecking the deleted flag.
What’s missing here is a step by step guide. If you’ve been successful then perhaps you could create a process on the Qlik community as I’m sure people would appreciate it.
I didn’t go down this route, realistically it could take longer to do this then it would to recreate several sheets. Also, there’s always a risk to poking around a production server like that.
Qlik, on the basis of our feedback, have said they understand the problem and it’s now on their roadmap to do some sort of fix. Fingers crossed!
This is not a hack and I don’t suggest ever changing anything in the repository database.
Basic c/p and re-importing the file via the QMC to retain community and user sheets (as well as all other objects). This is considered as an acceptable workaround within the community in order to “promote” community sheets to base sheets.
But I agree, ideally Qlik will introduce a fix in the future.
Interesting though, when we logged a ticket to Qlik they told us there was nothing that could be done. If you have a process can you share a link to it here. Thanks.
Oh hand on I think I see where you’re coming from. When I reimported the app from a back up file I had several possible candidates, duplicates if you like but only one which would have been the published app.
I’ve just been in and imported all of them. Yes! Yes!! Got the sheets back!!! Brilliant. Will update the post, still a pain though as you say and needs to be address by Qlik.
So I am not expert in Sense publishing yet, but if we Publish our app that’s in work, “replacing” the current published app, that still retains the user-side content (just ran an experiment to confirm). You are simply saying that if you delete the published app you will lose that content, correct?
Hi Aaron, yes you are quite right. Replacing the app is fine. It’s just the delete button that will loose the community sheets and there’s no undo for that at the moment in the QMC.
Nice post! Though I haven’t been able to manage or work on QlikSense QMC…Just wondering how you were able to fully drop QlikView development all at once. Did you or your organization completly change your QlikView Lincenses to QlikSense Tokens??? Or you have just decided to stop offering support to your existing QlikView clients???
Luckily I work with a company that delivers Qlik services to other clients so all the work I’ve been doing personally in the last year was just Sense (although we still have QlikView clients).
I am working with companies that had QV and are moving to Sense, Qlik can swap licenses like for like and using Sense desktop you can prepare and test your new replacement dashboards ahead of the swap, most of the conversion is a cut and paste exercise so is fairly quick and simple to do.
Hi Richard, guessed as much. With the realease of QS and removal of the Small Business Version of QV, Its a little bit daunting to convince new clients/existing clients to go full on with QS. Yes, QS is the future but it could be difficult when objects/features available on QV has not been made available in QS. Kindda puts us consultants in a box. Plus, some standard and out of box objects should be made into QS and not left for extensions/customizations/.
My opinion though.
I wonder, what kind of projects you implement in Qlik Sense. Is it self service type of applications, or some quided analytics too?
It’s usually just a few base sheets to meet their core requirements. After that I train users on how to develop their own visualisation and support them with that afterwards.
It’s certainly a faster way to deliver usable info.
Thank for answer. Understood. We proceed with our guilded analytics approach. Made many explorartions with Qlik Sense, and only workable solution for me appears to be full scale mashup approach. Much work but results are good, worth of efforts in out case.
That sounds really interesting. Not sure if it’s possibly but would love to see an example.
Maybe we’ll have some sort of presentation later this year.
Hi, Richard. Take a look at our new presentation, it is based on a solution I’ve told before. Presentation (and solution) is in Russian, but have English subtitles so maybe it would make some sense. Presentation is business oriented, without technical details though.
Forgot to paste a link:
Nice post Richard and good discussion with Martin. Thank you both!