Hello All,
We are working on a requirement on Manager Certification notifications.
The requirement is to send out an email to the end users whose access is being reviewed by the managers and share a link to them on this email which could navigate them to SailPoint IdentityIQ to a Custom page where the end user can check those items which are not yet actioned by their respective managers so that they can follow up with their managers as they might get auto revoked if no action is taken.
We are trying to achieve this via a Custom xhtml page or a Plugin but struck on how do we navigate to the custom quick link, calculate the items for the specific certification id that was shared in the email to the end user and render the same to the user on UI.
Really appreciate if someone could provide guidance or ideas on how can we achieve this.
If you are thing of developing custom xhtml then with plugin you will be getting a landing page and that you can use as custom URL that you may want to share on mail.
Let me know in case of any other question.
Note: Please consider the authentication and session management for this custom link.
Hi @ashutosh08 ,
Thanks for the information.
I hope you are referring to the Page.xhtml JSF page that can be used in this case.
What we are exactly looking is, in this case, we need to send an input like the Certification ID and user id which will be available in the link provided to the user via email notification as an input, fetch the data like unreviewed items for this user for that specific track id and display on the page.
Any idea if this is possible by this option?
Hi @ashutosh08 ,
That is so insightful.
But I just have one more query.
Once we have the inputs that are needed to be executed via an SQL query and fetch the result set from DB, how can we make that connection between the XHTML page and the controller class in order to populate the data into the data table or some other component, as it looks like Plugins does not support JSF technology to enable the flow between UI and backend.
You can create REST classes as given in the below URL and then invoke this rest method using jquery .I have attached sample jquery snippet to invoke the request.
Let me know if further input needed.
URL:
Sample code snippet:
var BASE_URL = SailPoint.CONTEXT_PATH + '/plugin/rest/your_url_path';
async function invokeHttpRequest(abc, xyz) {
var headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('Authorization', 'Basic ' + btoa(USERNAME + ':' + PASSWORD));
// Encode the query parameters
var encodedABC = encodeURIComponent(abc);
var encodedXYZ = encodeURIComponent(xyz);
// Append the query parameters to the URL
var urlWithParams = `${BASE_URL}?abc=${encodedABC}&xyz=${encodedXYZ}`;
try {
const response = await fetch(urlWithParams, {
method: 'GET',
headers: headers
});
console.log('Response status:', response.status);
if (!response.ok) {
throw new Error('Network response was not ok ' + response.statusText);
}
const data = await response.json();
console.log('HTTPS Request Response:', data);
} catch (error) {
console.error('Error during HTTPS request:', error);
}
}
Hi @ashutosh08,
While analyzing the above discussion, I have a query related to the very first conversation.
If you are thing of developing custom xhtml then with plugin you will be getting a landing page and that you can use as custom URL that you may want to share on mail.
So, in this case, is it possible to share the custom URL to the end users which will contain the Certification ID as well and on clicking this link, the user could be navigated to the Landing page of the Plugin were further processing of this URL can be taken place?
Hi @ashutosh08 ,
Then in that case, it might not be possible.
So, here we need to share the link in the format IDENTITYIQ_BASE_URL/plugin/your_url_path/{CertificationTrackId} in the email but on clicking this it will essentially invoke the REST API on hitting it.
But, if we need to navigate to the landing page of the plugin, then we need to navigate to the URL IDENTITYIQ_BASE_URL/plugins/pluginPage.jsf?pn=CustomPluginName.
So, I am assuming that this approach might not help us in achieving what we were looking for.
Please correct me if I wrong.
There are two aspects to the different URL. In the mail you need to send " IDENTITYIQ_BASE_URL/plugins/pluginPage.jsf?pn=CustomPluginName . with input parameter in the request body.
Then from your page you need to invoke the REST call with other URL.