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
titleGETUSERTABS

This web service call will return the metadata of all the published dashboards of a specified user. It also treats each sub tab within a dashboard as separate tabs. So if a dashboard has two tabs, this service will retrieve two separate AdministrationReportGroup objects for the dashboard. If only the parent dashboard's details are required, use the GETUSERPARENTTABS call. You can even retrieve details of a specfic dashboard tab or sub tab by passing its ID.

Note however, that this service does not retrieve the metadate of the dashboard's reports. To get that, use the GETUSERTABSWITHREPORTS call.

 

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 "GETUSERTABS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID to search for the tab within a specific client org instead of the default org. This parameter is not mandatory.
DashboardTabIdIntegerUse this optional parameter to provide the unique ID of a dashboard tab whose details are to be retrieved.

 

Anchor
getusertabap
getusertabap

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 who the dashboard tab belongs to. 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>GETUSERTABS</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

ReportGroups

AdministrationReportGroup[]

An array containing the dashboards’ metadata.

 

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>
            <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>
            <reportGroups>
               <publishUUID>02fec2d8-6b09-48a1-8c6a-54adbb2eb9b6</publishUUID>
               <reportGroupId>61251</reportGroupId>
               <reportGroupName>Sales Performance</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <reportGroups>
               <publishUUID>2e2fb9f6-d43e-4de2-977e-a646b01abc4b</publishUUID>
               <reportGroupId>61210</reportGroupId>
               <reportGroupName>Campaign Analysis (Campaigns)</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <reportGroups>
               <publishUUID>1a387957-564b-40ad-9fc1-4167ddd61f33</publishUUID>
               <reportGroupId>61243</reportGroupId>
               <reportGroupName>Campaign Analysis (Marketing)</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <sessionId>0ad8c1b60e3fb4b013055ee6da9ff867</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("GETUSERTABS");
  • You may even identify a specific client organization:

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



  • Specify the user who dashboard tab belongs to:

    Code Block
    languagejava
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • 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 returned will contain these parameters:

    Response Element

    Data Type

    Description

    StatusCode

    String

    Status of the web service call. Possible values include:

    • SUCCESS
    • FAILURE

    ReportGroups

    AdministrationReportGroup[]

    An array containing the dashboards’ metadata.

 

 

 

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_ getusertabs.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_ getusertabs.jsp from your Internet browser.

 

Code Block
languagexml
themeEclipse
<%            
/*              ws_getuserreport.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("GETUSERTABS");
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);
 

AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("Success<br>" + rs.getReportGroups().length + " tabs retrieved");

	// get the tabs details:
	AdministrationReportGroup[] tabs = rs.getReportGroups();

	for (AdministrationReportGroup tab: tabs){
		out.write("<br><br>Dashboard Name: " + tab.getReportGroupName());
		out.write("<br>UUID: " + tab.getPublishUUID());
		out.write("<br>Id: " + tab.getReportGroupId());
		out.write("<br>Group Type: " + tab.getReportGroupType());
		out.write("<br>InternalReference: " + tab.getReportGroupInternalReference());
	}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Expand
titleGETUSERPARENTTABS

This call returns the metadata of a user's published parent dashboards. Even if the dashboard contains multiple sub tabs, details of only the parent dashboard will be returned. To get details of sub tabs, use the TABSFROMPARENTGROUPID call. Note however that metadata of the parent dashboard's reports will not be displayed. That can be obtained using the GETUSERPARENTTABSWITHREPORTS call. You can even obtain details of a specific parent tab, by providing its ID. The user is specifed 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 "GETUSERPARENTTABS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID to search for the parent tab within a specific client org instead of the default org. This parameter is not mandatory.
DashboardTabIdIntegerUse this optional parameter to provide the ID of a dashboard parent tab whose details are to be retrieved.

 

Anchor
getpartabap
getpartabap

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 who the parent tab belongs to. 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>GETUSERPARENTTABS</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

ReportGroups

AdministrationReportGroup[]

An array containing the parent tab's metadata.

 

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>
            <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>
            <reportGroups>
               <publishUUID>02fec2d8-6b09-48a1-8c6a-54adbb2eb9b6</publishUUID>
               <reportGroupId>61251</reportGroupId>
               <reportGroupName>Sales Performance</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <reportGroups>
               <publishUUID>2e2fb9f6-d43e-4de2-977e-a646b01abc4b</publishUUID>
               <reportGroupId>61210</reportGroupId>
               <reportGroupName>Campaign Analysis (Campaigns)</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <reportGroups>
               <publishUUID>1a387957-564b-40ad-9fc1-4167ddd61f33</publishUUID>
               <reportGroupId>61243</reportGroupId>
               <reportGroupName>Campaign Analysis (Marketing)</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <sessionId>0ad8c1b60e3fb4b013055ee6da9ff867</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("GETUSERPARENTTABS");
  • You may even specify a client organization:

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



  • Specify the user for whom you want to retrieve the parent tab:

    Code Block
    languagejava
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • 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 returned will contain these parameters:

    Response Element

    Data Type

    Description

    StatusCode

    String

    Status of the web service call. Possible values include:

    • SUCCESS
    • FAILURE

    ReportGroups

    AdministrationReportGroup[]

    An array containing the parent tab’s metadata.

 

 

 

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_ getuserparenttabs.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_ getuserparenttabs.jsp from your Internet browser.

 

Code Block
languagexml
themeEclipse
<%            
/*              ws_getuserparenttabs.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("GETUSERPARENTTABS");
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);
 

AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("Success<br>" + rs.getReportGroups().length + " tabs retrieved");

	// get the tabs details:
	AdministrationReportGroup[] tabs = rs.getReportGroups();

	for (AdministrationReportGroup tab: tabs){
		out.write("<br><br>Dashboard Name: " + tab.getReportGroupName());
		out.write("<br>UUID: " + tab.getPublishUUID());
		out.write("<br>Id: " + tab.getReportGroupId());
		out.write("<br>Group Type: " + tab.getReportGroupType());
		out.write("<br>InternalReference: " + tab.getReportGroupInternalReference());
	}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

...

Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
Expand
titleGETUSERTABSWITHREPORTS

Retrieves report the metadata for a specified report ID, and a user who requires it. The user can be identified using the AdministrationPerson object.

Keep in mind that each time when you edit a report, Yellowfin changes the report ID whereas the report UUID is always the same for the report. You can use the GETIDFORUUID call to find out what ID corresponds to the report UUID at that moment.

 

Returns all published dashboards’ metadata for a user along with all the dashboard report's metadata. GETUSERTABS service treats dashboard sub tabs as separate tabs so that if there is a dashboard with 2 sub tabs, GETUSERTABS call retrieves 2 AdministrationReportGroup objects for the dashboard. To get the parent dashboard metadata, do GETUSERPARENTTABSWITHREPORTS callof a user's published dashboard and its reports. This returns the details of each of the dashboard's tabs in separate AdministrationReportGroup objects. For details on a specific dashboard or tab, provide its ID number. Use the AdministrationPerson object to specify the user.

 

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 "GETUSERREPORTGETUSERTABSWITHREPORTS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient An optional parameter to specify a client organization reference ID . This parameter is not mandatory.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 and its reports. Note, however, that this tab ReportIdIntegerThe unique ID of the report which you want details of. This report should already exist in Yellowfin.

 

Anchor
getuserapgetusertabrepapgetuserap
getusertabrepap

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 reportdashboard. 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>GETUSERREPORT<<function>GETUSERTABSWITHREPORTS</function>
            <reportId>56401</reportId>       <dashboardTabId>61251</dashboardTabId>
            <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

Person

AdministrationPerson

Full details of the user.

ReportGroups

AdministrationReportGroup[]

An array object containing the dashaboard metadata along with the elements listed in the table below.

 

Each element of the ReportGroups will contain the following elements:

Reports that contains details of the specified report.

Response Element

Data Type

Description

GroupReportsAdministrationReport[]An array object containing the metadata of all of the dashboard's reports.

 

 

Response Example

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

Code Block
languagejavaxml
<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>
            <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>
            <reports>
<reportGroups>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>0</averageRunTime>
                  <birtData/>
                  <chartTypeCode/>
                  <dashboardEnabled>true</dashboardEnabled>
                  <dataOutput>COLUMN</dataOutput>
                  <deliveryMode/>
                  <executionObject/>
                <lastModifiedDate>2016  <lastModifiedDate>2017-0306-29T0026T00:00:00+1110:00</lastModifiedDate>
                  <lastModifierId>5</lastModifierId>
                  <lastModifierName>System Administrator</lastModifierName>
                  <lastRunTime>0</lastRunTime>
              <publishDate>2016-03-23T00    <publishDate>2017-06-24T00:00:00+1110:00</publishDate>
               <reportCategory>Audit   Reports<<reportCategory>Tutorial</reportCategory>
               <reportDescription/>
   <reportDescription>View athlete invoicing summaries by gender, demographic, and cost comparison over time.</reportDescription>
                  <reportId>56401<<reportId>61001</reportId>
                <reportName>Active  <reportName>Invoice Sessions<Summary</reportName>
               <reportSubCategory>Admin   Reports<<reportSubCategory>Athletes</reportSubCategory>
                  <reportTemplate>REPORTANDCHART<<reportTemplate>CHART</reportTemplate>
                  <reportUUID>594d4da4<reportUUID>d0f213a1-1b5825ea-44d34ee6-bf4f8d5a-11456a42f68c<52a0a3cdcf49</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
               <usage>4<   <usage>29</usage>
                <viewDescription>Yellowfin  Usage<viewDescription>Ski Audit<Team</viewDescription>
               <viewId>56169<   <viewId>70103</viewId>
                <viewName>NEW  <viewName>New VIEW<View</viewName>
               </reports>groupReports>
               <sessionId>3a4f9969aa278c03fa4cb891a87d6f36</sessionId><groupReports>
            <statusCode>SUCCESS</statusCode>
      <authoringMode>JAVA</authoringMode>
            </return>
      <<averageRunTime>0</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
Code Block
languagejava
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);

rsr.setFunction("GETUSERREPORT");
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 even identify a specific client organization:

    Code Block
    languagejava
    rsr.setOrgRef("org1");
    
  • Provide the report ID. Ensure this ID belongs to an existing report.

    Code Block
    languagejava
    rsr.setReportId(70292); 
  • 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 returned will contain these parameters:

    Response Element

    Data Type

    Description

    StatusCode

    String

    Status of the web service call. Possible values include:

    • SUCCESS
    • FAILURE

    Person

    AdministrationPerson

    Full details of the user.

    Reports

    AdministrationReport[]

    An array that contains details of the specified report.

    averageRunTime>
                      <birtData/>
                      <chartTypeCode/>
                      <dashboardEnabled>true</dashboardEnabled>
                      <dataOutput>COLUMN</dataOutput>
                      <deliveryMode/>
                      <executionObject/>
                      <lastModifiedDate>2017-06-26T00:00:00+10:00</lastModifiedDate>
                      <lastModifierId>5</lastModifierId>
                      <lastModifierName>System Administrator</lastModifierName>
                      <lastRunTime>0</lastRunTime>
                      <publishDate>2017-06-20T00:00:00+10:00</publishDate>
                      <reportCategory>Tutorial</reportCategory>
                      <reportDescription>A drill through report displaying revenue by camp region and year, allowing to drill through to a detail report.</reportDescription>
                      <reportId>61097</reportId>
                      <reportName>Region Revenue by Year</reportName>
                      <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                      <reportTemplate>REPORTANDCHART</reportTemplate>
                      <reportUUID>486d19ee-7976-450e-93cd-f475ae486fa0</reportUUID>
                      <roleCode>OPERATIONAL</roleCode>
                      <sourceName/>
                      <usage>28</usage>
                      <viewDescription>Ski Team</viewDescription>
                      <viewId>70103</viewId>
                      <viewName>New View</viewName>
                   </groupReports>
                   <groupReports>
                      <authoringMode>JAVA</authoringMode>
                      <averageRunTime>1</averageRunTime>
                      <birtData/>
                      <chartTypeCode/>
                      <dashboardEnabled>true</dashboardEnabled>
                      <dataOutput>COLUMN</dataOutput>
                      <deliveryMode/>
                      <executionObject/>
                      <lastModifiedDate>2017-06-26T00:00:00+10:00</lastModifiedDate>
                      <lastModifierId>5</lastModifierId>
                      <lastModifierName>System Administrator</lastModifierName>
                      <lastRunTime>1</lastRunTime>
                      <publishDate>2017-06-21T00:00:00+10:00</publishDate>
                      <reportCategory>Tutorial</reportCategory>
                      <reportDescription>View invoicing and camp rating figures by athlete location on this GIS map.</reportDescription>
                      <reportId>60947</reportId>
                      <reportName>Customer Sales by Location Map</reportName>
                      <reportSubCategory>Athletes</reportSubCategory>
                      <reportTemplate>CHART</reportTemplate>
                      <reportUUID>64470d8f-f0a9-4d31-bcda-28f26356034c</reportUUID>
                      <roleCode>OPERATIONAL</roleCode>
                      <sourceName/>
                      <usage>28</usage>
                      <viewDescription>Ski Team</viewDescription>
                      <viewId>70103</viewId>
                      <viewName>New View</viewName>
                   </groupReports>
                   <groupReports>
                      <authoringMode>JAVA</authoringMode>
                      <averageRunTime>1</averageRunTime>
                      <birtData/>
                      <chartTypeCode/>
                      <dashboardEnabled>true</dashboardEnabled>
                      <dataOutput>COLUMN</dataOutput>
                      <deliveryMode/>
                      <executionObject/>
                      <lastModifiedDate>2017-06-26T00:00:00+10:00</lastModifiedDate>
                      <lastModifierId>5</lastModifierId>
                      <lastModifierName>System Administrator</lastModifierName>
                      <lastRunTime>1</lastRunTime>
                      <publishDate>2017-06-19T00:00:00+10:00</publishDate>
                      <reportCategory>Tutorial</reportCategory>
                      <reportDescription>This shows profit over time...</reportDescription>
                      <reportId>61046</reportId>
                      <reportName>Profit Trends &amp; Forecast</reportName>
                      <reportSubCategory>Athletes</reportSubCategory>
                      <reportTemplate>REPORTANDCHART</reportTemplate>
                      <reportUUID>39a5a365-4f26-4767-a723-a804de1babe9</reportUUID>
                      <roleCode>OPERATIONAL</roleCode>
                      <sourceName/>
                      <usage>29</usage>
                      <viewDescription>Ski Team</viewDescription>
                      <viewId>70103</viewId>
                      <viewName>New View</viewName>
                   </groupReports>
                   <groupReports>
                      <authoringMode>JAVA</authoringMode>
                      <averageRunTime>1</averageRunTime>
                      <birtData/>
                      <chartTypeCode/>
                      <dashboardEnabled>true</dashboardEnabled>
                      <dataOutput>COLUMN</dataOutput>
                      <deliveryMode/>
                      <executionObject/>
                      <lastModifiedDate>2017-06-26T00:00:00+10:00</lastModifiedDate>
                      <lastModifierId>5</lastModifierId>
                      <lastModifierName>System Administrator</lastModifierName>
                      <lastRunTime>1</lastRunTime>
                      <publishDate>2017-06-20T00:00:00+10:00</publishDate>
                      <reportCategory>Tutorial</reportCategory>
                      <reportDescription>View athlete profit summaries by gender, demographic, and invoiced comparison over time.</reportDescription>
                      <reportId>61067</reportId>
                      <reportName>Region Profit Summary</reportName>
                      <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                      <reportTemplate>CHART</reportTemplate>
                      <reportUUID>01c73f85-2da8-401c-8e1d-167a0a6b5b5c</reportUUID>
                      <roleCode>OPERATIONAL</roleCode>
                      <sourceName/>
                      <usage>29</usage>
                      <viewDescription>Ski Team</viewDescription>
                      <viewId>70103</viewId>
                      <viewName>New View</viewName>
                   </groupReports>
                   <groupReports>
                      <authoringMode>JAVA</authoringMode>
                      <averageRunTime>0</averageRunTime>
                      <birtData/>
                      <chartTypeCode/>
                      <dashboardEnabled>true</dashboardEnabled>
                      <dataOutput>COLUMN</dataOutput>
                      <deliveryMode/>
                      <executionObject/>
                      <lastModifiedDate>2017-06-26T00:00:00+10:00</lastModifiedDate>
                      <lastModifierId>5</lastModifierId>
                      <lastModifierName>System Administrator</lastModifierName>
                      <lastRunTime>0</lastRunTime>
                      <publishDate>2017-06-22T00:00:00+10:00</publishDate>
                      <reportCategory>Tutorial</reportCategory>
                      <reportDescription>Examine invoicing figures by Camp Location hierarchy.</reportDescription>
                      <reportId>61035</reportId>
                      <reportName>Performance by Region</reportName>
                      <reportSubCategory>Athletes</reportSubCategory>
                      <reportTemplate>REPORTANDCHART</reportTemplate>
                      <reportUUID>80162f66-b23e-4a2b-b209-497a960d96d5</reportUUID>
                      <roleCode>OPERATIONAL</roleCode>
                      <sourceName/>
                      <usage>32</usage>
                      <viewDescription>Ski Team</viewDescription>
                      <viewId>70103</viewId>
                      <viewName>New View</viewName>
                   </groupReports>
                   <publishUUID>02fec2d8-6b09-48a1-8c6a-54adbb2eb9b6</publishUUID>
                   <reportGroupId>61251</reportGroupId>
                   <reportGroupName>Sales Performance</reportGroupName>
                   <reportGroupStatus>OPEN</reportGroupStatus>
                   <reportGroupType>ANALYTIC</reportGroupType>
                </reportGroups>
                <sessionId>4d9033f74b43feb65204865fde9ff023</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("GETUSERTABSWITHREPORTS");
    • 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);
    • 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 returned will contain these 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

      ReportGroups

      AdministrationReportGroup[]

      An array object containing the dashaboard metadata along with the elements listed in the table below.

       

      Each element of the ReportGroups will contain the following elements:

      Response Element

      Data Type

      Description

      GroupReportsAdministrationReport[]An array object containing the metadata of all of the dashboard's reports.
    • You can then retrieve the reports of the first dashboard tab:

      Code Block
      languagejava
      AdministrationReport[] rpts =  response.getReportGroups()[0].getGroupReports();

     

     

     

    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_ getusertabswithreports.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_ getusertabswithreports.jsp from your Internet browser.

     

    Code Block
    languagexml
    themeEclipse
    <%            
    /*              ws_getusertabswithreports.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("GETUSERTABSWITHREPORTS");
    rsr.setOrgRef("org1");
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");  			
    rsr.setPerson(ap);
    
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
    	out.write("Success<br>" + rs.getReportGroups().length + " tabs retrieved");
    	
    	// get the tabs details:
    	AdministrationReportGroup[] tabs = rs.getReportGroups();
    	for (AdministrationReportGroup tab: tabs){
    		out.write("<br><br><h1>Dashboard Name: " + tab.getReportGroupName() + "</h1>");
    		AdministrationReport[] rpts = tab.getGroupReports();
    		if (rpts != null)
    			for (AdministrationReport r: rpts){ 
    				out.write("Report Name: " + r.getReportName());
    				out.write("<br>Description: " + r.getReportDescription());
    				out.write("<br>ReportId: " + r.getReportId());
    				out.write("<br>ReportUUID: " + r.getReportUUID());
    				out.write("<br>ExecutionObject: " + r.getExecutionObject());
    				out.write("<br>ReportCategory: " + r.getReportCategory());
    				out.write("<br>SubCategory: " + r.getReportSubCategory());
    				out.write("<br>BirtData: " + r.getBirtData());
    				out.write("<br>SourceName: " + r.getSourceName());
    				out.write("<br>SourceId: " + r.getSourceId());
    				out.write("<br>AuthoringMode: " + r.getAuthoringMode());
    				out.write("<br>ReportTemplate: " + r.getReportTemplate());
    				out.write("<br>DataOutput: " + r.getDataOutput());
    				out.write("<br>DashboardEnabled: " + r.isDashboardEnabled());
    				out.write("<br>ViewId: " + r.getViewId());
    				out.write("<br>ViewName: " + r.getViewName());
    				out.write("<br>ViewDescription: " + r.getViewDescription());
    				out.write("<br>LastModifierName: " + r.getLastModifierName());
    				out.write("<br>LastModifierId: " + r.getLastModifierId());
    				out.write("<br>LastModifiedDate: " + r.getLastModifiedDate());
    				out.write("<br>PublishDate: " + r.getPublishDate());
    				out.write("<br>DeliveryMode: " + r.getDeliveryMode());
    				out.write("<br>LastRunTime: " + r.getLastRunTime());
    				out.write("<br>AverageRunTime: " + r.getAverageRunTime());
    				out.write("<br>RoleCode: " + r.getRoleCode());
    				out.write("<br>ChartTypeCode: " + r.getChartTypeCode());
    				out.write("<br>Usage: " + r.getUsage());
    				out.write("<br><br>");
    			}
    	}
    } else {
    		
    You can then retrieve the report:
    Code Block
    languagejava
    AdministrationReport[] rpts = rs.getReports();
    AdministrationReport report = rpts[0]; 			// getting the metadata of the first report
    

     

     

     

    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_ getuserreport.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_ getuserreport.jsp from your Internet browser.

     

    Code Block
    languagexml
    themeEclipse
    <%            
    /*              ws_getuserreport.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("GETUSERREPORT");
    rsr.setOrgRef("org1");
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");  			
    rsr.setPerson(ap);
     
    rsr.setReportId(70297);								//existing report id. ReportId field of ReportHeader table (Yellowifn database)
    
    
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
    	out.write("Success<br>");
    
    	// get the report details:
    	AdministrationReport[] rpts = rs.getReports();
    	for (AdministrationReport r: rpts){
    		out.write("<br>Report Name: " + r.getReportName());
    		out.write("<br>Description: " + r.getReportDescription());
    		out.write("<br>Category: " + r.getReportCategory());
    		out.write("<br>Subcategory: " + r.getReportSubCategory());
    	}
    } else {
    	out.write("Failure");
    		out.write(" Code: " + rs.getErrorCode());
    }
    %>