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

Error rendering macro 'rw-search'

null

Versions Compared

Key

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

...

Expand
titleGETUSERDRAFTPARENTTABS

Use this call to retrieve metadata of only parent tabs from draft dashboards, that is, 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 metadate metadata of these dashboard's reports. For 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.

 

Anchor
getusertabapgetdraftparentapgetusertabap
getdraftparentap

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

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user who the dashboard tab belongs to. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

Code Block
languagexml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>GETUSERDRAFTTABS<<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’ metadataparent tab.

 

 

Response Example

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

Code Block
languagexml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Getting user information...</messages>
            <messages>Getting user information...</messages>
            <messages>Web Service Request Complete</messages>
            <person>
               <emailAddress>admin@yellowfin.com.au</emailAddress>
               <firstName>System</firstName>
               <initial/>
               <ipId>5</ipId>
               <languageCode>EN</languageCode>
               <lastName>Administrator</lastName>
               <roleCode>YFADMIN</roleCode>
               <salutationCode/>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
               <userId>admin@yellowfin.com.au</userId>
            </person>
            <reports><reportGroups>
               <authoringMode>JAVA</authoringMode><publishUUID>e7409ff2-f846-44e1-a603-b78ec51b20b9</publishUUID>
               <averageRunTime>0<<reportGroupId>61250</averageRunTime>reportGroupId>
               <birtData/>
               <chartTypeCode/><reportGroupName>Sales Performance</reportGroupName>
               <dashboardEnabled>true<<reportGroupStatus>OPEN</dashboardEnabled>reportGroupStatus>
               <dataOutput>COLUMN<<reportGroupType>ANALYTIC</dataOutput>reportGroupType>
               <deliveryMode/></reportGroups>
               <executionObject/><reportGroups>
               <lastModifiedDate>2018-02-16T00:00:00+11:00</lastModifiedDate><publishUUID>1e68d9cc-fa5a-44e2-816d-782aa40ceeae</publishUUID>
               <lastModifierId>5<<reportGroupId>61209</lastModifierId>reportGroupId>
               <lastModifierName>System<reportGroupName>Campaign Administrator<Analysis</lastModifierName>reportGroupName>
               <reportCategory>Audit Reports<<reportGroupStatus>OPEN</reportCategory>reportGroupStatus>
               <reportDescription>Ski Team, 16/2/2018 12:09 PM</reportDescription><reportGroupType>ANALYTIC</reportGroupType>
               <reportId>70079</reportId></reportGroups>
               <reportName>Draft Report</reportName><sessionId>bcca7768fd5b49e3358b7fb48489f117</sessionId>
               <reportSubCategory>Admin Reports</reportSubCategory><statusCode>SUCCESS</statusCode>
         </return>
      <reportTemplate>REPORT<</reportTemplate>ns2:remoteAdministrationCallResponse>
               <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>
 </S:Body>
</S:Envelope>

 

 

Instructions

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

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

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

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



  • Specify the user for whom to retrieve the dashboard:

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

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

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

 

  • The response returned will contain these parameters:

    Response Element

    Data Type

    Description

    StatusCode

    String

    Status of the web service call. Possible values include:

    • SUCCESS
    • FAILURE

    ReportGroups

    AdministrationReportGroup[]

    An array containing 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.

 

Code Block
languagexml
themeEclipse
<%              <averageRunTime>0</averageRunTime>

/*               <birtData/>
ws_getdraftparenttabs.jsp               <chartTypeCode*/>
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page   <dashboardEnabled>true</dashboardEnabled>
         import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);      <dataOutput>COLUMN</dataOutput>
  // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr =  <deliveryMode/>
new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web <executionObject/>
services admin account
rsr.setPassword("test");             <lastModifiedDate>2018-02-19T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5<//lastModifierId>
 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());
}
%>

 


 

Expand
titleGETUSERTABSWITHREPORTS

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

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

 

Returns all published dashboards’ metadata for a user along with all the dashboard report's metadata. GETUSERTABS service treats dashboard sub tabs as separate tabs so that if there is a dashboard with 2 sub tabs, GETUSERTABS call retrieves 2 AdministrationReportGroup objects for the dashboard. To get the parent dashboard metadata, do GETUSERPARENTTABSWITHREPORTS 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 "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.

 

Anchor
getuserap
getuserap

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:

Code Block
languagexml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>   <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><arg0>
               <reportUUID>2fe4814b-98da-4c35-ab65-43c0916449fa</reportUUID>
  		  <loginId>admin@yellowfin.com.au</loginId>
             <roleCode>OPERATIONAL<<password>test</roleCode>password>
               <sourceName/><orgId>1</orgId>
               <usage>40</usage><function>GETUSERREPORT</function>
            <reportId>56401</reportId>   <viewDescription>Ski Team</viewDescription>
   
            <viewId>70103</viewId><person>
               <viewName>New View</viewName>
<userId>admin@yellowfin.com.au</userId>              </reports>
            </person> <reports>
      
         <authoringMode>JAVA<</authoringMode>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:

Code Block
languagejava
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"       <averageRunTime>0</averageRunTime>
               <birtData/>
   <S:Body>
            <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput><ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
               <deliveryMode/><return>
               <executionObject/><errorCode>0</errorCode>
            <messages>Successfully Authenticated  <lastModifiedDate>2018-02-20T00:00:00+11:00</lastModifiedDate>User: admin@yellowfin.com.au</messages>
            <messages>Getting   <lastModifierId>5</lastModifierId>
        user information...</messages>
       <lastModifierName>System Administrator</lastModifierName>
       <messages>Getting user information...</messages>
      <reportCategory>Audit Reports</reportCategory>
     <messages>Web Service Request Complete</messages>
       <reportDescription>Ski  Team, 20/2/2018 10:56 AM</reportDescription> <person>
               <reportId>70299</reportId><emailAddress>admin@yellowfin.com.au</emailAddress>
               <reportName>Draft Report<<firstName>System</reportName>firstName>
               <reportSubCategory>Admin Reports<<initial/reportSubCategory>>
               <reportTemplate>REPORTANDCHART<<ipId>5</reportTemplate>ipId>
               <reportUUID>1180e1db-a01c-478e-9d32-55276000abcc</reportUUID><languageCode>EN</languageCode>
               <roleCode>OPERATIONAL<<lastName>Administrator</roleCode>lastName>
               <sourceName<roleCode>YFADMIN</>roleCode>
               <usage>100<<salutationCode/usage>>
               <viewDescription>Ski Team<<status>ACTIVE</viewDescription>status>
               <viewId>70103<<timeZoneCode>AUSTRALIA/SYDNEY</viewId>timeZoneCode>
               <viewName>New View</viewName><userId>admin@yellowfin.com.au</userId>
            </reports>person>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018<lastModifiedDate>2016-0203-22T0029T00: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>Ski Team, 22/2/2018 5:19 PM</reportDescription><reportDescription/>
               <reportId>70336<<reportId>56401</reportId>
               <reportName>Draft<reportName>Active Report<Sessions</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT<<reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>52da336a<reportUUID>594d4da4-b35b1b58-42a644d3-be64bf4f-8e53d598fbe4<11456a42f68c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0<<usage>4</usage>
               <viewDescription>Yellowfin <viewDescription>SkiUsage Team<Audit</viewDescription>
               <viewId>70103<<viewId>56169</viewId>
               <viewName>New<viewName>NEW View<VIEW</viewName>
            </reports>
            <sessionId>da91fe1685c8cb4496d8c8374c57035b<<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:

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

    Code Block
    languagejava
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERDRAFTTABSGETUSERREPORT");
    You may even identify a specific client organization:
    language
    Code Block
    java
    rsr.setOrgRef("org1");
  • Specify the user who dashboard tab belongs tofor whom to retrieve the report:

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

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

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

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

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

 

  • The response returned will contain these parameters:

    An array containing the draft dashboards’ metadata.

    Response Element

    Data Type

    Description

    StatusCode

    String

    Status of the web service call. Possible values include:

    • SUCCESS
    • FAILURE

    ReportGroups

    AdministrationReportGroup[]

    :

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

    Code Block
    languagejava
    AdministrationReport[] rpts = rs.getReports();
    AdministrationReport report = rpts[0]; 			// getting the metadata of the first report
    

 

 

 

Complete Example

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

  1. Copy the code and save it as ws_ getdrafttabsgetuserreport.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_ getdrafttabsgetuserreport.jsp from your Internet browser.

 

Code Block
languagexml
themeEclipse
<%            
/*              ws_getdrafttabsgetuserreport.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("GETUSERDRAFTTABSGETUSERREPORT");
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>" + rs.getReportGroups().length + " tabs retrieved");

	// get the tabreport details:
	AdministrationReportGroupAdministrationReport[] tabsrpts = rs.getReportGroupsgetReports();

	for (AdministrationReportGroupAdministrationReport tabr: tabsrpts){
		out.write("<br><br>Dashboard<br>Report Name: " + tabr.getReportGroupNamegetReportName());
		out.write("<br>UUID<br>Description: " + tabr.getPublishUUIDgetReportDescription());
		out.write("<br>Id<br>Category: " + tabr.getReportGroupIdgetReportCategory());
		out.write("<br>Status<br>Subcategory: " + tabr.getReportGroupStatusgetReportSubCategory());
		out.write("<br>InternalReference: " + tab.getReportGroupInternalReference());
}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>