The web service calls categorized in this section are related to exporting and importing content. The web service API is currently limited to exporting or importing the following types of content:
- Report
- Report category
- Report subcategory
- Data source
- View
- Dashboard
- Transformation flow
Web service calls related to exporting content involve an object called ContentResource. (Refer to the object definitions for more details on this object.) In order to import content using a web service, you would need a YFX or XML file. This is retrieved by calling the EXPORTCONTENT function, or using Yellowfin's export functionality. Note, however, that a file generated via this functionality will contain more content types, than those currently supported by the web service API.
This function returns all Yellowfin content that can be exported or imported.
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 "GETCONTENT". |
OrgRef | String | This optional parameter can be used to specify a client org. ID |
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>GETCONTENT</function> </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:
|
ContentResources | ContentResource[] | Object array containing details of Yellowfin's content that can be exported. |
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> <contentResources> <resourceCode>AUDITREPORTS</resourceCode> <resourceDescription>Audit Reports</resourceDescription> <resourceId>56339</resourceId> <resourceName>Audit Reports</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTCATEGORY</resourceType> <resourceUUID>a6bdc6b5-a832-42a2-98c7-18273900d0aa</resourceUUID> </contentResources> <contentResources> <resourceCode>ADMINREPORTS</resourceCode> <resourceDescription>Admin Reports</resourceDescription> <resourceId>56340</resourceId> <resourceName>Admin Reports</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>f7fb32b7-1573-4899-916f-c34afb9a865d</resourceUUID> </contentResources> <contentResources> <resourceCode>CONTENTUSAGE</resourceCode> <resourceDescription>Content Usage</resourceDescription> <resourceId>56341</resourceId> <resourceName>Content Usage</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>6bae5230-c1f9-4491-8a8b-f14b1ae660d7</resourceUUID> </contentResources> <contentResources> <resourceCode>USERACCESS</resourceCode> <resourceDescription>User Access</resourceDescription> <resourceId>56342</resourceId> <resourceName>User Access</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>0c7ddde4-fa03-4e88-b37b-7b5e4aad5e1d</resourceUUID> </contentResources> <contentResources> <resourceCode>TUTORIAL</resourceCode> <resourceDescription>Tutorial</resourceDescription> <resourceId>60706</resourceId> <resourceName>Tutorial</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTCATEGORY</resourceType> <resourceUUID>a23c2ec6-a2fa-45c7-b5da-dcf3f02e6633</resourceUUID> </contentResources> <contentResources> <resourceCode>ATHLETES</resourceCode> <resourceDescription>Athletes</resourceDescription> <resourceId>60707</resourceId> <resourceName>Athletes</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>72e4b4bd-a482-4a01-a031-c6ab76dbb3a5</resourceUUID> </contentResources> <contentResources> <resourceCode>CAMP</resourceCode> <resourceDescription>Camp</resourceDescription> <resourceId>60708</resourceId> <resourceName>Camp</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>465411e5-594b-478e-af64-c0f59fc4546f</resourceUUID> </contentResources> <contentResources> <resourceCode>KPIS</resourceCode> <resourceDescription>KPIs</resourceDescription> <resourceId>60709</resourceId> <resourceName>KPIs</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>d514c643-dc01-4781-8905-d34e761ccd19</resourceUUID> </contentResources> <contentResources> <resourceCode>MARKETINGBOOKING</resourceCode> <resourceDescription>Marketing & Booking</resourceDescription> <resourceId>60710</resourceId> <resourceName>Marketing & Booking</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>dbe6d0a3-c088-4d71-b65a-f383aaa54be9</resourceUUID> </contentResources> <contentResources> <resourceCode>TRAINING</resourceCode> <resourceDescription>Training</resourceDescription> <resourceId>60711</resourceId> <resourceName>Training</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>c503ea57-cc69-43a9-98bc-a90ebbe1c864</resourceUUID> </contentResources> <contentResources> <resourceDescription/> <resourceId>70101</resourceId> <resourceName>Oracle database</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>DATASOURCE</resourceType> </contentResources> <contentResources> <resourceDescription/> <resourceId>70109</resourceId> <resourceName>Oracle</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>DATASOURCE</resourceType> </contentResources> <contentResources> <resourceDescription>Ski Team is the demonstration and tutorial database.</resourceDescription> <resourceId>54700</resourceId> <resourceName>Ski Team</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>DATASOURCE</resourceType> </contentResources> <contentResources> <resourceDescription/> <resourceId>54701</resourceId> <resourceName>Yellowfin Configuration Database</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>DATASOURCE</resourceType> </contentResources> <contentResources> <resourceDescription/> <resourceId>70108</resourceId> <resourceName>c</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>DATASOURCE</resourceType> </contentResources> <contentResources> <resourceDescription/> <resourceId>70110</resourceId> <resourceName>f</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>DATASOURCE</resourceType> </contentResources> <contentResources> <resourceDescription>This is a tutorial view for training and demo purposes.</resourceDescription> <resourceId>60543</resourceId> <resourceName>Ski Team</resourceName> <resourceType>VIEW</resourceType> <resourceUUID>e3632adb-5194-460c-a172-c085416f493f</resourceUUID> </contentResources> <contentResources> <resourceDescription>This view should be used to monitor usage of Yellowfin by User and Content Type.</resourceDescription> <resourceId>56169</resourceId> <resourceName>Yellowfin Usage Audit</resourceName> <resourceType>VIEW</resourceType> <resourceUUID>fb6416c4-441e-42b3-a442-e7426f25f6b4</resourceUUID> </contentResources> <contentResources> <resourceDescription>This dashboard contains a set of reports covering general system and admin information, including performance, sessions, data source & view usage.</resourceDescription> <resourceId>57438</resourceId> <resourceName>Admin</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>GROUP</resourceType> <resourceUUID>33827292-cda6-4071-965f-730ccbc53519</resourceUUID> </contentResources> <contentResources> <resourceDescription>This is an analytic tab that is used to understand examine metrics split by various demographics and filters.</resourceDescription> <resourceId>61195</resourceId> <resourceName>Analysis</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>GROUP</resourceType> <resourceUUID>f19e63f5-7175-4c57-897d-ed865aba8972</resourceUUID> </contentResources> </contentResources> <errorCode>0</errorCode> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>92029c8ae4f1db0f33bf0b7370c1088a</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:
rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("GETCONTENT");
You may even identify a specific client 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 will contain the following elements: StatusCode and ContentResource. (See details in the Response Parameters table above.)
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ getcontent.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user details according to your environment.
- Run http://<host>:<port>/ws_ getcontent.jsp from your Internet browser.
<% /* ws_getcontent.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("GETCONTENT"); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); ContentResource[] crs = rs.getContentResources(); out.write("<table>"); out.write("<tr><td> id </td><td> type </td><td> UUID </td></tr>"); for (ContentResource c: crs) { out.write("<tr>"); out.write("<td>" + c.getResourceId() + "</td><td>" + c.getResourceType() + "</td><td>" + c.getResourceUUID() + "</td>"); out.write("</tr>"); } } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
This function returns all the dependencies of a specific content. The ContentResource object is used to specify the content with the help of the resource ID (which can be retrieved using the GETCONTENT call). For instance if a report is the defined content type, then the response will display its dependencies, such as the report category, sub category, data source, view, etc.
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 "GETEXPORTDEPENDENCIES". |
OrgRef | String | This optional parameter can be used to specify a client org. ID. |
ContentResources | ContentResource | Object containing metadata of the content whose dependencies are to be retrieved. See table below. |
The following parameters are specified in the ContentResource object to call this function:
ContentResource Element | Data Type | Description |
---|---|---|
ResourceID | Integer | Mandatory parameter to provide internal ID of the content. |
ResourceType | String | Mandatory parameter to specify the content type. Could be one of:
|
ResourceUUID | String | This optional parameter can be used to provide the UUID of the content. |
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>GETEXPORTDEPENDENCIES</function> <contentResources> <resourceId>56169</resourceId> <resourceType>VIEW</resourceType> </contentResources> </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:
|
ContentResources | ContentResource[] | Object array containing metadata of the specified artifact's dependencies. |
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> <contentResources> <resourceDescription/> <resourceId>54701</resourceId> <resourceName>Yellowfin Configuration Database</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>DATASOURCE</resourceType> </contentResources> <errorCode>0</errorCode> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>97d7f893d787daf2806a13cdfa6f09d3</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:
rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("GETEXPORTDEPENDENCIES");
You may even identify a specific client organization:
rsr.setOrgRef("org1");
Using a ContentResource object, specify details of the content whose dependencies are to be retrieved:
ContentResource[] cr = new ContentResource[1]; cr[0] = new ContentResource(); cr[0].setResourceId(70307); cr[0].setResourceType("GROUP"); cr[0].setResourceOrgId(1);
Then set this object in the request:
rsr.setContentResources(cr);
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 following elements: StatusCode and ContentResource. (See details in the Response Parameters table above.)
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ getexportdependencies.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user details according to your environment.
- Run http://<host>:<port>/ws_ getexportdependencies.jsp from your Internet browser.
<% /* ws_GETEXPORTDEPENDENCIES.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.*" %> <%@ page import="java.nio.file.Files" %> <%@ page import="java.io.PrintWriter" %> <% 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"); // set to the password of the account above rsr.setOrgId(1); rsr.setFunction("GETEXPORTDEPENDENCIES"); ContentResource[] cr = new ContentResource[1]; cr[0] = new ContentResource(); cr[0].setResourceId(70307); cr[0].setResourceType("GROUP"); cr[0].setResourceOrgId(1); rsr.setContentResources(cr); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); ContentResource[] crs = rs.getContentResources(); out.write("<table>"); out.write("<tr><td> id </td><td> type </td><td> UUID </td></tr>"); for (ContentResource c: crs) { out.write("<tr>"); out.write("<td>" + c.getResourceId() + "</td><td>" + c.getResourceType() + "</td><td>" + c.getResourceUUID() + "</td>"); out.write("</tr>"); } } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
This function returns all the dependencies of a specific content. The ContentResource object is used to specify the content with the help of the resource ID (which can be retrieved using the GETCONTENT call). For instance if a report is the defined content type, then the response will display its dependencies, such as the report category, sub category, data source, view, etc.
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 "GETEXPORTDEPENDENCIES". |
OrgRef | String | This optional parameter can be used to specify a client org. ID. |
ContentResources | ContentResource | Object containing metadata of the content whose dependencies are to be retrieved. See table below. |
The following parameters are specified in the ContentResource object to call this function:
ContentResource Element | Data Type | Description |
---|---|---|
ResourceID
| Integer | Mandatory parameter to provide internal ID of the content. |
ResourceType | String | Mandatory parameter to specify the content type. Could be one of:
|
ResourceUUID | String | This optional parameter can be used to provide the UUID of the content. |
Request Example
Below is a SOAP XML example for this request:
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:
|
ContentResources | ContentResource[] | Object array containing details of Yellowfin's content that can be exported. |
Response Example
The service will return the below response, according to our SOAP example:
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:
rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("GETCONTENT");
You may even identify a specific client 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 will contain the following elements: StatusCode and ContentResource. (See details in the Response Parameters table above.)
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ getcontent.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user details according to your environment.
- Run http://<host>:<port>/ws_ getcontent.jsp from your Internet browser.
This function returns all the dependencies of a specific content. The ContentResource object is used to specify the content with the help of the resource ID (which can be retrieved using the GETCONTENT call). For instance if a report is the defined content type, then the response will display its dependencies, such as the report category, sub category, data source, view, etc.
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 "GETEXPORTDEPENDENCIES". |
OrgRef | String | This optional parameter can be used to specify a client org. ID. |
ContentResources | ContentResource | Object containing metadata of the content whose dependencies are to be retrieved. See table below. |
The following parameters are specified in the ContentResource object to call this function:
ContentResource Element | Data Type | Description |
---|---|---|
ResourceID
| Integer | Mandatory parameter to provide internal ID of the content. |
ResourceType | String | Mandatory parameter to specify the content type. Could be one of:
|
ResourceUUID | String | This optional parameter can be used to provide the UUID of the content. |
Request Example
Below is a SOAP XML example for this request:
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:
|
ContentResources | ContentResource[] | Object array containing details of Yellowfin's content that can be exported. |
Response Example
The service will return the below response, according to our SOAP example:
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:
rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("GETCONTENT");
You may even identify a specific client 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 will contain the following elements: StatusCode and ContentResource. (See details in the Response Parameters table above.)
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ getcontent.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user details according to your environment.
- Run http://<host>:<port>/ws_ getcontent.jsp from your Internet browser.
Tips & Tricks
- The basic function for exporting is GETCONTENT that returns content details in the ContentResource object, which can further be used with other web service calls to import, export or validate content.
- Instead of searching for dependencies manually, use the GETEXPORTDEPENDENCIES to get a list of dependencies, and then pass them to another call.
- To retrieve a Yellowfin XML file, create an array of ContentResource objects and call the EXPORTCONTENT. You can proceed to import this file in another Yellowfin environment as well.
Limitations
Currently the a few types of content cannot be imported via web services: images, themes, storyboards, users and user groups.