Like what you see? Have a play with our trial version.

Error rendering macro 'rw-search'

null

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleGETUSERPARENTREPORTGROUPS

This web service call retrieves metadata of all dashboard's parent tabs , as well as their sub tabs that are accessible for a specified user. The user is identified using the AdministrationPerson object. You may pass the ID of a specific dashboard tab or sub tab to restrict the returned data. This call requires a user ID to identify the user by using the AdministrationPerson object.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

This account must have the “web services” role enabled, and must belong to the default (i.e. primary) org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. primary) organization ID within Yellowfin. Always set this to 1.

Function

String

Web service function. Set this to "GETUSERPARENTREPORTGROUPS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringAn optional parameter to specify a client organization reference ID to search for the dashboard within a particular client org, instead of the default organization.
DashboardTabIdIntegerThis optional parameter can be used to retrieve details of a specific dashboard tab or sub tab. However, this tab should already exist in Yellowfin. If this is not mentioned, then details of all the dashboard tabs and sub tabs will be returned.

 

Anchor
getparentgroup
getparentgroup

These are the main parameters that you must set in the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user for whom to retrieve the dashboard. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

Code Block
languagexml
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>GETUSERPARENTREPORTGROUPS</function>
            <person>
                <userId>admin@yellowfin.com.au</userId>              
            </person>       
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

Response Parameters

The returned response will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

parentReportGroups

ParentReportGroup[]

An array of the dashboard tabs with subtabs. See below table.

Person

AdministrationPerson

Full details of the user.

 

Each element of the ParentReportGroup will contain the following elements:

Element

Data Type

Description

reportGroupId

Integer

Dashboard tab ID

reportGroupUUID

String

Dashboard tab published UUID

displayOrder

Integer

Display order of a dashboard tab in a user dashboard.

reportGroup

AdministrationReportGroup

Dashboard tab

reportGroupSubTabs

AdministrationReportGroup[]

Sub tabs with a dashboard.

 

 

Response Example

The service will return the below response, according to our SOAP example:

Code Block
languagexml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Getting user information...</messages>
            <messages>Getting user information...</messages>
            <messages>Web Service Request Complete</messages>
            <parentReportGroups>
               <reportGroup>
                  <publishUUID>e7409ff2-f846-44e1-a603-b78ec51b20b9</publishUUID>
                  <reportGroupId>61250</reportGroupId>
                  <reportGroupName>Sales Performance</reportGroupName>
                  <reportGroupStatus>OPEN</reportGroupStatus>
                  <reportGroupType>ANALYTIC</reportGroupType>
               </reportGroup>
               <reportGroupId>61250</reportGroupId>
               <reportGroupSubTabs>
                  <publishUUID>02fec2d8-6b09-48a1-8c6a-54adbb2eb9b6</publishUUID>
                  <reportGroupId>61251</reportGroupId>
                  <reportGroupName>New Tab</reportGroupName>
                  <reportGroupStatus>OPEN</reportGroupStatus>
                  <reportGroupType>SUBTAB</reportGroupType>
               </reportGroupSubTabs>
            </parentReportGroups>
            <parentReportGroups>
               <reportGroup>
                  <publishUUID>1e68d9cc-fa5a-44e2-816d-782aa40ceeae</publishUUID>
                  <reportGroupId>61209</reportGroupId>
                  <reportGroupName>Campaign Analysis</reportGroupName>
                  <reportGroupStatus>OPEN</reportGroupStatus>
                  <reportGroupType>ANALYTIC</reportGroupType>
               </reportGroup>
               <reportGroupId>61209</reportGroupId>
               <reportGroupSubTabs>
                  <publishUUID>2e2fb9f6-d43e-4de2-977e-a646b01abc4b</publishUUID>
                  <reportGroupId>61210</reportGroupId>
                  <reportGroupName>Campaigns</reportGroupName>
                  <reportGroupStatus>OPEN</reportGroupStatus>
                  <reportGroupType>SUBTAB</reportGroupType>
               </reportGroupSubTabs>
               <reportGroupSubTabs>
                  <publishUUID>1a387957-564b-40ad-9fc1-4167ddd61f33</publishUUID>
                  <reportGroupId>61243</reportGroupId>
                  <reportGroupName>Marketing</reportGroupName>
                  <reportGroupStatus>OPEN</reportGroupStatus>
                  <reportGroupType>SUBTAB</reportGroupType>
               </reportGroupSubTabs>
            </parentReportGroups>
            <person>
               <emailAddress>admin@yellowfin.com.au</emailAddress>
               <firstName>System</firstName>
               <initial/>
               <ipId>5</ipId>
               <languageCode>EN</languageCode>
               <lastName>Administrator</lastName>
               <roleCode>YFADMIN</roleCode>
               <salutationCode/>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
               <userId>admin@yellowfin.com.au</userId>
            </person>
            <sessionId>59ff828c9f26cbe0fdfd281a951d3ec9</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

Expand
titleStep-by-step instructions
  • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERPARENTREPORTGROUPS");
  • You may even identify a specific client organization:

    Code Block
    languagejava
    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the report:

    Code Block
    languagejava
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
  • You may provide a dashboard tab or sub tab ID:

    Code Block
    languagejava
    rsr.setDashboardTabId(61210);



  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

    Initialize the Administration web service. Click here to learn how to do this. 

 

  • The response will contain these parameters: StatusCode, ReportGroups and GroupReports. (See the Response Parameter section above for details on these.)

  • To get details of the sub tabs for the first dashboard tab returned, use the following line:

    Code Block
    languagejava
    AdministrationReportGroup[] subtabs = response.getParentReportGroups()[0].getReportGroupSubTabs();
    
  • To get details of the parent dashboard tab of the first dashboard:

    Code Block
    languagejava
    AdministrationReport[] rpts =  response.getReportGroups()[0].getGroupReports();
  • To get the ID number of a dashbaord tab, use this:

    Code Block
    languagejava
    Integer tabId= response.getParentReportGroups()[0].getReportGroupId();
    

 

 

 

Complete Example

Below is a full example of this web service call. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_ getuserparentreportgroups.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user according to your environment.
  4. Run http://<host>:<port>/ws_ getuserparentreportgroups.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%            
/*              ws_getuserparentreportgroups.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
rsr.setPassword("test");                           // set to the password of the above account
rsr.setOrgId(1);

rsr.setFunction("GETUSERPARENTREPORTGROUPS");
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);

rsr.setDashboardTabId(61210); 						// provide this dashboard sub tab id to get its parent dashboard tab details (optional)

AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

if ("SUCCESS".equals(rs.getStatusCode()) ) {

	ParentReportGroups[] tabs = rs.getParentReportGroups();

	if (tabs != null) 
	for (AdministrationReportGroup tab: tabs){
		out.write("<br><br>Tab Name: " + tab.getReportGroupName());
		out.write("<br>Number of subtabs: " + tab.getReportGroup().length));
		AdministrationReportGroup[] groups = tab.getReportGroup();
		for (AdministrationReportGroup gr: groups){
			out.write("<br>Subtab Name: " + gr.getReportGroupName());
		}
	}
} else {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

...