Saturday, 18 October 2014

Promote a Qlik Sense sheet from Community to Approved

In Qlik Sense, users (with appropriate permissions) can create their own sheets.  These sheets will not be seen by any other users unless the owner chooses to publish them.  Once published, the sheet goes into the Community sheets area.

It may be the case that a sheet created by a user is so good that we would like to promote it to being an Approved sheet.  Right now, there doesn't appear to be a supported method of doing so.

We can, however, use an unsupported method and that is simply to update the entry in the database for the Sheet object.  You will need to refer to my previous post on connecting to the repository and use a Query tool (such as the one that comes with pgAdmin III).

The table that we want to update is AppObjects.  You will need to write a query (or load the data into Qlik Sense!) to find out the correct ID.  The Object will have Published=true and Approved=false so we just need to update the latter:

Update "AppObjects"
Set "Approved"=true
Where "ID"='F3986BDB-1BD7-41D8-8B27-C5040103B827'

Simple as that.  Once is is approved, as well as appearing in the Approved list, if you duplicate the application, the sheet will appear in the available sheets to edit.


Stephen Redmond is author of QlikView Server and Publisher and the QlikView for Developer's Cookbook
He is CTO of CapricornVentis a QlikView Elite Partner. We are always looking for the right people to join our team.
Follow me on Twitter: @stephencredmond

9 comments:

  1. Hi Steve - are you aware of any updates on this which will allow a Community sheet to be moved up to be an Approved one? Seems like an obvious thing to want to do.

    ReplyDelete
  2. I haven't heard anything. It does seem to be something that you would want to do in a server environment.

    ReplyDelete
  3. Thanks Stephen. I have put a post on the Community to see if it has snuck in with Sense 2.1.1 or is an imminent feature.

    https://community.qlik.com/message/886334

    ReplyDelete
  4. That's a great article. Your method is much cleaner than the other one where you need to duplicate sheets, and overwrite them with themselves...

    Thanks for the share!

    ReplyDelete
  5. Hello, very good choice. Now the only way to see effective changes is to restart services Qlik?

    Thanks

    ReplyDelete
  6. Hi Steve. Just wanted to confirm that I believe the correct process is to take ownership of the app object in the QMC. This will move the sheet under 'My Sheets' in App Overview screen. You can then modify the sheet or publish as usual through the QMC.

    ReplyDelete
  7. Hello,
    Thank you for the post! It was very helpful. I was able to script the approval, the sheet is now visible to others however, it is still listed as "Published by me/Community." In QMC the Approved field still shows "not approved" but the database has Approved = 't'

    Did I miss something, how can I fix this?

    Thanks in advance

    ReplyDelete
  8. I am missing something too. If I duplicate app and view it in my Work, I see the added sheets as if they were any sheet in an unpublished app, but upon publishing (replacing) the sheets revert to Not Approved and appear in community sheets.

    My other point on this is that if we mess with repository db on any node (whther that is central or otherwise) the repositories will no longer sync up correctly. Not sure I would want to go down that road anyway if we can get a workable QMC sollution.

    ReplyDelete
  9. So I figured it out. So just in case anybody else has the question...
    In QMC, Duplicate the app and change ownership to you.
    Open the app in the hub under My Work
    Duplicate the sheets that you wish to approve. You can then optionally delete the original community sheets.
    Go back to QMC, publish the app, replacing the one that is in the stream.
    Now the Community Sheet will be in the main app. Yeeah!

    ReplyDelete