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

Yellowfin object or content belonging to a user in the Primary (that is, the default) or Client Organization can be retrieved and manipulated by using the web service calls categorized within this section. The information that is retrieved is related to the object's metadata (that is the name, description, ID, etc. of reports and dashboards), and not the actual contents. To get actual data of a report (such as its HTML, or PDF), use Yellowfin's Report web services.

 

Report Objects

The following web service calls are related to obtaining or managing user's Yellowfin reports.

Retrieves report metadata for a specified report ID, accessible for a particular user. 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.

 

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

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.
ReportIdIntegerThe unique ID of the report which you want details of. This report should already exist in Yellowfin.

 

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 report. 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:

<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>
            <reportId>56401</reportId>       
            <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.

Reports

AdministrationReport[]

An array that contains details of the specified report.

 

 

Response Example

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

<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>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56401</reportId>
               <reportName>Active Sessions</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>4</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <sessionId>3a4f9969aa278c03fa4cb891a87d6f36</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:

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

    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:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • You may even identify a specific client organization:

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

    rsr.setReportId(70292); 
  • Once the request is configured, perform the call:

    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.

  • You can then retrieve the report:

    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.

 

<%            
/*              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());
}
%>

 


 

This function retrieves the metadata of all the reports accessible for a particular user. The user can be identified using the AdministrationPerson object.

If a client organization is specifed, then all the reports from there will be retrieved, otherwise all the reports from the default organization will be obtained.

 

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

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.

 

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 reports. 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:

<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>GETALLUSERREPORTS</function>
            <person>
                <userId>binish.sheikh@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.

Reports

AdministrationReport[]

An array that contains details of the specified report.

 

Response Example

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

<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>binish.sheikh@yellowfin.com.au</emailAddress>
               <firstName>Binish</firstName>
               <ipId>13000</ipId>
               <lastName>Sheikh</lastName>
               <roleCode>YFREPORTCONSUMER</roleCode>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/BRISBANE</timeZoneCode>
               <userId>binish.sheikh@yellowfin.com.au</userId>
            </person>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56401</reportId>
               <reportName>Active Sessions</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>4</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>ROW</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56398</reportId>
               <reportName>System Startup</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>0866847b-03cc-43ef-9612-2f52467cac8c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>4</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>9</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-04-13T00:00:00+10:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-04-13T00:00:00+10:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>57703</reportId>
               <reportName>Top N Data Sources by Report Usage</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>e0669303-77ab-459e-bb98-d2fa73851b83</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-04-13T00:00:00+10:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-04-13T00:00:00+10:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>57911</reportId>
               <reportName>Top N Longest Avg Report Rows</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>f75a2389-39d8-497b-8fb2-5d1a3fc6d605</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <sessionId>c4919cd467b887a60fd4449eaa3ab9a1</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETALLUSERREPORTS");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • You may even identify a specific client organization to search for reports only in that organization:

    rsr.setOrgRef("org1");
    
  • Once the request is configured, perform the call:

    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 all reports.

 

 

 

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

 

<%            
/*              ws_getalluserreports.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("GETALLUSERREPORTS");
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.getReports().length + " reports retrieved");
	
	// get the report details:
	AdministrationReport[] rpts = rs.getReports();
	for (AdministrationReport r: rpts){
		out.write("<br><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());
}
%>

 


 

This function returns all reports with comments, that are accessible to a specified user. Use the AdministrationPerson object to specify the user.

If a client organization is specifed, then all the commented reports from there will be retrieved, otherwise reports from the default organization will be obtained.

 

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

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.

 

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 reports. 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:

<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>GETREPORTSWITHCOMMENTS</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

Person

AdministrationPerson

Full details of the user.

Reports

AdministrationReport[]

An array that contains details of the commented report.

 

 

Response Example

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

<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>
               <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>2014-08-20T00:00:00+10:00</publishDate>
               <reportCategory>Tutorial</reportCategory>
               <reportDescription>Drill Anywhere report to compare invoicing figures by different categories.</reportDescription>
               <reportId>61025</reportId>
               <reportName>Invoice vs. Estimate</reportName>
               <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>879d3175-1d40-4495-a4d4-45a24e781e53</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>1</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <sessionId>5504cc102037ca2193083902900abf75</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETREPORTSWITHCOMMENTS");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

    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 commented reports.

 

 

 

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

 

<%            
/*              ws_getreportswithcomments.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("GETREPORTSWITHCOMMENTS");
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.getReports().length + " reports retrieved");
	
	// get the report details:
	AdministrationReport[] rpts = rs.getReports();
	for (AdministrationReport r: rpts){
		out.write("<br><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());
}
%>

 


 

Retrieves metadata of only those reports which are saved with a Web Services Name, accessible for a specific user. This name is provided when a report is saved in Yellowfin, as shown in the screenshot below.

 

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

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.

 

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 web services reports. 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:

<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>GETUSERREPORTS</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

Person

AdministrationPerson

Full details of the user.

Reports

AdministrationReport[]

An array that contains details of the web services reports.

 

 

Response Example

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

<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>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject>monitor</executionObject>
               <lastModifiedDate>2018-03-07T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <lastRunTime>0</lastRunTime>
               <publishDate>2018-03-07T00:00:00+11:00</publishDate>
               <reportCategory>Tutorial</reportCategory>
               <reportDescription>This report provides a high level summary of campaigns</reportDescription>
               <reportId>70012</reportId>
               <reportName>Campaign Summary</reportName>
               <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
               <reportTemplate>CHART</reportTemplate>
               <reportUUID>3e842fae-02f7-4ad3-a632-ca267e0078da</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>100</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>60543</viewId>
               <viewName>New View</viewName>
            </reports>
            <sessionId>f491846df1520c32d27451e5b5529ac9</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERREPORTS");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response returned will contain the StatusCode, Person, and Reports parameters. See the Response table above for more details on this.

 

 

 

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

 

<%        	
/*          	ws_getuserreports.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 webservices admin account
rsr.setPassword("test");                                                    	// change to be the password of the account above
rsr.setOrgId(1);
rsr.setFunction("GETUSERREPORTS");
 
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("test.user@yellowfin.com.au");    	
 
rsr.setPerson(ap);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("Success<br>" + rs.getReports().length + " reports retrieved");
              	// get the report details:
              	AdministrationReport[] rpts = rs.getReports();
              	for (AdministrationReport r: rpts){
                                	out.write("<br><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());
}
%>

 


 

This function returns draft report (that is, reports that were modified and not saved or activated) that are accessible for a specified user. Use the AdministrationPerson object to identify 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 "GETUSERDRAFTREPORTS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.

 

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 draft reports. 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:

<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>GETUSERDRAFTREPORTS</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

Person

AdministrationPerson

Full details of the user.

Reports

AdministrationReport[]

An array that contains details of the draft reports.

 

 

Response Example

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

<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>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-16T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 16/2/2018 12:09 PM</reportDescription>
               <reportId>70079</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>df0be222-2819-466c-9118-203f9d75acb9</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-19T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 19/2/2018 5:37 PM</reportDescription>
               <reportId>70284</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>2fe4814b-98da-4c35-ab65-43c0916449fa</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>40</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-20T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 20/2/2018 10:56 AM</reportDescription>
               <reportId>70299</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>1180e1db-a01c-478e-9d32-55276000abcc</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>100</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-22T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 22/2/2018 5:19 PM</reportDescription>
               <reportId>70336</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>52da336a-b35b-42a6-be64-8e53d598fbe4</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <sessionId>da91fe1685c8cb4496d8c8374c57035b</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERDRAFTREPORTS");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

    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 draft reports.

 

 

 

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

 

<%            
/*              ws_getdraftreports.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("GETUSERDRAFTREPORTS");
//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.getReports().length + " reports retrieved");
	
	// get the report details:
	AdministrationReport[] rpts = rs.getReports();
	for (AdministrationReport r: rpts){
		out.write("<br><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());
}
%>

 


 

This function deletes a specified user report. The report can be identified with either the report ID or the report UUID. 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 "GETUSERDRAFTREPORTS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.
ReportIdIntegerThe unique ID of the report to delete. This should already exist in the system.
ParametersString[]Or instead of the ReportId parameter, use this to pass an element with the report UUID.

 

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 whose report to delete. 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:

<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>DELETEREPORT</function>
            <reportId>56398</reportId>
            <person>
                <userId>binish.sheikh@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

 

 

Response Example

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

<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>Web Service Request Complete</messages>
            <sessionId>61860d8760ecb216bdf3f455f66c3b14</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("DELETEREPORT");
  • Specify the user for whom to delete the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Specifiy which report to delete, by either providing its ID:

    rsr.setReportId(71081);
    


    or pass the report UUID:

    rsr.setParameters(new String[] {"0ac13905-aa14-4887-9718-44c29b11311b"});
    



  • Once the request is configured, perform the call:

    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

 

 

 

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

 

<%            
/*              ws_deletereport.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("DELETEREPORT");
//rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);
 
//pass the report ID:
rsr.setReportId(71081);

//or the report UUID:
rsr.setParameters(new String[] {"0ac13905-aa14-4887-9718-44c29b11311b"});


AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("<br>Report has been deleted.");
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This returns a specified user's inbox reports. These are reports which have been distributed to 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 "GETINBOX".

PersonAdministrationPersonThis object contains details of the user. See table below.

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

ID of the user whose inbox reports are to be fetched. This value could be the user ID or user's email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<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>GETINBOX</function>         
            <person>
            	<userId>admin@yellowfin.com.au</userId>
            </person>   
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain the following parameter:

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

AdministrationReports[]

An array of the user's inbox reports.

 

 

Response Example

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

 <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>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode>DISTRIBUTE</deliveryMode>
               <executionObject/>
               <lastModifiedDate>2017-06-26T00:00:00+10:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <lastRunTime>0</lastRunTime>
               <publishDate>2016-11-17T00:00:00+11:00</publishDate>
               <reportCategory>Tutorial</reportCategory>
               <reportDescription>Look at the number of athletes by age, region, and average camp rating.</reportDescription>
               <reportId>61053</reportId>
               <reportName>Profitability by Customer Age &amp; Location Breakdown</reportName>
               <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
               <reportTemplate>CHART</reportTemplate>
               <reportUUID>c554165d-7c85-4d19-b19a-61ce5919dc5b</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>25</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode>DISTRIBUTE</deliveryMode>
               <executionObject/>
               <lastModifiedDate>2017-06-26T00:00:00+10:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <lastRunTime>0</lastRunTime>
               <publishDate>2016-11-17T00:00:00+11:00</publishDate>
               <reportCategory>Tutorial</reportCategory>
               <reportDescription>Look at the number of athletes by age, region, and average camp rating.</reportDescription>
               <reportId>61053</reportId>
               <reportName>Profitability by Customer Age &amp; Location Breakdown</reportName>
               <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
               <reportTemplate>CHART</reportTemplate>
               <reportUUID>c554165d-7c85-4d19-b19a-61ce5919dc5b</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>25</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <sessionId>76a9a9f93246f29678744bf60727943f</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETINBOX");
  • You can specify the user to fetch their favourite reports:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("test.user@yellowfin.com.au");
    rsr.setPerson(ap);
  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain the StatusCode, Person and Reports parameters. See the Response Parameter table above for details on these.

     

 

 

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

 

<%        	
/*          	ws_getinbox.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("GETINBOX");
 
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("test.user@yellowfin.com.au");
 
rsr.setPerson(ap);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("<br>Success");
	AdministrationReport[] reports = rs.getReports();
	if (reports != null)
    	for(AdministrationReport r: reports){
        	out.write("<br>Report Name: " + r.getReportName());
        }
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This web service call returns all reports marked as favourite by a specific 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 "GETFAVOURITES".

PersonAdministrationPersonThis object contains details of the user. See table below.

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

ID of the user whose favourite reports are to be fetched. This value could be the user ID or user's email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<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>GETFAVOURITES</function>
            <person>
            	<userId>admin@yellowfin.com.au</userId>
            </person>   
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain the following parameter:

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

AdministrationReports[]

An array of the user's favourite reports.

 

 

Response Example

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

<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>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56401</reportId>
               <reportName>Active Sessions</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>24</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56401</reportId>
               <reportName>Active Sessions</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>24</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <sessionId>dffb6a0f4f155d46c73d1e77dffbd81c</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETFAVOURITES");
  • You can specify the user to fetch their favourite reports:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("test.user@yellowfin.com.au");
    rsr.setPerson(ap);
  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain the StatusCode, Person and Reports parameters. See the Response Parameter table above for details on these.

     

 

 

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

 

<%        	
/*          	ws_getfavourites.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 account above
rsr.setOrgId(1);
rsr.setFunction("GETFAVOURITES");
 
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("test.user@yellowfin.com.au");
 
rsr.setPerson(ap);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("<br>Success");
    AdministrationReport[] reports = rs.getReports();
    if (reports != null)
    	for(AdministrationReport r: reports){
			out.write("<br>Report Name: " + r.getReportName());
        }
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This web service checks whether or not a particular report is marked as a specific user's favourite. Both the user and the report would need to be specified here, the latter by providing the Report ID. This ID can be retrieved from Yellowfin database's Report Header table. You can even use the GETIDFORUUID web service call to retrieve the Report ID.

 

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

PersonAdministrationPersonThis object contains details of the user. See table below.
ReportIdIntegerThe report ID to check whether the report is the user's favourite.

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

ID of the user whose inbox reports are to be fetched. This value could be the user ID or user's email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<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>ISREPORTFAVOURITE</function>
            <reportId>56401</reportId>
            <person>
            	<userId>admin@yellowfin.com.au</userId>
            </person>   
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain the following parameter:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS - If the specified report is the user's favourite.
  • FAILURE - If the report is not a favourite report of the user.

 

 

Response Example

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

<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>Web Service Request Complete</messages>
            <sessionId>ca75c7ebef710e4fc7c6ca6137baa784</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("ISREPORTFAVOURITE");
  • You can identify the user for whom to check the report's favourite status:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("test.user@yellowfin.com.au");
    rsr.setPerson(ap);
  • Specify which report to check the favourite status for:

    rsr.setReportId(61131);



  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain the StatusCode. See the Response Parameter table above for details on this.

     

 

 

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

 

<%        	
/*          	ws_isreportfavourite.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 account above
rsr.setOrgId(1);
rsr.setFunction("ISREPORTFAVOURITE");
 
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("test.user@yellowfin.com.au");
 
rsr.setPerson(ap);
 
rsr.setReportId(61131);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
                                	
} else {
              	out.write("Failure");
              	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Also, ADDTOFAVORITES. This web service call marks a particular report as the specified user's favourite. Both the user and the report would need to be specified here, the latter by providing the report ID. Use the GETIDFORUUID web service call to retrieve the report ID, or fetch it from the database (this value is stored in the Report Header table).

 

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 "ADDTOFAVOURITES" or "ADDTOFAVORITES".

PersonAdministrationPersonThis object contains details of the user. See table below.
ReportIdIntegerThe ID of the report that is to be added as a favourite of the user's.

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

ID of the user to add the report as their favourite. This value could be the user ID or user's email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<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>ADDTOFAVOURITES</function>
            <reportId>56401</reportId>
            <person>
            	<userId>admin@yellowfin.com.au</userId>
            </person>   
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain the following parameter:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS - if the report is added as the user's favourite.
  • FAILURE - if the report is not added as the user's favourite.

 

 

Response Example

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

<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>Web Service Request Complete</messages>
            <sessionId>cf897244c65ceecd6c4c39e8ab8c4fcb</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("ADDTOFAVOURITES");
  • You can identify the user for whom to check the report's favourite status:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("test.user@yellowfin.com.au");
    rsr.setPerson(ap);
  • Specify which report to check the favourite status for:

    rsr.setReportId(61131);



  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain the StatusCode. See the Response Parameter table above for details on this.

     

 

 

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

 

/*          	ws_addtofavourites.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 webservices admin account
rsr.setPassword("test");                                                    	// change to be the password of the account above
rsr.setOrgId(1);
rsr.setFunction("ADDTOFAVORITES");
 
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("test.user@yellowfin.com.au");
 
rsr.setPerson(ap);
 
rsr.setReportId(56361);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("<br>Success");
                                	
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Also, REMOVEFAVORITE. This web service call removes a particular report from the specified user's favourite list. Both the user and the report would need to be specified here, the latter by providing the report ID. Use the GETIDFORUUID web service call to retrieve the report ID, or fetch it from the database (this value is stored in the Report Header table).

 

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 "REMOVEFAVOURITE" or "REMOVEFAVORITE".

PersonAdministrationPersonThis object contains details of the user. See table below.
ReportIdIntegerThe ID of the report that is to be removed from the user's favourite list.

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

ID of the user to remove the report from their favourite list. This value could be the user ID or user's email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<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>REMOVEFAVOURITE</function>
            <reportId>56401</reportId>
            <person>
            	<userId>admin@yellowfin.com.au</userId>
            </person>   
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain the following parameter:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS - If the report is removed from the user's favourite list.
  • FAILURE - If the report is not removed from the user's favourite list.

 

 

Response Example

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

 <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>Web Service Request Complete</messages>
            <sessionId>1be6b980918323dab6f41fec3c040c56</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("REMOVEFAVOURITE");
  • You can identify the user for whom to check the report's favourite status:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("test.user@yellowfin.com.au");
    rsr.setPerson(ap);
  • Specify which report to check the favourite status for:

    rsr.setReportId(61131);



  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain the StatusCode. See the Response Parameter table above for details on this.

     

 

 

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

 

/*          	ws_removefavourite.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 account above
rsr.setOrgId(1);
rsr.setFunction("REMOVEFAVOURITE");
 
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("test.user@yellowfin.com.au");
 
rsr.setPerson(ap);
 
rsr.setReportId(56361);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
                                	
} else {
              	out.write("Failure");
              	out.write(" Code: " + rs.getErrorCode());
}
%>


 


 

This web service is used to approve a report. The report approver will be the user of the account specified using the LoginId parameter (even if this account is not listed as an approver).

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An administrator account to connect to the Yellowfin web services. This can either 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 "APPROVEREPORT".

ReportId

Integer

The ID of the report which is required to approved.

 

Request Example

Below is a SOAP XML example for this request:

<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>APPROVEREPORT</function>
            <reportId>73740</reportId>
     	</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

 

Response Example

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

 

<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>Web Service Request Complete</messages>
            <sessionId>4e375028ec457bba4985965d5d71e64e</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:

  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");      	
    rsr.setPassword("test");           
    rsr.setOrgId(1);
    rsr.setFunction("APPROVEREPORT");
  • Specify the report that needs to be approved by providing its ID.

    rsr.setReportId(73740);



  • Once the request is configured, simply perform the call to test the server:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

  • Retrieve the response of this web service, which is the StatusCode.

    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  	out.write("<br>Success");
                  	
    }
    else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
    }              


 

 

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_approvereport.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_approvereport.jsp from your Internet browser.

 

<%        	
/*          	ws_approvereport.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 webservices admin account
rsr.setPassword("test");                        // change to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("APPROVEREPORT");
rsr.setReportId(73740);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
              	
}
else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());
}             	
%>

 


 

This web service rejects the report, by changing its mode to draft. The rejector will be the user specified in the LoginId parameter (even if they are not listed as an approver or rejector).


Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An administrator account to connect to the Yellowfin web services. This can either 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 "REJECTREPORT".

ReportId

Integer

The ID of the report which is required to rejected.

 

Request Example

Below is a SOAP XML example for this request:

<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>REJECTREPORT</function>
            <reportId>73740</reportId>
     	</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

 

Response Example

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

 

<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>Web Service Request Complete</messages>
            <sessionId>4e375028ec457bba4985965d5d71e64e</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:

  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");      	
    rsr.setPassword("test");           
    rsr.setOrgId(1);
    rsr.setFunction("REJECTREPORT");
  • Specify the report that is to be rejected by providing its ID.

    rsr.setReportId(73740);



  • Once the request is configured, simply perform the call to test the server:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

  • Retrieve the response of this web service, which is the StatusCode.

    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  	out.write("<br>Success");
                  	
    }
    else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
    }              


 

 

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_rejectreport.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_rejectreport.jsp from your Internet browser.

 

<%        	
/*          	ws_rejectreport.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 webservices admin account
rsr.setPassword("test");                        // change to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("REJECTREPORT");
rsr.setReportId(73740);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
              	
}
else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());
}             	
%>

 


 

This web service copies a report, along with all its dependencies (such as related reports) into a defined category/subcategory (folder/subfolder). This folder must exist in the target client org.

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An administrator account to connect to the Yellowfin web services. This can either 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 "COPYREPORT".

Report

AdministrationReportThe details of the report that is to be copied. See the table below.

OrgRef

String

The client org. that you want to copy the report into. If one is not specified, the report will be copied into the default org.


The following parameters are to be set in the AdministrationReport object:

Request Element

Data Type

Description

ReportUUID

String

Either provide the UUID of the report to copy.


ReportIdInteger

Or specify the report ID.

ReportCategory

String

Mandatory parameter. Specifies the category (folder) in which the report is copied.

ReportSubCategory

String

Mandatory parameter. Specifies the subcategory (sub-folder) in which the report is copied.

ReportCategory and ReportSubCategory should be of a form of a resource code. Resource codes can be found by using the GETCATEGORIES web service, or by directly going into the Yellowfin database (in the orgReferenceCodeDesc table, filtered by RefTypeCode IN (‘RPTCATEGORY’, ‘RPTSUBCATEGORY’) where RefCode is a resource code.



Request Example

Below is a SOAP XML example for this request:

<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>COPYREPORT</function>
        	<report>
        	  	<reportId>73753</reportId>
          		<reportUUID>4cd72d5e-68bb-4bb5-98e2-6562e7f228c5</reportUUID>
        	  	<reportCategory>TUTORIAL</reportCategory>
        	  	<reportSubCategory>TRAINING</reportSubCategory>
        	</report>
     	</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

Report

AdministrationReport

Details of the copied report.

 

Response Example

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

 

<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>Web Service Request Complete</messages>
        	<report>
               <authoringMode>JAVA</authoringMode>
           	<birtData/>
           	<chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
           	<deliveryMode/>
           	<executionObject/>
               <lastModifiedDate>2018-06-04T00:00:00+10:00</lastModifiedDate>
	           <lastModifierId>5</lastModifierId>
           	<lastModifierName>System Administrator</lastModifierName>
           	<reportCategory/>
           	<reportDescription>A drill through report displaying revenue by camp region and year, allowing to drill through to a detail report.</reportDescription>
               <reportId>73773</reportId>
           	<reportName>Sales Report</reportName>
           	<reportSubCategory/>
               <reportTemplate>REPORT</reportTemplate>
   	        <reportUUID>687a5403-dd4c-44c8-a30b-7c9668305c46</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
           	<sourceName/>
           	<usage>0</usage>
           	<viewDescription>Ski Team</viewDescription>
           	<viewId>60543</viewId>
           	<viewName>New View</viewName>
        	</report>
            <sessionId>b9b1774145c8d3f2a1555e8eb9daf92a</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:

  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");      	
    rsr.setPassword("test");           
    rsr.setOrgId(1);
    rsr.setFunction("COPYREPORT");
  • Specify the report that is to copied.

    AdministrationReport rpt = new AdministrationReport();
    rpt.setReportId(73753);



  • Also mention the folder and/sub-folder to copy the report into.

    rpt.setReportCategory("TUTORIAL");
    rpt.setReportSubCategory("TRAINING");
     
    rsr.setReport(rpt);
  • Once the request is configured, simply perform the call to test the server:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

  • Retrieve the response of this web service, which is the StatusCode.

    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  	out.write("<br>Success");
                  	
    }
    else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
    }   


 

 

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_copyreport.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_copyreport.jsp from your Internet browser.

 

<%        	
/*          	ws_copyreport.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 webservices admin account
rsr.setPassword("test");                        // change to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("COPYREPORT");
 
AdministrationReport rpt = new AdministrationReport();
rpt.setReportId(73753);
rpt.setReportCategory("TUTORIAL");
rpt.setReportSubCategory("TRAINING");
 
rsr.setReport(rpt);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
              	
}
else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());
}             	
%>

 


 

Dashboard Objects

The following web service calls are related to obtaining or managing user's dashboard tabs.

This web service call will return the metadata of all the published dashboards of a specified user. It also treats each 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 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.

 

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:

<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:

 <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:

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

    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:

    rsr.setOrgRef("org1");



  • Specify the user who dashboard tab belongs to:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

    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.

 

<%            
/*              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());
}
%>

 


 

This call returns the metadata of a user's published parent dashboards. Even if the dashboard contains multiple tabs, details of only the parent dashboard will be returned. To get details of 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.

 

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:

<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:

 <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:

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

    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:

    rsr.setOrgRef("org1");



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

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

    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.

 

<%            
/*              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());
}
%>

 


 

Use this call to retrieve metadata of dashboards in the draft mode, rather than published or activated ones. To get details of a specific draft dashboard, provide its ID.

Note however, that this call does not retrieve the metadate of these dashboard's reports. To get that, use the GETUSERDRAFTTABSWITHREPORTS 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 "GETUSERDRAFTTABS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID to search for the dashboard 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 draft dashboard whose details are to be retrieved.

 

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:

<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>GETUSERDRAFTTABS</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 draft dashboards’ metadata.

 

Response Example

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

<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>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-16T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 16/2/2018 12:09 PM</reportDescription>
               <reportId>70079</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>df0be222-2819-466c-9118-203f9d75acb9</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-19T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 19/2/2018 5:37 PM</reportDescription>
               <reportId>70284</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>2fe4814b-98da-4c35-ab65-43c0916449fa</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>40</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-20T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 20/2/2018 10:56 AM</reportDescription>
               <reportId>70299</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>1180e1db-a01c-478e-9d32-55276000abcc</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>100</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-22T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 22/2/2018 5:19 PM</reportDescription>
               <reportId>70336</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>52da336a-b35b-42a6-be64-8e53d598fbe4</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <sessionId>da91fe1685c8cb4496d8c8374c57035b</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:

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

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

    rsr.setOrgRef("org1");



  • Specify the user who dashboard tab belongs to:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

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

 

<%            
/*              ws_getdrafttabs.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("GETUSERDRAFTTABS");
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 tab 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>Status: " + tab.getReportGroupStatus());
		out.write("<br>InternalReference: " + tab.getReportGroupInternalReference());
}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Use this call to retrieve metadata of only parent tabs from dashboards in the draft mode, rather than published or activated ones. To get details of a specific parent tab, provide its dashboard ID.

Note however, that this call does not retrieve the metadata of these dashboard's reports. To get that, use the GETUSERDRAFTPARENTTABSWITHREPORTS 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 "GETUSERDRAFTPARENTTABS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID to search for the dashboard 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 draft dashboard whose details are to be retrieved.

 

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:

<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>GETUSERDRAFTPARENTTABS</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 details of the draft dashboards’ parent tab.

 

 

Response Example

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

<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>e7409ff2-f846-44e1-a603-b78ec51b20b9</publishUUID>
               <reportGroupId>61250</reportGroupId>
               <reportGroupName>Sales Performance</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <reportGroups>
               <publishUUID>1e68d9cc-fa5a-44e2-816d-782aa40ceeae</publishUUID>
               <reportGroupId>61209</reportGroupId>
               <reportGroupName>Campaign Analysis</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <sessionId>bcca7768fd5b49e3358b7fb48489f117</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:

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

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

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the dashboard:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

    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 details of the draft dashboards’ parent tab.

 

 

 

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

 

<%            
/*              ws_getdraftparenttabs.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("GETUSERDRAFTPARENTTABS");
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 tab 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>Status: " + tab.getReportGroupStatus());
		out.write("<br>InternalReference: " + tab.getReportGroupInternalReference());
	}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Retrieves the metadata of 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 "GETUSERTABSWITHREPORTS".

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 and its reports. Note, however, that this tab should already exist in Yellowfin.

 

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:

<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>GETUSERTABSWITHREPORTS</function>
            <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

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.

 

 

Response Example

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

<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>
               <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-24T00:00:00+10:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>View athlete invoicing summaries by gender, demographic, and cost comparison over time.</reportDescription>
                  <reportId>61001</reportId>
                  <reportName>Invoice Summary</reportName>
                  <reportSubCategory>Athletes</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>d0f213a1-25ea-4ee6-8d5a-52a0a3cdcf49</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-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:

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

    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:

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
  • Once the request is configured, perform the call:

    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:

    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.

 

<%            
/*              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 {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Returns the metadata of all published dashboards’ parent tabs, along with details of the dashboard reports. In case of multiple sub tabs within the dashboard, only the details of the parent tab are retrieved, however this call will return metadata of the entire dashboard's reports, including those in the sub tabs. Use the AdministrationPerson object to specify the user for this 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 "GETUSERPARENTTABSWITHREPORTS".

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's parent tab and its reports. Note, however, that this dashboard should already exist in Yellowfin.

 

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 dashboard's parent tab details. 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:

<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>GETUSERPARENTTABSWITHREPORTS</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 object containing the dashaboard's parent tab's 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.

 

 

Response Example

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

<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>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</lastRunTime>
                  <publishDate>2017-06-24T00:00:00+10:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>View athlete invoicing summaries by gender, demographic, and cost comparison over time.</reportDescription>
                  <reportId>61001</reportId>
                  <reportName>Invoice Summary</reportName>
                  <reportSubCategory>Athletes</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>d0f213a1-25ea-4ee6-8d5a-52a0a3cdcf49</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>39</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</lastRunTime>
                  <publishDate>2017-06-24T00:00:00+10:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>View athlete invoicing summaries by gender, demographic, and cost comparison over time.</reportDescription>
                  <reportId>61001</reportId>
                  <reportName>Invoice Summary</reportName>
                  <reportSubCategory>Athletes</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>d0f213a1-25ea-4ee6-8d5a-52a0a3cdcf49</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>39</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>2</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>38</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>2</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>38</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>5</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>38</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>5</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>38</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</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>39</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</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>39</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</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>39</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</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>39</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>1</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>43</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>1</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>43</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <publishUUID>e7409ff2-f846-44e1-a603-b78ec51b20b9</publishUUID>
               <reportGroupId>61250</reportGroupId>
               <reportGroupName>Sales Performance</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <reportGroups>
               <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>This report provides a high level summary of campaigns</reportDescription>
                  <reportId>60901</reportId>
                  <reportName>Campaign Summary</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>3e842fae-02f7-4ad3-a632-ca267e0078da</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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-19T00:00:00+10:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>Revenue by media category pie chart</reportDescription>
                  <reportId>61131</reportId>
                  <reportName>Revenue by Media Category</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>32384c5a-7892-4ecb-93be-dc1efbdb7edd</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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>2016-11-17T00:00:00+11:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>Look at the number of athletes by age, region, and average camp rating.</reportDescription>
                  <reportId>61053</reportId>
                  <reportName>Profitability by Customer Age &amp; Location Breakdown</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>c554165d-7c85-4d19-b19a-61ce5919dc5b</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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-19T00:00:00+10:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>Revenue treemap for campaigns by athlete demographic</reportDescription>
                  <reportId>61119</reportId>
                  <reportName>Revenue by Campaign and Demographic</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>REPORTANDCHART</reportTemplate>
                  <reportUUID>ce3c4461-ea36-427d-bcd4-72448ec2722c</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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>2016-11-17T00:00:00+11:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>An analysis of the agency sales and their ranked profitability</reportDescription>
                  <reportId>60724</reportId>
                  <reportName>Agency Sales by Profitability</reportName>
                  <reportSubCategory>Athletes</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>876c7d79-21a9-4561-ada7-f97eaffe1186</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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>2016-11-18T00:00:00+11:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>An example of using canvas and set analysis from a single data set to create an infographic report.</reportDescription>
                  <reportId>60957</reportId>
                  <reportName>Infographic</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>00fd9f26-05a7-47b6-b87f-8270ca648f5d</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>1</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <publishUUID>1e68d9cc-fa5a-44e2-816d-782aa40ceeae</publishUUID>
               <reportGroupId>61209</reportGroupId>
               <reportGroupName>Campaign Analysis</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <sessionId>3749079ce15768d94c1750cfd01d54ad</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:

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

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

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
  • Once the request is configured, perform the call:

    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 object containing the dashaboard's parent tab's 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:

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

 

<%            
/*              ws_getuserparenttabswithreports.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("GETUSERPARENTTABSWITHREPORTS");
//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 {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This call is similar to the GETUSERTABSWITHREPORTS one, however it return's details of dashboards in the draft mode (not published or activated ones). 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 "GETUSERDRAFTTABSWITHREPORTS".

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 draft dashboard tab and its reports. Note, however, that this tab should already exist in Yellowfin.

 

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:

 <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>GETUSERDRAFTTABSWITHREPORTS</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 object containing the draft dashboard 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.

 

 

Response Example

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

 <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>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</lastRunTime>
                  <publishDate>2017-06-24T00:00:00+10:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>View athlete invoicing summaries by gender, demographic, and cost comparison over time.</reportDescription>
                  <reportId>61001</reportId>
                  <reportName>Invoice Summary</reportName>
                  <reportSubCategory>Athletes</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>d0f213a1-25ea-4ee6-8d5a-52a0a3cdcf49</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>39</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>2</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>38</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>5</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>38</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</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>39</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <groupReports>
                  <authoringMode>JAVA</authoringMode>
                  <averageRunTime>2</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>6</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>39</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>1</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>43</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>
            <reportGroups>
               <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>This report provides a high level summary of campaigns</reportDescription>
                  <reportId>60901</reportId>
                  <reportName>Campaign Summary</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>3e842fae-02f7-4ad3-a632-ca267e0078da</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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-19T00:00:00+10:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>Revenue by media category pie chart</reportDescription>
                  <reportId>61131</reportId>
                  <reportName>Revenue by Media Category</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>32384c5a-7892-4ecb-93be-dc1efbdb7edd</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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>2016-11-17T00:00:00+11:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>Look at the number of athletes by age, region, and average camp rating.</reportDescription>
                  <reportId>61053</reportId>
                  <reportName>Profitability by Customer Age &amp; Location Breakdown</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>c554165d-7c85-4d19-b19a-61ce5919dc5b</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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-19T00:00:00+10:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>Revenue treemap for campaigns by athlete demographic</reportDescription>
                  <reportId>61119</reportId>
                  <reportName>Revenue by Campaign and Demographic</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>REPORTANDCHART</reportTemplate>
                  <reportUUID>ce3c4461-ea36-427d-bcd4-72448ec2722c</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</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>2016-11-17T00:00:00+11:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>An analysis of the agency sales and their ranked profitability</reportDescription>
                  <reportId>60724</reportId>
                  <reportName>Agency Sales by Profitability</reportName>
                  <reportSubCategory>Athletes</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>876c7d79-21a9-4561-ada7-f97eaffe1186</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>16</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <publishUUID>2e2fb9f6-d43e-4de2-977e-a646b01abc4b</publishUUID>
               <reportGroupId>61210</reportGroupId>
               <reportGroupName>Campaign Analysis (Campaigns)</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <reportGroups>
               <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>2016-11-18T00:00:00+11:00</publishDate>
                  <reportCategory>Tutorial</reportCategory>
                  <reportDescription>An example of using canvas and set analysis from a single data set to create an infographic report.</reportDescription>
                  <reportId>60957</reportId>
                  <reportName>Infographic</reportName>
                  <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
                  <reportTemplate>CHART</reportTemplate>
                  <reportUUID>00fd9f26-05a7-47b6-b87f-8270ca648f5d</reportUUID>
                  <roleCode>OPERATIONAL</roleCode>
                  <sourceName/>
                  <usage>1</usage>
                  <viewDescription>Ski Team</viewDescription>
                  <viewId>70103</viewId>
                  <viewName>New View</viewName>
               </groupReports>
               <publishUUID>1a387957-564b-40ad-9fc1-4167ddd61f33</publishUUID>
               <reportGroupId>61243</reportGroupId>
               <reportGroupName>Campaign Analysis (Marketing)</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <sessionId>da0e674bf04a010c4aed08fa1f009752</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:

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

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

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
  • Once the request is configured, perform the call:

    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 object containing the draft 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:

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

 

<%            
/*              ws_getuserdrafttabswithreports.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("GETUSERDRAFTTABSWITHREPORTS");
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>");
		out.write("<br>Dashboard tab Status: " + tab.getReportGroupStatus() + "<br>");
		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 {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Returns the metadata of parent tabs of those dashboards that are in the draft mode (that is, not activated or published). In case of multiple sub tabs within the dashboard, only the details of the parent tab are retrieved, however this call will return metadata of the entire draft dashboard's reports, including those in the sub tabs. Use the AdministrationPerson object to specify the user for this call. You can even specify a particular dashboard tab to recieve its information by providing its ID.

 

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

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 draft dashboard' parent tab and reports. Note, however, that this tab should already exist in Yellowfin.

 

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 draft dashboard's parent tab details. 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:

 <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>GETUSERDRAFTPARENTTABSWITHREPORTS</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 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.

 

 

Response Example

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

 <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>e7409ff2-f846-44e1-a603-b78ec51b20b9</publishUUID>
               <reportGroupId>61250</reportGroupId>
               <reportGroupName>Sales Performance</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <reportGroups>
               <publishUUID>1e68d9cc-fa5a-44e2-816d-782aa40ceeae</publishUUID>
               <reportGroupId>61209</reportGroupId>
               <reportGroupName>Campaign Analysis</reportGroupName>
               <reportGroupStatus>OPEN</reportGroupStatus>
               <reportGroupType>ANALYTIC</reportGroupType>
            </reportGroups>
            <sessionId>42075cc6bc5723e6daf997796aa00a57</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:

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

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

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
  • Once the request is configured, perform the call:

    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 object containing the draft dashaboard's parent tab's 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 draft dashboard's reports.
  • You can then retrieve the reports of the first dashboard tab:

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

 

<%            
/*              ws_getuserdraftparenttabswithreports.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("GETUSERDRAFTPARENTTABSWITHREPORTS");
//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>");
		out.write("<br>Dashboard tab Status: " + tab.getReportGroupStatus() + "<br>");
		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 {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This web service call retrieves metadata of all dashboard's parent tabs as well as their sub tabs that are accessible for 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.

 

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.

 

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:

 <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:

<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:

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

    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:

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the report:

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

    rsr.setDashboardTabId(61210);



  • Once the request is configured, perform the call:

    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:

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

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

    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.

 

<%            
/*              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());
}
%>

 


 

Returns the metadata of user's dashboard tabs with their sub tab's IDs. You may provide the ID of a particular tab or sub tab to retrieve its details. Specify 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 "TABSFROMPARENTGROUPID".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringAn optional parameter to specify a client organization reference ID to search for the dashboard tab within a particular client org, instead of the default organization.
DashboardTabIdIntegerThis optional parameter can be used to retrieve details of a specific dashboard tab. Note, however, that this tab should already exist in Yellowfin.

 

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 tab. 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:

 <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>TABSFROMPARENTGROUPID</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

ParentDashboards

ParentDashboard[]

An array object containing the dashboard's metadata including elements listed in the table below.

 

Each element of the ParentDashboard will contain the following elements:

Response Element

Data Type

Description

DashboardName

String

 Name of the dashboard.

DashboardGroupId

Integer

 

TabIds

String[]

Array of the sub tabs IDs.

TabNames

String[]

Array of the sub tabs names.

statusCodes

String[]

Array of the sub tabs statuses.

 

 

Response Example

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

 <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>
            <parentDashboards>
               <dashboardGroupId>61250</dashboardGroupId>
               <dashboardName>Sales Performance</dashboardName>
               <statusCodes>OPEN</statusCodes>
               <tabIds>61251</tabIds>
               <tabNames>New Tab</tabNames>
            </parentDashboards>
            <parentDashboards>
               <dashboardGroupId>61209</dashboardGroupId>
               <dashboardName>Campaign Analysis</dashboardName>
               <statusCodes>OPEN</statusCodes>
               <statusCodes>OPEN</statusCodes>
               <tabIds>61210</tabIds>
               <tabIds>61243</tabIds>
               <tabNames>Campaigns</tabNames>
               <tabNames>Marketing</tabNames>
            </parentDashboards>
            <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>1b1898c42b69302ce9b3426b5a17e5a0</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:

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

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

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the dashboard:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
  • Provide a dashboard ID to view only that dashboard's details:

    rsr.setDashboardTabId(61209);  				// dashboard Id (ReportGroup.GroupId field of Yellowfin's database)
    



  • Once the request is configured, perform the call:

    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: StatusCode and ParentDashboard array. See the response parameter chart above for details on these.

 

 

 

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

 

<%            
/*              ws_tabsfromparentgroupid.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("TABSFROMPARENTGROUPID");

//rsr.setDashboardTabId(61209);  					// add this to get subtabs for a particular dashboard tab.

 
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:
	ParentDashboard[] tabs = rs.getParentDashboards();
	if (tabs != null) 
	for (ParentDashboard tab: tabs){
		out.write("<br><br>Dashboard Name: " + tab.getDashboardName());
		out.write("<br>DashboardId: " + tab.getDashboardGroupId());
		out.write("<br>tabIds (N): " + tab.getTabIds().length);
	}
} else {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This call is used to load metadata of dashboard tab reports accessible for a specific user. The user is to be specified through the AdministrationPerson object. You can provide a dashboard tab ID via the AdministrationReportGroup object to get report details of a specific tab.

 

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

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringAn optional parameter to specify a client organization reference ID to search for the dashboard tab within it, instead of the default organization.
ReportGroupAdministrationReportGroupThis parameter is used to specify a dashboard tab whose report details are to be retrieved. See table below.

 

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.

 

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

AdministrationReportGroup Element

Data Type

Description

ReportGroupId

Integer

The ID of the dashboard tab.

 

 

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[]

 This array object contains dashboard reports’ metadata. This will contain only one item.

 

 

Instructions

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

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

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

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the report:

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

    AdministrationReportGroup rg = new AdministrationReportGroup();
    rg.setReportGroupId(61210);  // existing dashboard Id.
     
    rsr.setReportGroup(rg);



  • Once the request is configured, perform the call:

    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 and ReportGroups. (See the Response Parameter section above for details on these.)

  • To retrieve the report details, use the following line:

    AdministrationReport[] reports = 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_ loadtabreports.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_ loadtabreports.jsp from your Internet browser.

 

<%        	
/*          	ws_loadtabreports.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 the password of the above account
rsr.setOrgId(1);
rsr.setFunction("LOADTABREPORTS");
 
rsr.setOrgRef("org1");
 
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("test.user@yellowfin.com.au");    	
 
rsr.setPerson(ap);
 
AdministrationReportGroup rg = new AdministrationReportGroup();
rg.setReportGroupId(61210);
 
rsr.setReportGroup(rg);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	
              	AdministrationReportGroup[] tabs = rs.getReportGroups();
              	
              	if (tabs != null)
              	for (AdministrationReportGroup tab: tabs){
                                	out.write("<br>Tab Name: " + tab.getReportGroupName());
                                	out.write(tab.getGroupReports().length);
                                	AdministrationReport[] reports = tab.getGroupReports();
                                	for (AdministrationReport r: reports){
                                                  	out.write("<br><br>Report Name: " + r.getReportName());
                                                  	out.write("<br>Report Id: " + r.getReportId());
                                	}
              	}
              	
} else {
              	out.write("Failure");
              	out.write(" Code: " + rs.getErrorCode());
}
%>




 


 

Use this web service to delete a user dashboard tab or sub tab. The dashboard tab/sub tab must be specified by providing either the ID number or UUID. 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 "DELETETAB".

PersonAdministrationPersonObject containing details of the user whose dashboard tab is to be deleted. See table below.
OrgRefStringAn optional parameter to specify a client organization reference ID to search for the dashboard tab within it, instead of the default organization.
DashboardTabIdIntegerProvide the dashboard tab ID of the tab to be deleted. Or use the parameter below.
ParametersString[]Use this parameter to pass the UUID of the dashboard tab that is to be deleted, instead of using the parameter above.

 

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 whose dashboard tab is to be deleted. 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:

<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>DELETETAB</function>
            <person>
                <userId>admin@yellowfin.com.au</userId>              
            </person>
            <dashboardTabId>61243</dashboardTabId>
         </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

 

 

Response Example

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

<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>Web Service Request Complete</messages>
            <sessionId>df716bf8bf6d71bd586da445e02b348e</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:

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

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

    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the report:

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

    rsr.setDashboardTabId(71081);



  • Or pass the dashboard tab or sub tab UUID:

    rsr.setParameters(new String[] {"0ac13905-aa14-4887-9718-44c29b11311b"});



  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain StatusCode parameter.

 

 

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

 

<%            
/*              ws_deletedashboard.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("DELETETAB");
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);

// pass the dashboard tab/subtab Id:
//rsr.setDashboardTabtId(71081);

// or dashboard tab/subtab UUID:
rsr.setParameters(new String[] {"0ac13905-aa14-4887-9718-44c29b11311b"});


AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("<br>Dashboard tab has been deleted.");
} else {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

 

 

Other Object Manipulation

The web service calls below are used to manipulate different types of objects, including reports, dashboard, views, etc.

This web service call returns a specific user's favourite items, including reports, storyboards, views, dashboards, distributed content, discussions or comments flagged by them.

 

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

FavouritePersonFavouriteThis object is used to specify the favourite items are to be fetched. The user must be specified here, however other parameters are optional. See table below for more details.
RetrospectiveDaysIntegerThis is an optional parameter.

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

PersonFavourite Element

Data Type

Description

PersonId

Integer

Mandatory parameter. The Yellowfin internal ID (or IP ID) of a user whose favourite items you want to manipulate. This value should correspond with the Person.IpId field of Yellowfin's database, or retrieved by using AdministrationPerson.getIpId().

ContentTypeString

This optional parameter can be set to filter the result by a specific content type. Values could include:

  • REPORT
  • REPORTGROUP
  • DISCUSSIONGROUP
  • REPORTVIEW
  • STORYBOARD
  • IMAGE
ContentIdIntegerThis optional parameter can be used to restrict the result to a specific content by providing its internal ID, such as a report, dashboard, storyboard, etc.
FavouriteTypeStringOptional. Use this to specify the favourite type.

 

 

Request Example

Below is a SOAP XML example for this request:

 <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>LISTPERSONFAVOURITES</function>
            <favourite>
            	<personId>5</personId>
            </favourite>     
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain the following parameter:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

Personfavourites

PersonFavourite[]

An array containing the user's favourite objects.

 

 

Response Example

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

 <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>Web Service Request Complete</messages>
            <personfavourites>
               <contentId>61209</contentId>
               <contentType>REPORTGROUP</contentType>
               <creationCode/>
               <creationDate>2017-06-26</creationDate>
               <creatorId>0</creatorId>
               <favouriteType>REPORTDASHBOARD</favouriteType>
               <message/>
               <personId>5</personId>
               <textEntityId>0</textEntityId>
            </personfavourites>
            <personfavourites>
               <contentId>61250</contentId>
               <contentType>REPORTGROUP</contentType>
               <creationCode/>
               <creationDate>2017-06-26</creationDate>
               <creatorId>0</creatorId>
               <favouriteType>REPORTDASHBOARD</favouriteType>
               <message/>
               <personId>5</personId>
               <textEntityId>0</textEntityId>
            </personfavourites>
            <sessionId>09123071f17afb11be74ca07a6d25aef</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("LISTPERSONFAVOURITES");
  • Identify a user by using a PersonFavourite object:

    PersonFavourite pf = new PersonFavourite();
    pf.setPersonId(13073);
  • The following steps are optional, and can be included to filter the response of this call.

    • To retrieve the user's favourite reports:

      pf.setContentType("REPORT");    	
      pf.setFavouriteType("FAVOURITE");



    • To retrieve all of the user's dashboard:

      pf.setContentType("REPORTGROUP");
      pf.setFavouriteType("REPORTDASHBOARD");



    • To retrieve reports and dashboards distributed to the user:

      pf.setContentType("REPORTGROUP"); 			// use this for dashboards, or pf.setContentType("REPORT") to get distributed reports
      pf.setFavouriteType("INBOX");



    • To retrieve discussions that the user is a member of:

      pf.setContentType("DISCUSSIONGROUP");
      pf.setFavouriteType("DISCUSSIONMEMBER");



    • To retrieve user's favourite views:

      pf.setContentType("REPORTVIEW");



    • To retrieve user's favourite storyboards:

      pf.setContentType("STORYBOARD");
      pf.setFavouriteType("FAVOURITE");



    • To get user's profile image:

      pf.setContentType("IMAGE");
      pf.setFavouriteType("PROFILE");



    • To retrieve report comments flagged by the user:

      pf.setContentType("COMMENT");
      pf.setFavouriteType("FLAGGED");



  • Add this object to the request:

    rsr.setFavourite(pf);



  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain the StatusCode and PersonFavourites parameters. See the Response Parameter table above for details on this.

     

 

 

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

 

<%        	
/*          	ws_listpersonfavourites.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 webservices admin account
rsr.setPassword("test");                                                    	// change to be the password of the account above
rsr.setOrgId(1);
rsr.setFunction("LISTPERSONFAVOURITES");
 
PersonFavourite pf = new PersonFavourite();
pf.setPersonId(13073);
pf.setContentType("REPORT");
 
rsr.setFavourite(pf);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
           out.write("<br>Success");
           if (rs.getPersonfavourites() != null)
           for (PersonFavourite f: pf){
                out.write("<br><br>contentId: " + f.getContentId());
            	out.write("<br>ContentType: " + f.getContentType());
            	out.write("<br>CreationCode: " + f.getCreationCode());
   	     		out.write("<br>CreationDate: " + f.getCreationDate());
           		out.write("<br>CreatorId: " + f.getCreatorId());
            	out.write("<br>FavouriteType: " + f.getFavouriteType());
        		out.write("<br>Message: " + f.getMessage());
     	    	out.write("<br>PersonId: " + f.getPersonId());
            	out.write("<br>textEntityId: " + f.getTextEntityId());
           }
} else {
            out.write("Failure");
            out.write(" Code: " + rs.getErrorCode());
}
%>


 


 

This web service call adds an item to a user's favourite list, such as a report, storyboard, view, etc. It also allows a dashboard tab to be added to a user's dashboard, and even flag a comment for a 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 "SAVEPERSONFAVOURITE".

FavouritePersonFavouriteThis object is used to specify the items to be marked as a user's favourite. The user is also specified here. See the table below for more details.

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

PersonFavourite Element

Data Type

Description

PersonId

Integer

A mandatory parameter to identify the user with their internal ID (that is, the IP ID). This value should correspond with the Person.IpId field of Yellowfin's database, or retrieved by using AdministrationPerson.getIpId(). The items selected will be added as this user's favourite.

ContentTypeString

This mandatory parameter is used to specify the content type of the item to be added as favourite. Possible values include:

  • REPORT
  • REPORTGROUP
  • DISCUSSIONGROUP
  • REPORTVIEW
  • STORYBOARD
  • IMAGE
ContentIdIntegerThis mandatory parameter is used to define the item (such as a report, dashboard, storyboard, etc.) that is to be marked as the user's favourite by providing its internal ID.
FavouriteTypeStringOptional. To specify the favourite type. 
CreationCodeString 
TextEntityIdInteger

This parameter is required if a comment is to be flagged.

 

 

Request Example

Below is a SOAP XML example for this request:

<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>SAVEPERSONFAVOURITE</function>
            <favourite>
            	<personId>13000</personId>
            	<contentType>REPORTGROUP</contentType>
            	<contentId>61209</contentId>
            </favourite>     
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain the following parameter:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

 

 

Response Example

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

<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>Web Service Request Complete</messages>
            <sessionId>6eb0b81605d3b355cf4a43ae608ab274</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("SAVEPERSONFAVOURITE");
  • Identify a user throught the PersonFavourite object:

    PersonFavourite pf = new PersonFavourite();
    pf.setPersonId(13073);
  • Specify the contents that are to be marked as favourite in this object:

    pf.setContentId(61252);
    pf.setContentType("REPORTVIEW");



  • Add this object to the request:

    rsr.setFavourite(pf);



  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain the StatusCode parameter. See the Response Parameter table above for details on this.

     

 

 

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

 

<%        	
/*          	ws_savepersonfavourite.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 account above
rsr.setOrgId(1);
rsr.setFunction("SAVEPERSONFAVOURITE");
 
PersonFavourite pf = new PersonFavourite();
pf.setPersonId(13073);
pf.setContentId(61252);
pf.setContentType("REPORTVIEW");
 
rsr.setFavourite(pf);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
              	
} else {
              	out.write("Failure");
              	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This web service call removes an item or object from a specific user's favourite list, such as a report, storyboard, view, etc. It also allows a dashboard tab to be removed from a user's dashboard, and even unflag a comment flagged by a 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 "REMOVEPERSONFAVOURITE".

FavouritePersonFavouriteThis object is used to specify the items to be removed as a user's favourite. The user is also specified here. See the table below for more details.

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

PersonFavourite Element

Data Type

Description

PersonId

Integer

A mandatory parameter to identify the user with their internal ID (that is, the IP ID). This value should correspond with the Person.IpId field of Yellowfin's database, or retrieved by using AdministrationPerson.getIpId(). The items selected will be removed as this user's favourite.

ContentTypeString

This mandatory parameter is used to specify the content type of the item to be removed as favourite. Possible values include:

  • REPORT
  • REPORTGROUP
  • DISCUSSIONGROUP
  • REPORTVIEW
  • STORYBOARD
  • IMAGE
ContentIdIntegerThis mandatory parameter is used to define the item that is to be marked as the user's favourite by providing its internal ID.
FavouriteTypeStringThis is required to remove reports or dashboards as the user's favourite.
CreationCodeString 
TextEntityIdInteger

This parameter is required if a comment is to be unflagged.

 

 

Request Example

Below is a SOAP XML example for this request:

<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>REMOVEPERSONFAVOURITE</function>
            <favourite>
            	<personId>13000</personId>
            	<contentType>REPORTGROUP</contentType>
            	<contentId>61209</contentId>
            </favourite>     
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain the following parameter:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

 

 

Response Example

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

<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>Web Service Request Complete</messages>
            <sessionId>0cc3673ed857e1e28fb0e326b8f3b24e</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:

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

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("REMOVEPERSONFAVOURITE");
  • Identify a user throught the PersonFavourite object:

    PersonFavourite pf = new PersonFavourite();
    pf.setPersonId(13073);
  • Specify the objects that are to be removed as favourites in this object:

    pf.setContentId(61252);
    pf.setContentType("REPORTVIEW");



  • Add this object to the request:

    rsr.setFavourite(pf);



  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • The response will contain the StatusCode parameter. See the Response Parameter table above for details on this.

     

 

 

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

 

<%        	
/*          	ws_removepersonfavourite.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 account above
rsr.setOrgId(1);
rsr.setFunction("REMOVEPERSONFAVOURITE");
 
PersonFavourite pf = new PersonFavourite();
pf.setPersonId(13073);
pf.setContentId(70270);
pf.setContentType("REPORTVIEW");
 
rsr.setFavourite(pf);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("<br>Success");              	
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This function fetches the internal ID of Yellowfin content by passing the UUID. The type of content that it can be used for includes, Views, Reports, Dashboards, and Data Transformation.


Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An administrator account to connect to the Yellowfin web services. This can either 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 "GETIDFORUUID".

ParametersString[]

Array of string values. The first string must contain the UUID. You can use the second parameter to specify the type of content. The following content types are supported:

  • VIEW
  • REPORT
  • DASHBOARD
  • ETLPROCESS (For a data transformation flow.)

 

Request Example

Below is a SOAP XML example for this request:

<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>GETIDFORUUID</function>
            <parameters>594d4da4-1b58-44d3-bf4f-11456a42f68c</parameters>
            <parameters>report</parameters>      
         </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
EntityIdIntegerThe internal ID of the specified content.

 

Response Example

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

 

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <entityId>56401</entityId>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
            <sessionId>806c38d4e47a8d7d4ccaff1360602693</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:

  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");      	
    rsr.setPassword("test");           
    rsr.setOrgId(1);
    rsr.setFunction("GETIDFORUUID");
  • Pass the UUID and type of the Yellowfin content whose ID is required.

    rsr.setParameters(new String[]{"fb6416c4-441e-42b3-a442-e7426f25f6b4","VIEW"});



  • Once the request is configured, simply perform the call to test the server:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

  • Add the following code to retrieve the response. If successful, display the entity ID (that is the ID of the content).

    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  	out.write("<br>Success");
                  	out.write("<br>ID: " + rs.getEntityId());
                  	}
                  	else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
                  	}            

 

 

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_idforuuid.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_idforuuid.jsp from your Internet browser.

 

<%        	
/*          	ws_idforuuid.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 account above
rsr.setOrgId(1);
rsr.setFunction("GETIDFORUUID");
 
rsr.setParameters(new String[]{"fb6416c4-441e-42b3-a442-e7426f25f6b4","VIEW"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
              	out.write("<br>ID: " + rs.getEntityId());
              	}
              	else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());
              	}             	
%>

 


 

 

  • No labels