5 Replies Latest reply: Nov 12, 2015 7:34 AM by Paul Routledge RSS

    Which Shared Objects are in Use

    Paul Routledge

      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.

        • Re: Which Shared Objects are in Use
          Vlad Gutkovsky

          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

            • Re: Which Shared Objects are in Use
              Paul Routledge

              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.

            • Re: Which Shared Objects are in Use

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

                • Re: Which Shared Objects are in Use
                  Paul Routledge

                  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