Qlik Community

QlikView Deployment

Discussion Board for collaboration related to QlikView Deployment.

paul_w_routledg
Contributor II

Which Shared Objects are in Use

We have some QVWs with large associated .SHARED files. We're pretty sure there are a lot of objects in there not being used.

We are interested in:

1) Objects not shared and no longer used by the owner on any sheet.

2) Shared objects not actually used by other users and not used by the owner on any sheet.

Power Tools offer 'some' functionality to analyse .SHARED files but I can't find a way to use PowerTools to identify 'unused' objects as defined above.


Any help?

I'm going to look at loading the shared file into a QVW and looking a the structure.

5 Replies
vgutkovsky
Honored Contributor II

Re: Which Shared Objects are in Use

Paul, I believe you can accomplish this with the QV Server Object Connector power tool. Load the SHARED file and take a look at table "Objects"

I think each ObjectUser represents a user who is actually using the object.

Regards,

Vlad

paul_w_routledg
Contributor II

Re: Which Shared Objects are in Use

Thanks for the input Vlad.

I've taken a look at QVServerObjectConnector but It doesn't seem to take everything from the Shared file.

The table Object has a field ObjectUser but that is providing the owner of the object.

There is also a table ObjectsAccessList which has a field ObjectAccessListUsername which sounds exactly like what I need but I find that this field is always NULL. It looks to me like the Server Object Connector is not fully implemented.

Using QVSharedFileViewer you can load in the whole .SHARED file and then export the entire contents as XML. This is showing that there is more in the SHARED file than QVServerObjectConnector is exposing.

In the .SHARED file I can see that an object is defined with an XML tag like this

  <ListBoxProperties Id="LB05-74">

    <Length>994</Length>

    <Offset>45056</Offset>

    <Layout>

      <Frame>

        <BorderWidth>4</BorderWidth>

        <BorderEffect>Flat</BorderEffect>

        <Color>

...

It then has a related MetaData tag, which shows the Owner and also lists users the object is shared to with the  <AccessList> tag

<MetaData Id="LB05-74" Owner="MyUserID">

    <Length>33</Length>

    <Offset>3072</Offset>

    <Shared>false</Shared>

    <UtcModifyTime>double[41936.5976388889, 10/24/2014 2:20:36 PM]</UtcModifyTime>

    <SheetId />

    <Temporary>false</Temporary>

    <RestrictedAccess>true</RestrictedAccess>

    <AccessList>

      <String>AnotherUserID</String>

      <String>YetAnotherUserID</String>

    </AccessList>

    <PersonalEditionHash_OBSOLETE />

Each Sheet for a user then has a tag like this:

<ObjectContent Id="Document\SH01" Owner="MyUserName">

    <Length>182</Length>

    <Offset>13312</Offset>

    <LastUsedMemberId>5</LastUsedMemberId>

    <Members>

      <ContentMember>

        <MemberId>5</MemberId>

        <ObjectId>Server\LB05-74</ObjectId>

        <ZedLevel>0</ZedLevel>

Which shows the sheet for a user and the <ContentMember> tag lists all of the objects the user has on that sheet.

So I just need to make use of this (very large) XML that QVSharedFileViewer exports to find what I'm looking for - Server Objects that are not displayed by any user.

It's just a shame the QVServerObjectConnector is not providing all this.

vgutkovsky
Honored Contributor II

Re: Which Shared Objects are in Use

Paul, that's some impressive investigating! It's a shame indeed that the power tools aren't fully developed--not the first time I've run into a limitation with them.

Good luck!

Vlad

Not applicable

Re: Which Shared Objects are in Use

Paul, Did you find a solution to your question?  We are looking for something like that.  Thanks!

paul_w_routledg
Contributor II

Re: Which Shared Objects are in Use

Julie

I've found a way to use the powertools to export the data from the shred file into xml and use that basically as a database to see which objects are shared and whether they are then used. But it's a completely manual process.

I think I'll raise an Idea with Qlik to expand the Server Object Connector to provide more detailed information, it would be very useful.

Digging around inside the shared file is VERY revealing and I don't necessarily like all I see

Community Browser