Configuration Options
Global Settings
The JustOn Self-Service Extension can be configured using the custom setting Global Settings. The Default record holds the default settings for your site.
To manage global settings, select Custom Settings in Setup, then open Global Settings > Manage.
Field | Description |
---|---|
Invoice Template | The invoice template for new subscriptions, specifies the name or ID of an ONB2__Template__c record. |
Master Item Criteria | An SOQL query condition that defines which items are master items. The MasterItemRetriever only returns items that match the criteria defined here.ONB2__Active__c and ONB2__Subscription__c fields are exempt from the criteria. ONB2__Active__c must be true , ONB2__Subscription__c must be empty.You can refer to account and contact fields using placeholders like Language__c = [Account.Language__c] |
Master Item Fields | A comma separated list of master item fields that are to be shown on the Products page. Defaults to ONB2__Title__c,ONB2__Description__c . |
Master Item Sort Order | The sort order of the master items. If empty, defaults to the creation date. Accepts a valid SOQL order statement. |
Subscription Building | Either New or Reorder : If New is set, the extension creates a new subscription with each checkout. With Reorder , an existing subscription is used, if available. |
Locale | The default locale of your Salesforce Site (like en-US , de-DE ), used for label overrides and number/currency formatting as well as for the translations of custom labels. |
Logo Name | The name of the logo image file, which must be stored as a file in the Documents tab. |
Home URL | The URL to be opened when a user clicks the site logo or site name. |
Redirect after login | The URL of the page to which the user is redirected after successfully logging in. It must begin with a slash (/ ) and include the namespace prefix, like /ONBSE1__Products .Must not be empty. |
Redirect after profile complete | The URL of the page to which the user is redirected once the profile is complete. You can use parameters like /ONBSE1__Subscriptions?welcomeMessage=true . |
Password Hash Iterations | The number of iterations for the password hashing algorithm. Should be at least 500 . Must be adjusted if there are CPU timeouts with password-based logins. |
Username Field | The API name of the field on the contact that holds the (optional) user name for the password-based authentication. |
Pricebook Entry Sort Order | The sort order of the master products. If empty, defaults to the creation date. Accepts a valid SOQL order statement. |
Pricebook ID | The ID of the price book whose entries are to be available on the Products page. |
Restrict Salesforce users to local org | If true , allows only users of the org where the self-service extension is installed. If false (default), any user with a Salesforce login can register/log in. |
Allow partial payments | If true , allows users to specify a payment amount that is smaller than the complete invoice amount due. |
Full payment amount | If true , allows users to pay the complete outstanding amount, irrespective of existing installments.Can optionally be used if Allow partial payments is set true . |
CSS Customization
You can customize the CSS of each page. To this end, the JustOn Self-Service Extension provides the custom object Style.
Field | Description |
---|---|
Pages | A multi-select picklist including all available pages. You can select multiple pages at once. If All is selected, the style is used on all pages. |
Sequence | If multiple styles apply to one page, they are ordered ascending by sequence. Styles with a greater sequence number override styles with lower sequence numbers. |
Content | The actual CSS to be applied. |
To add, for example, a logo to the payment page, you can use the following CSS code:
.content::before {
content: url(<image_path>);
display: block;
text-align: center;
}
Info
You can use static resources for background images like, for example:
body {
background: url({!$Resource.MyBgImage});
}
.content {
background: url({!URLFOR($Resource.SelfServiceAssets, '/images/content_bg.png')})
}
JavaScript Injection
You can add JavaScript snippets to each page. Each snippet is wrapped into its own <script>
tag. jQuery is injected to each page and can be used with the snippets.
To support this, the JustOn Self-Service Extension provides the custom object Script.
Field | Description |
---|---|
Pages | A multi-select picklist including all available pages. You can select multiple pages at once. If All is selected, the script is added to all pages. |
Content | The actual JavaScript snippet to be added. |
Example JavaScript:
$(document).ready(function() {
$('body').css('background', 'red');
});
Custom Labels
The Visualforce pages packaged with the JustOn Self-Service Extension make use of custom labels. The custom labels can contain up to 1000 characters and can include HTML markup.
You can overwrite the custom labels to adjust them to the needs of your business use cases.
Note
To modify custom labels, you must enable the Translation Workbench. For details, see Enable and Disable the Translation Workbench in the Salesforce Help.
-
Click to enter Setup, then open the Custom Labels list.
In Salesforce Lightning, navigate to User Interface > Custom Labels.
In Salesforce Classic, navigate to Create > Custom Labels.
-
Click the name of the label you want to modify.
To better find the relevant labels, create a filter for the namespace
ONBSE1
. -
Click New Local Translations/Overrides.
- Select the target language and specify the text as required.
-
Click Save.
For help about modifying custom labels, see Create and Edit Custom Labels in the Salesforce Help.
Info
Set the locale in the global settings in order to select the intended translation.
Multiple Languages
The JustOn Self-Service Extension supports multiple languages.
The system shows a language switcher if there is more than one language with a label configured. The language switcher is prefixed with the ChangeLanguage
custom label.
When a user accesses the site for the first time, the system tries to match the browser language and find a appropriate site language. The language is either a configured language with a label or the default locale defined in the global settings.
The language is stored in a cookie in the browser. If the user switches the language at the site, the content of the cookie is updated, and the page reloads with the selected language.
Enabling Languages
Languages are enabled using the custom setting Languages.
To manage language settings, select Custom Settings in Setup, then open Languages > Manage. Create a record for each language you intend to support.
Field | Possible Values | Description |
---|---|---|
Name | IETF language tagde , de-CH , fr , en-US |
The language must be a supported Salesforce platform language. |
Label | UI display nameDeutsch , English , Español |
Only languages with a label are shown in the language switcher of the UI. The label should contain the native name of the language to help the user to find their own language quickly (like Español instead of Spanish ). |
Map to | IETF language tag | A fallback language – if a user requests the site with en-GB , it can be served using en .The language defined here must be present and must have a label to show up in the UI. |
Note
Make sure to add and enable the languages in the Translation Workbench. For details, see Add Translated Languages and Translators in the Salesforce Help.
Example Configuration
Name | Label | Map to | Description |
---|---|---|---|
de | Deutsch | Enable German as language and show it in the UI | |
de-CH | de | Map every Swiss-German request to the default German language | |
es | Español | Enable Spanish as language and show it in the UI | |
en-US | English (US) | Enable American English as language and show it in the UI | |
en-GB | English (UK) | Enable British English as language and show it in the UI | |
en | en-US | Map every English request to the default American English language |
Translating
Object field labels can be translated using the Translation Workbench. For details, see Translate Terms in the Salesforce Help.
Custom labels can be translated when configuring the site. For details, see Custom Labels.
Field labels for the profile page can also be overwritten and translated. For details, see Profile.
Product translations are achieved via translation fields:
Product Field | Product Translation Field | Example for de |
Example for en-US |
---|---|---|---|
Name | Name_<lang>__c |
Name_de__c |
Name_enUS__c |
Description | Description_<lang>__c |
Description_de__c |
Description_enUS__c |
If the translation fields are empty or missing, the system falls back to the default fields.
Note
When you create the translation fields, make sure to include them in your permission set and to add them to the JustOn Field Whitelist custom setting.