2 Replies Latest reply: Oct 5, 2010 7:39 PM by Bill Chosiad RSS

    Access point

    Logesh Jayaraman

      Hi Everyone,

      1. we have multiple Customers so when they are accessing the access points they should be able to see only the QVW file relevant to them.

      2. How much flexibility Qlikview offers in terms of Integeration with exsisting reporting portal. We would like to use our own reporting portal as the access point. We dont want to expose the Qlikview Accesspoint to customer? Is it possible.

      3.Is it possible to create a functionality as user will be able to schedule the reports while accessing through the Accesspoint?

      Regards,XXX

        • Access point

          Hi, one way to do what you want is to create webapges with user authorizations, and links to the qvw from the page

          • Access point

            You don't say how you decide what documents a relevant to a particular user. If it's based on who the user is, and you have set up the documents so that a given user only has rights to the documents that are relevant, then you could do the following:

            Assuming that the user is already authenticated, you can find out which documents they are allowed to see by making API calls.

            Specifically, you need to call the GetAdminDocListForUser method

            Here's some .NET C# code to get you started:


            XmlNodeList nodes = null;
            XmlDocument oXMLResponse = new XmlDocument();
            request = "<Global method='GetAdminDocListForUser'><UserId>"
            + m_userID
            + "</UserId><Type>16</Type><ExtendedDocInfo>0</ExtendedDocInfo></Global>";
            oQVClient = new QvClient(m_qlikviewServer, QvClient.Mode.Admin);
            oXMLResponse.LoadXml(oQVClient.Execute(request));
            nodes = oXMLResponse.GetElementsByTagName("DocEntry");


            In the example above, m_userID is your user's ID that must match the user's document security.

            Then, you can parse the results. That would go something like this:

             


            IEnumerator ienum = nodes.GetEnumerator();
            while (ienum.MoveNext())
            {
            XmlNode docNode = (XmlNode)ienum.Current;
            string title = docNode.SelectSingleNode("DisplayName").InnerXml;
            string path = docNode.SelectSingleNode("Path").InnerXml;
            string lastUpdate = docNode.SelectSingleNode("LastUpdate").InnerXml;
            }


            Given the path information that was found, you should be able to craft a URL that will open a particular document. We use DMS Authentication, so on our server, the URL looks something like this:

            https://myserver.mydomain.com/QvAjaxZfc/opendoc.htm?document=mydoc.qvw&host=MyQVAppServerName&ticket=87B0ED7CF5750D0E535FCB58006224890B0B31C3

            We also make API calls to get the ticket for opening the document. There's some code in another post, http://community.qlik.com/forums/t/19701.aspx, for getting a ticket.

            As far as scheduling a report, you could also allow users to trigger a reload from a web portal. I have some code for that, but you can probably find some on the forums by searching for "EDX"

            I hope this helps,
            -Bill