Page History
...
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function creates a new role and/or updates a role's functions. The request must contain an AdministrationRole object to specify the role details, and an array of AdministrationFunction for the role. Whether this function is used to update a role, or create a new one, it should be noted that every Yellowfin role requires a mandatory function, Report Access (function code: MIREPORT). MIREPORT access level code must be at least R (read). Each time this function is called, the security functions will be overwritten.
Request ElementsThe following elements will be passed with this request:
These are the main parameters that you need to set in the AdministrationRole object to create a new Yellowfin role:
The following SOAP example shows the parameters that you can pass to this call:
Response ElementsThe response returned will contain these parameters:
These are the main parameters that you need to set in the AdministrationFunction object:
The service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example: Expand | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
To specify the code of a security function. For example, to include the function Report Access, specify it with its code MIREPORT. | ||
AccessLevelCode | String | The access level of the function. For example, R means read. |
The following SOAP example shows the parameters that you can pass to this call
Displayed below is a basic request for this function:
Code Block | |||
---|---|---|---|
| java
| ||
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("SAVEROLE"); |
Code Block | ||
---|---|---|
| ||
AdministrationRole role = new AdministrationRole();
|
Role Code is mandatory if you want to modify an existing role:
Code Block | ||
---|---|---|
| ||
role.setRoleCode("NEWROLE"); // If you want to create a new role, comment this out. |
If you do not specify the Role Code, the call will create a new role even if another role with the same name already exists.
Tip |
---|
You can get the role codes from Yellowfin's database OrgRole table. (Usually, it is based on role name with all letters capitalized and with no space between them.) |
Role Name is mandatory even when modifying an existing role, otherwise the call will set the role name to blank:
Code Block | ||
---|---|---|
| ||
role.setRoleName("New Role");
role.setRoleDescription("testing");
|
Each time you call the SAVEROLE function, you need to provide a list of security functions. This call overwrites the role function. For instance, 2 functions will be assigned to the role: Report Access (mandatory) and Activity Stream (optional):
Code Block | ||
---|---|---|
| ||
AdministrationFunction[] f = new AdministrationFunction[1];
f[0] = new AdministrationFunction();
f[0].setFunctionCode("MIREPORT");
f[0].setAccessLevelCode("R");
f[1] = new AdministrationFunction();
f[1].setFunctionCode("ACTIVITYSTREAM");
f[1].setAccessLevelCode("CRUD"); |
Note |
---|
You cannot omit security functions; the call will generate an error otherwise. Click here for all available security function options. |
Then feed the security functions to the role:
Code Block | ||
---|---|---|
| ||
role.setFunctions(f);
rsr.setRole(role);
|
Code Block | ||
---|---|---|
| ||
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
|
Initialize the Administration web service. Click here to learn how to do this.
The response returned will contain
<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>SAVEROLE</function>
<role>
<roleCode>REPORTWRITER</roleCode>
<roleName>Report Content Writer</roleName>
<roleDescription>This role can generate reports.</roleDescription>
<functions>
<functionCode>MIREPORT</functionCode>
<accessLevelCode>R</accessLevelCode>
</functions>
</role>
</arg0>
</web:remoteAdministrationCall>
</soapenv:Body>
</soapenv:Envelope>
Response Elements
The response returned will contain these parameters:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Complete Example
Below is a full example of the SAVEROLE function. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_saverole.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust host, port, admin user details according to your environment.
- Run http://<host>:<port>/ws_saverole.jsp from your Internet browser.
The service will return the below response, according to our SOAP example:
Code Block | ||
---|---|---|
| ||
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
| ||
Code Block | ||
| ||
<% <errorCode>0</errorCode> /* <messages>Successfully ws_saverole.jspAuthenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request *Complete</messages> %> <%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ page import="com.hof.util.*, java.util.*, java.text.*" %> <roles> <%@ page import="com.hof.web.form.*" %> <%@ page import="com.hof.mi.web.service.*" %> <% AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false); <functions> // adjust host and port number AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService(); AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); <accessLevelCode>R</accessLevelCode> // provide your Yellowfin web<functionCode>MIREPORT</functionCode> services admin account rsr.setPassword("test"); </functions> <roleCode>REPORTCONTENTWRITER<//roleCode> change to the password of the account above rsr.setOrgId(1); rsr.setFunction("SAVEROLE"); //define a role: AdministrationRole<roleDescription>This role =can new AdministrationRole(); role.setRoleCode("NEWROLE"); role.setRoleName("New Role"); role.setRoleDescription("testing"); AdministrationFunction[] f = new AdministrationFunction[2]; f[0] = new AdministrationFunction(); f[0].setFunctionCode("MIREPORT");generate reports.</roleDescription> <roleName>Report Content Writer</roleName> // mandatory f[0].setAccessLevelCode("R"); f[1] = new AdministrationFunction(); f[1].setFunctionCode("ACTIVITYSTREAM");</roles> <sessionId>ceaa85d0ca1eb6057dc4facb0a7a5aa9</sessionId> <statusCode>SUCCESS</statusCode> f[1].setAccessLevelCode("CRUD"); //Feed the security functions to the role: role.setFunctions(f); rsr.setRole(role); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("Success"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %> </return> </ns2:remoteAdministrationCallResponse> </S:Body> </S:Envelope> |
...
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example: |
...
This function deletes a user role, which is specified using the AdministrationRole object, by providing the Role Code.
| DELETEROLE |
Once the request is configured, perform the call:
Initialize the Administration web service. Click here to learn how to do this. The response returned will contain these parameters:
Complete Example Below is a full example of the SAVEROLE function. To use it for yourself, carry out the following the steps:
Complete ExampleBelow is a full example of the DELETEROLE function. To use it for yourself, carry out the following the steps:
|
...
Expand | ||
---|---|---|
| ||
The LISTGROUPS function returns all the groups available in Yellowfin. The response contains an array of AdministrationGroup objects representing available groups. For a list of groups belonging to a specific client, you can pass the Client Org reference ID in the call. Displayed below is a basic request for this function: Code Block | | |
|
f[0] = new AdministrationFunction(); f[0].setFunctionCode("MIREPORT"); // mandatory f[0].setAccessLevelCode("R"); f[1] = new AdministrationFunction(); f[1].setFunctionCode("ACTIVITYSTREAM"); f[1].setAccessLevelCode("CRUD"); //Feed the security functions to the role: role.setFunctions(f); rsr. |
setRole(role); |
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
|
if (" |
Include a Client Org ID to list groups specific to that client. (If not included, then the default (that is, the Primary Org) groups will be displayed).
Code Block | ||
---|---|---|
| ||
rsr.setOrgRef("org1");
|
Code Block | ||
---|---|---|
| ||
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:
|
Groups | AdministrationGroup[] | List of groups |
SUCCESS".equals(rs.getStatusCode()) ) {
out.write("Success");
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%>
|
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function deletes a user role, which is specified using the AdministrationRole object, by providing the Role Code.
Request ElementsThe following elements will be passed with this request:
These are the main parameters that you need to set in the AdministrationRole object to create a new Yellowfin role:
These are the main parameters that you need to set in the AdministrationFunction object:
The following SOAP example shows the parameters that you can pass to this call:
Response ElementsThe response returned will contain these parameters:
The service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a full example of the DELETEROLE function. To use it for yourself, carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The LISTGROUPS function returns all the groups available in Yellowfin. The response contains an array of AdministrationGroup objects representing available groups. For a list of groups belonging to a specific client, you can pass the Client Org reference ID in the call.
Request ElementsThe following elements will be passed with this request:
These are the main parameters that you need to set in the AdministrationRole object to create a new Yellowfin role:
These are the main parameters that you need to set in the AdministrationFunction object:
The following SOAP example shows the parameters that you can pass to this call:
Response ElementsThe response returned will contain these parameters:
The service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a full example of the LISTGROUPS function. To use it for yourself, carry out the following the steps:
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Use this function to retrieve a specified user group with its members. Group name should be provided to the request. Client org reference Id can be passed to manipulate with the client content otherwise default (primary) org will be searched.
Request ElementsThe following elements will be passed with this request:
These are the main parameters that you need to set in the AdministrationRole object to create a new Yellowfin role:
These are the main parameters that you need to set in the AdministrationFunction object:
The following SOAP example shows the parameters that you can pass to this call:
Response ElementsThe response returned will contain these parameters:
The service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
You can retrieve members of each group by using AdministrationGroup.getGroupMembers(). This will retrieve an array of AdministrationGroupMember. Keep in mind that if the group has a user role as a member, it will not be retrieved. Only user accounts will be retrieved via getGroupMembers().
Complete ExampleBelow is a full example of the LISTGROUPS function. To use it for yourself, carry out the following the steps:
Code Block | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code Block | ||
---|---|---|
|
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
title | GETGROUP |
---|
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
Group
AdministrationGroup[]
Group with members
Use the following to retrieve members:
Code Block language java AdministrationGroupMember[] members = rs.getGroup().getGroupMembers();
Tip You can use AdministrationGroupMember.getInternalId() to get the IpId of the Yellowfin account. Then pass it to a GETUSERBYIP call to retrieve the AdministrationPerson object for the user.
Complete Example
Below is a full example of the GETGROUP function. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_getgroup.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, admin user and group name according to your environment.
- Run http://<host>:<port>/ws_getgroup.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<%
/* ws_getgroup.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"); // change to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("GETGROUP");
//rsr.setOrgRef("org1"); |
Use this function to retrieve a specified user group with its members. Group name should be provided to the request.
Client org reference Id can be passed to manipulate with the client content otherwise default (primary) org will be searched.
Displayed below is a basic request for this function:
Code Block | ||
---|---|---|
| ||
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("GETGROUP"); |
Include a Client Org ID to list groups specific to that client. (If not included, then the default (that is, the Primary Org) groups will be displayed).
Code Block | ||
---|---|---|
| ||
rsr.setOrgRef("org1");
|
Code Block | ||
---|---|---|
| ||
AdministrationGroup group = new AdministrationGroup();
group.setGroupName("Administrators");
rsr.setGroup(group); |
Once the request is configured, perform the call:
Code Block | ||
---|---|---|
| ||
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:
|
Group | AdministrationGroup[] | Group with members |
Code Block | ||
---|---|---|
| ||
AdministrationGroupMember[] members = rs.getGroup().getGroupMembers();
|
Tip |
---|
You can use AdministrationGroupMember.getInternalId() to get the IpId of the Yellowfin account. Then pass it to a GETUSERBYIP call to retrieve the AdministrationPerson object for the user. |
Complete Example
Below is a full example of the GETGROUP function. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_getgroup.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, admin user and group name according to your environment.
- Run http://<host>:<port>/ws_getgroup.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<% /* ws_getgroup.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"); // change to the password of the account above rsr.setOrgId(1); rsr.setFunction("GETGROUP"); //rsr.setOrgRef("org1"); // provide org reference ID if required. Default org will be searched otherwise AdministrationGroup group = new AdministrationGroup(); group.setGroupName("Administrators"); rsr.setGroup(group); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("Success.<br>"); group = rs.getGroup(); out.write("<br>"); out.write("<br>Group Name: " + group.getGroupName()); out.write("<br>Group Id: " + group.getGroupId()); out.write("<br>Group Description: " + group.getGroupDescription()); out.write("<br>Group Status: " + group.getGroupStatus()); out.write("<br>Group Internal Reference: " + group.getGroupInternalReference()); // display the members: out.write("<br>Members:<br>Login Id | Internal Id "); for (AdministrationGroupMember member: group.getGroupMembers()){ out.write("<br>" + member.getLoginId() + " | " + member.getInternalId() ); } } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %> |
// provide org reference ID if required. Default org will be searched otherwise
AdministrationGroup group = new AdministrationGroup();
group.setGroupName("Administrators");
rsr.setGroup(group);
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
out.write("Success.<br>");
group = rs.getGroup();
out.write("<br>");
out.write("<br>Group Name: " + group.getGroupName());
out.write("<br>Group Id: " + group.getGroupId());
out.write("<br>Group Description: " + group.getGroupDescription());
out.write("<br>Group Status: " + group.getGroupStatus());
out.write("<br>Group Internal Reference: " + group.getGroupInternalReference());
// display the members:
out.write("<br>Members:<br>Login Id | Internal Id ");
for (AdministrationGroupMember member: group.getGroupMembers()){
out.write("<br>" + member.getLoginId() + " | " + member.getInternalId() );
}
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%>
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Creates a new user group in the client org provided. If the client reference Id is omitted, the group will be created in default (primary) org. The call requires AdministrationGroup object where you provide new group details. If you supply new group members via AdministrationGroupMember, the members will be added to the created group (this must be existing Yellowfin users). Client org reference Id can be passed to manipulate with the client content otherwise default (primary) org will be used.
Request ElementsThe following elements will be passed with this request:
These are the main parameters that you need to set in the AdministrationRole object to create a new Yellowfin role:
These are the main parameters that you need to set in the AdministrationFunction object:
The following SOAP example shows the parameters that you can pass to this call:
Response ElementsThe response returned will contain these parameters:
The service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Creates a new user group in the client org provided. If the client reference Id is omitted, the group will be created in default (primary) org. The call requires AdministrationGroup object where you provide new group details. If you supply new group members via AdministrationGroupMember, the members will be added to the created group (this must be existing Yellowfin users). Client org reference Id can be passed to manipulate with the client content otherwise default (primary) org will be used.
Complete ExampleBelow is a full example of the CREATEGROUP function. To use it for yourself, carry out the following the steps:
|