Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

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

1 Solution

Accepted Solutions
Not applicable
Author

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#.

View solution in original post

3 Replies
Not applicable
Author

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

Not applicable
Author

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?

Not applicable
Author

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#.