Onboarding Plugins: Difference between revisions

From 3B Knowledge
Jump to navigation Jump to search
(Created page with "Category:3B Onboarding")
 
No edit summary
Line 1: Line 1:
[[Category:3B Onboarding]]
[[Category:3B Onboarding]]
=== '''Intro''' ===
3B offers a number of plugins that can be embedded on custom Visualforce Pages or even external pages to Salesforce.
=== '''Plugins''' ===
==== “remoteUtils” ====
Enables communication with Salesforce. If the global variable b3o.GlobalRemoutingRouter is available (when the plugin is embedded in a VFP with the apex controller set to “b3o.GlobalRemoutingRouter”), then we will use secure AJAX to communicate with Salesforce. Alternatively, if the b3o.GlobalRemoutingRouter global variable is not available, we will fall back to REST API for communication with Salesforce.
REST API communication is unauthenticated and requires that the plugin is set up with a “publicSiteURL” pointing to a guest user enabled site/community*(link to article)
We do not recommend overriding or extending this plugin. <syntaxhighlight lang="javascript" line="1">
remoteUtils.init({
    publicSiteURL: '{!$Setup.b3o__Onboarding_Default_Settings__c.b3o__Site_URL__c}'
}).then(value => {
    console.log('Loaded [Remote Utils]', value);
}).catch(error => {
    console.error('Error Initializing [Remote Utils]', error);
});
</syntaxhighlight>
{| class="wikitable"
|+Properties
!Property
!Type
!Description
!Default
!Required
|-
|publicSiteURL
|string
|This is the Site/Community base endpoint.
|
|true
|}
==== “modal” ====
This is a simple modal plugin. It is a dependency for other plugins to display pages/content in a modal interface. <syntaxhighlight lang="javascript">
modal.init({
    rootEl: 'modal-wrapper',
    reloadComponentsOnClose: false
}).then(value => {
    console.log('Loaded [MODALHANDLER]', value);
}).catch(error => {
    console.error('Error Loading Component [MODALHANDLER]', error);
}).finally(fin =>{
});
</syntaxhighlight>
{| class="wikitable"
|+Properties
!Property
!Type
!Description
!Default
!Required
|-
|rootEl
|string
|This is the ID of the root element where the modal will be rendered into
|
|true
|-
|reloadComponentsOnClose
|boolean
|Whether or not the component will request all other sibling components to re-render when the modal is closed
|true
|false
|}
==== “jobVetting” ====
This is the plugin that runs assessments *(link to article).
{| class="wikitable"
|+Properties
!Property
!Type
!Description
!Default
!Required
|-
|rootEl
|string
|This is the ID of the root element where the modal will be rendered into
|
|true
|-
|jobPostId
|string
|This is the 3B Job's record id. Used to auto-generate 3B Application if passed.
|
|false
|-
|jobBoardId
|string
|This is the Job Board's record id. Used together with jobPostId, when a 3B Application is created, we will assign the Job Board's ID in the field on the 3B Application
|
|false
|-
|userId
|string
|This is the Contact Id (logged in user)
|
|true
|-
|questionSetId
|string
|This is the Question Set's record id.
|
|true
|-
|documentId
|string
|This is the Document's record id. If passed, we will create a new document submission*(Link to article) upon successful submission of the record
|
|false
|-
|applicationId
|string
|This is the 3B Application's record id. If passed, we will relate the Candidate Scorecard*(Link to article) to the provided 3B Application id
|
|false
|-
|LBL_DefaultOptionLabel
|string
|For drop-downs, what would be the text displayed in the non-selected drop downs
| -- Select --
|false
|-
|MSG_FieldRequired
|string
|Error message displayed when a field is required, but no value is provided
|This is required
|false
|-
|MSG_FieldTooLong
|string
|Error message displayed if the input field violates the maximum length settings
|Input is too long
|false
|-
|submitBTN
|string
|The label of the submit button
|Submit
|false
|}
==== “jobBoardActions” ====
This is the plugin that renders the login/log out and options menu for non-community user authentication mode. Elect a registration form or even other menu options to be displayed. Feel free to override the HTML implementation to make the drop down fit better your branding.
==== “selfB” ====
This is the plugin that runs the self bookings*(link to article).
==== “jobPost” ====
This is the plugin that renders Job Posts in an embedded format
==== “jobApp” ====
This is the plugin that enables the job application workflow
=== '''Authentication Context''' ===
3B components are designed to be running in internal user context, community user context or un-authenticated guest user context. When running our components in the later context, you are responsible for implementing a reliable and secure authentication and communication mechanism. We provide a component “jobBoardActions” that manages authentication using 3B Forms, however we view this as dangerous and prone to brute force attacks. Always implement full-blown community licenses where possible for external candidate communication.

Revision as of 06:00, 22 October 2022


Intro

3B offers a number of plugins that can be embedded on custom Visualforce Pages or even external pages to Salesforce.

Plugins

“remoteUtils”

Enables communication with Salesforce. If the global variable b3o.GlobalRemoutingRouter is available (when the plugin is embedded in a VFP with the apex controller set to “b3o.GlobalRemoutingRouter”), then we will use secure AJAX to communicate with Salesforce. Alternatively, if the b3o.GlobalRemoutingRouter global variable is not available, we will fall back to REST API for communication with Salesforce.

REST API communication is unauthenticated and requires that the plugin is set up with a “publicSiteURL” pointing to a guest user enabled site/community*(link to article)

We do not recommend overriding or extending this plugin.

remoteUtils.init({
    publicSiteURL: '{!$Setup.b3o__Onboarding_Default_Settings__c.b3o__Site_URL__c}'
}).then(value => {
    console.log('Loaded [Remote Utils]', value);
}).catch(error => {
    console.error('Error Initializing [Remote Utils]', error);
});
Properties
Property Type Description Default Required
publicSiteURL string This is the Site/Community base endpoint. true

“modal”

This is a simple modal plugin. It is a dependency for other plugins to display pages/content in a modal interface.

modal.init({
    rootEl: 'modal-wrapper',
    reloadComponentsOnClose: false
}).then(value => {
    console.log('Loaded [MODALHANDLER]', value);
}).catch(error => {
    console.error('Error Loading Component [MODALHANDLER]', error);
}).finally(fin =>{

});
Properties
Property Type Description Default Required
rootEl string This is the ID of the root element where the modal will be rendered into true
reloadComponentsOnClose boolean Whether or not the component will request all other sibling components to re-render when the modal is closed true false

“jobVetting”

This is the plugin that runs assessments *(link to article).

Properties
Property Type Description Default Required
rootEl string This is the ID of the root element where the modal will be rendered into true
jobPostId string This is the 3B Job's record id. Used to auto-generate 3B Application if passed. false
jobBoardId string This is the Job Board's record id. Used together with jobPostId, when a 3B Application is created, we will assign the Job Board's ID in the field on the 3B Application false
userId string This is the Contact Id (logged in user) true
questionSetId string This is the Question Set's record id. true
documentId string This is the Document's record id. If passed, we will create a new document submission*(Link to article) upon successful submission of the record false
applicationId string This is the 3B Application's record id. If passed, we will relate the Candidate Scorecard*(Link to article) to the provided 3B Application id false
LBL_DefaultOptionLabel string For drop-downs, what would be the text displayed in the non-selected drop downs -- Select -- false
MSG_FieldRequired string Error message displayed when a field is required, but no value is provided This is required false
MSG_FieldTooLong string Error message displayed if the input field violates the maximum length settings Input is too long false
submitBTN string The label of the submit button Submit false

“jobBoardActions”

This is the plugin that renders the login/log out and options menu for non-community user authentication mode. Elect a registration form or even other menu options to be displayed. Feel free to override the HTML implementation to make the drop down fit better your branding.

“selfB”

This is the plugin that runs the self bookings*(link to article).

“jobPost”

This is the plugin that renders Job Posts in an embedded format

“jobApp”

This is the plugin that enables the job application workflow

Authentication Context

3B components are designed to be running in internal user context, community user context or un-authenticated guest user context. When running our components in the later context, you are responsible for implementing a reliable and secure authentication and communication mechanism. We provide a component “jobBoardActions” that manages authentication using 3B Forms, however we view this as dangerous and prone to brute force attacks. Always implement full-blown community licenses where possible for external candidate communication.