3 Replies Latest reply: Jun 11, 2013 5:19 AM by Micael Leal RSS

    QMSAPI : modify Document Administrator (Webservices) Server

      Hello,

       

      I've been looking up the QMSAPIDocumentation.chm to find the appropriate method which allows me to modify the document administrator for a particular

      path like the added picture, but I don't seem to find the needed class or method nor the property. I'm trying to access it with PHP, SOAP.

       

      I found out how to change the document access but not the folder path access. Here: http://community.qlik.com/message/104179#104179

       

      The reason why I'd like to do it, is that I have some domain users which can read multiple QVW files if they got the rights, but I'd like also to create project domain admins, which actually have access on different folder path and are allowed to be admin of one group of domain users.

       

      I found Document.Folder.DocumentFolderGeneral.Path, but there is actually no comment for it, just a set and get method.

       

      Hope someone could help me out.

       

      Thanks

        • Re: QMSAPI : modify Document Administrator (Webservices) Server

          So far, what I could find was to access on different properties.

           

          With :

           

          var_dump($myDocFolder->GetDocumentFolderResult);

           

          I can retrieve the same information like in the QMS API Document when you search DocumentFolder all members

           

          *Properties

          *Administrators

          *General

          *ID

          *Scope

          *Services

           

          Now, when I try to do

           

          var_dump($myDocFolder->GetDocumentFolderResult->Administrators=array('oaad\vh610','oaad\xz251'));

           

          And now I execute again:

           

          var_dump($myDocFolder->GetDocumentFolderResult);

           

          In fact, I can see the 2 administrators as output, but they aren't saved in

           

          http://localhost:4780/qmc/Default.htm

           

          System->Setup->Management Service->Distribution Services->General->Document Administrators but it doesn't add it there

           

          Nor:

           

          System->Setup->Management Service->QlikView Servers->Folder Access->Supervisors or Document Administrators

           

          I was even thinking to do:

           

          $this->saveDocumentMetaData($myDocFolder);

           

          But you can't save it, since it's not a Document but a folder...

           

          Please, someone could help me out? I'm trying to find a solution for 2 weeks

            • Re: QMSAPI : modify Document Administrator (Webservices) Server

              I actually can now access its properties, but still cannot save it.

               

              $users=$this->getQVSSettings()->Folders->UserDocumentAdministrators->QVSFolderAdministrator[1]->UserName=('mike');

              var_dump($users);

               

              It prints me with

               

              var_dump($this->getQVSSettings()->Folders->UserDocumentAdministrators->QVSFolderAdministrator[1]);

               

              All exisiting administrators for one mounted folder, but if I try to modify it, the QMS doesn't takes it into account.

               

              If in the QMC I try to add a new admin for a document, I've to press "Apply", is there a similar functionality for the QMS API?

                • Re: QMSAPI : modify Document Administrator (Webservices) Server

                  Finally found the solution.... It adds 1 folder administrator at the moment, looking forward how to add multiple user administrators.

                   

                                  $myqlikviewQVSSettings = new stdClass();

                                  $myqlikviewQVSSettings = $this->client->GetQVSSettings(array('qvsID' => $this->qlikviewServerInfo->ServiceInfo->ID, 'scope' => 'Logging'))->GetQVSSettingsResult;

                                  $myqlikviewQVSSettings->Cluster = $this->getQVSSettings()->Cluster;

                                  $myqlikviewQVSSettings->Distribution =$this->getQVSSettings()->Distribution;

                                  $myqlikviewQVSSettings->Documents = $this->getQVSSettings()->Documents;

                                  $myqlikviewQVSSettings->Folders = $this->getQVSSettings()->Folders;

                                   // Here you should select which folder you want to change!

                        $myqlikviewQVSSettings->Folders->UserDocumentAdministrators->QVSFolderAdministrator[0]->UserName='xy2013';

                                  $myqlikviewQVSSettings->General = $this->getQVSSettings()->General;

                                  $myqlikviewQVSSettings->Logging = $this->getQVSSettings()->Logging;

                                  $myqlikviewQVSSettings->Performance=$this->getQVSSettings()->Performance;

                                  $myqlikviewQVSSettings->QVSID = $this->getQVSSettings()->QVSID;

                                  $myqlikviewQVSSettings->Scope=$this->getQVSSettings()->Scope;

                                  $myqlikviewQVSSettings->Security=$this->getQVSSettings()->Security;   

                                  //var_dump($this->getQVSSettings()); //prints all properties

                                  //Save the QVSSettings

                                  $this->client->SaveQVSSettings(array('qvsSettings' => $myqlikviewQVSSettings));

                   

                  Hope this might help one day, someone who'll be using SOAP wtih PHP instead of C#.