FX Sales configuration

This page lists the configuration options for FX Sales.

Editing configuration options

To customise the configuration, assign new values to properties of the ExtendedAppConfig object in the file /salestrader/default-aspect/src/caplinx/ExtendedAppConfig.js. The default configuration is defined in the file /salestrader/default-aspect/src/caplinx/AppConfig.js, which should not be edited directly.

The contents of the file /salestrader/default-aspect/src/caplinx/AppConfig.js will change in future releases of FX Sales. To avoid merging your configuration changes with future changes to AppConfig.js, add your configuration to the ExtendedAppConfig.js file.

For example, to enable the auto-quoting feature in sales tickets, set the value of the CAPLIN.MOTF.TICKET.AUTO_QUOTE property on the ExtendedAppConfig object to true:

'use strict';

var AppConfig = require('caplinx/AppConfig');

/**
 * Customer config overrides that differ from the default ones
 * in {@link module:caplinx/AppConfig} should be placed here.
 */
var ExtendedAppConfig = AppConfig;

// Example: Enable auto-quoting in sales tickets
ExtendedAppConfig['CAPLIN.MOTF.TICKET.AUTO_QUOTE'] = true;

module.exports = ExtendedAppConfig;

Configuration reference

FX Sales configuration items.

APP_ID

The StreamLink application identifier. The application identifier distinguishes client traffic in StreamLink log files and in Liberator license monitoring.

Type

String

Valid values

If your Liberator is licensed at the application level, then APP_ID must match an application identifier that your Liberator is licensed to accept.

Default value

'fxsales'

Example
ExtendedAppConfig.APP_ID = 'my_sales_app';

BLOTTER_DEFAULT_EXPORT_FORMAT

The default file-format for data exported from blotters using the export icon (). Users can set their own preferred file-format in the User Settings dialog.

For related information, see:

Type

String

Valid values

This configuration option accepts one of the following file formats:

  • 'xlsx': Office Open XML Workbook (Microsoft Excel 2007+)

  • 'csv': Comma-separated values

Default value

'xlsx'

Example
ExtendedAppConfig.BLOTTER_DEFAULT_EXPORT_FORMAT = 'csv';

CAPLIN.AUDIO

A reference to an audio configuration object (see caplinx/AudioConfig.js).

Type

Array of objects

Valid values

Valid reference to an array of objects (see caplinx/AudioConfig.js)

Default value

AudioConfig (a reference to the array exported by caplinx/AudioConfig.js)

Example
ExtendedAppConfig['CAPLIN.AUDIO'] = MyAudioConfig;

CAPLIN.AUDIO.ENABLED

Set to true to enable audio notifications in FX Sales.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.AUDIO.ENABLED'] = true;

CAPLIN.AUDIO.FILTER_FIELD_VALUES

Restricts sales-intervention blotter audio notifications to new deals with field-value pairs matching the key-value pairs in a JavaScript object.

Type

JavaScript object

Valid values

Map of strings. Key names are case sensitive (a key name of pricingMode does not match a field name of PricingMode).

Default value

{}

Example: restrict notifications to records with a "PricingMode" field set to "Manual"
ExtendedAppConfig['CAPLIN.AUDIO.FILTER_FIELD_VALUES'] = {"PricingMode":"Manual"};

CAPLIN.AUDIO.INTERVENTION.OPTIONS

Sets the audio files available for audio notifications in the Sales Intervention interface.

Type

Array of strings

Valid values

Each string must have a corresponding configuration object in the CAPLIN.AUDIO array.

Default value

['none', 'chaching', 'clinking', 'coin', 'glassclink', 'jump', 'laser', 'pindrop', 'poolball', 'pop', 'pop2', 'swordclink', 'tap', 'thump', 'thwach']

Example
ExtendedAppConfig['CAPLIN.AUDIO.INTERVENTION.OPTIONS'] = ['none', 'chaching', 'clinking'];

CAPLIN.CLIENTINFO.TEMPLATEID

The HTML template for the client info bar.

The client info bar is no longer rendered by template, and this configuration item may be removed in a later release of FX Sales.

Type

String

Valid values

Valid template id

Default value

'caplinx.motf.clientinfo.client-info'

Example
ExtendedAppConfig['CAPLIN.CLIENTINFO.TEMPLATEID'] = 'caplinx.motf.clientinfo.my-client-info';

CAPLIN.CLIENTSEARCH.USERSTEMPLATEID

The HTML template for the search side-panel.

Deprecation notice: as of FX Sales 1.12, the search side-panel has been deprecated in favour of the modal search dialog and may be removed in a later release. See CAPLIN.USERSEARCH.MODAL.ENABLED.

Type

String

Valid values

Valid template id

Default value

'caplinx.users.clientsearch.client-search-users'

Example
ExtendedAppConfig['CAPLIN.CLIENTSEARCH.USERSTEMPLATEID'] = 'caplinx.users.clientsearch.my-client-search-users';

CAPLIN.CONTAINER.DOCKING_ENABLED

Set to true to allow users to dock sales-ticket containers to the bottom of the FX Sales window.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.CONTAINER.DOCKING_ENABLED'] = false;

CAPLIN.DECISIONSUPPORT.ENABLED

Set to true to display the Decision Support bar at the top of the FX Sales window.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.DECISIONSUPPORT.ENABLED'] = true;

CAPLIN.FX.ACCOUNT.SERVICE.STORE.SELECTED.ACCOUNT

Set to true to persist accounts set on the Account Service (AccountService class) so that the accounts are reloaded the next time the application is started.

The Account Service is no longer used by FX Sales and this configuration option may be removed in a later release of FX Sales.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.FX.ACCOUNT.SERVICE.STORE.SELECTED.ACCOUNT'] = true;

CAPLIN.FX.TILE.ALLOW_BROKEN_DATES

Determines whether FX tiles can stream rates for trades settling on broken dates:

  • Set to true to allow FX tiles to stream rates for broken dates.

  • Set to false to allow FX tiles to stream rates for spot and standard tenors only.

If set to false, then selecting a broken date in an FX tile replaces the tile’s rates with the text 'RFS'. Clicking 'RFS' opens a sales ticket, regardless of the value of configuration option CAPLIN.FX.TILE.ONE_CLICK_TRADE.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.FX.TILE.ALLOW_BROKEN_DATES'] = true;

CAPLIN.FX.TILE.ONE_CLICK_TRADE

Determines the action performed when a user clicks on a rate in an FX tile:

  • Set to true to execute an ESP trade at the client’s default margin.

  • Set to false to launch a sales ticket.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.FX.TILE.ONE_CLICK_TRADE'] = true;

CAPLIN.FX.TILE.SHOW.FWD_MID_POINTS

Set to true to display a mid-rate on FX tiles displaying forward rates.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.FX.TILE.SHOW.FWD_MID_POINTS'] = true;

CAPLIN.FX.TILE.SHOW.SPOT_MID_RATE

Set to true to display a mid-rate on FX tiles displaying spot rates.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppCofig['CAPLIN.FX.TILE.SHOW.SPOT_MID_RATE'] = true;

CAPLIN.FX.TILE.UPDATE_SUBSCRIPTION_ON_AMOUNT_BLUR

Determines how frequently an FX tile re-subscribes to streaming prices when a tile’s amount field is edited:

  • Set to true to re-subscribe when focus leaves the amount field.

  • Set to false to re-subscribe on each keystroke in the amount field.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.FX.TILE.UPDATE_SUBSCRIPTION_ON_AMOUNT_BLUR'] = true;

CAPLIN.FX.TILE.USE.DEFAULT.ACCOUNT

Set to true to apply the permissions associated with a client’s default trading account to the FX tiles in the Client View. If a client has no default account or has insufficient permissions granted to their account, then some or all of the FX tiles in the client view will be disabled.

Set to false to enable all FX tiles in the Client View without regard to the permissions granted to the client’s default trading account.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.FX.TILE.USE.DEFAULT.ACCOUNT'] = true;

CAPLIN.LOGIN

The configuration object for the built-in login page.

Type

JavaScript object

Valid values

See CAPLIN.LOGIN configuration object below

Default value

The object exported by module default-aspect/src/caplinx/LoginConfig.js

CAPLIN.LOGIN configuration object
Property Type Description

title

String

The title to display for the login page.

usernameFormat

String or Regex

The name of a validator or a regular expression. A validator, 'email', is provided out-of-the-box to validate email addresses.

usernameMessage

String

The message displayed when a username format is incorrect.

links

Array of Link objects (see table below)

Text and hyperlinks to display on the login page.

keyMasterUrl

String

The URL of the KeyMaster servlet.

loginBackground

String

The background image of the login page.

loginCompanyLogo

String

The company logo on the login page.

loginProductLogo

String

The product logo on the login page.

tradeModeRegex

String

Reserved. Do not change.

forgottenPasswordFunction

JavaScript function

Function that handles a password recovery request. See example code below.

Link object specification
Property Type Description

text

String

The text to display

url

String

[optional] The URL to navigate to on clicking the text

Example CAPLIN.LOGIN object
{
  title: i18n('reactloginpage.title'),
  usernameFormat: 'email',
  usernameMessage: i18n('reactloginpage.login.user.name.validation'),
  loginBackground: 'unbundled-resources/images/login_screen_bg.jpg',
  loginCompanyLogo: 'unbundled-resources/images/login_screen_company_logo.svg',
  loginProductLogo: 'unbundled-resources/images/login_screen_product_logo.png',
  links: [
    {
      text: "Caplin © " + ((new Date).getFullYear())
    },
    {
      url: "https://www.caplin.com/business/page/cookie-policy",
      text: i18n('reactloginpage.footer.cookies')
    },
    {
      url: "https://www.caplin.com/business/page/terms-conditions",
      text: i18n('reactloginpage.footer.terms')
    },
    {
      url: "https://www.caplin.com/business/page/privacy",
      text: i18n('reactloginpage.footer.privacy')
    }
  ],
  keyMasterUrl: "servlet/StandardKeyMaster",
  tradeModeRegex: "/.*~CustomerId=(.*)~.*/",
  forgottenPasswordFunction: ForgottenPasswordExample
}
Example function for the forgottenPasswordFunction property
export const ForgottenPasswordExample = function(loginData, callback) {
  /**
  * example:
  * loginData = { user: "st1@caplin.com" }
  */
  setTimeout(function() {
    if(callback) {
      callback({
        success: true,
        message: ""
      });
    }
  }, 1000);
};

export default ForgottenPasswordExample;

CAPLIN.MOTF.ORDER.MARGIN.DEFAULT

The margin, in pips, to use when a streaming order rate does not include a margin.

Type

Integer

Valid values

CAPLIN.MOTF.ORDER.MARGIN.MIN to CAPLIN.MOTF.ORDER.MARGIN.MAX

Default value

0

Example
ExtendedAppConfig['CAPLIN.MOTF.ORDER.MARGIN.DEFAULT'] = 2;

CAPLIN.MOTF.ORDER.MARGIN.ENABLED

Set to true to allow users to adjust the margin on individual orders.

Set to false to use the default order margin, set by the configuration option CAPLIN.MOTF.ORDER.MARGIN.DEFAULT.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MOTF.ORDER.MARGIN.ENABLED'] = false;

CAPLIN.MOTF.ORDER.MARGIN.MAX

The maximum margin, in pips, for orders. If a user sets an order margin higher than the maximum margin, then the margin is reset to the maximum value.

Type

Integer

Valid values

From CAPLIN.MOTF.ORDER.MARGIN.MIN to the JavaScript constant Number.MAX_SAFE_INTEGER.

Default value

1000

Example
ExtendedAppConfig['CAPLIN.MOTF.ORDER.MARGIN.MAX'] = 2000;

CAPLIN.MOTF.ORDER.MARGIN.MIN

The minimum margin, in pips, for orders. If a user sets an order margin lower than the minimum margin, then the margin value is reset to the minimum value.

Type

Integer

Valid values

From JavaScript constant Number.MIN_SAFE_INTEGER to CAPLIN.MOTF.ORDER.MARGIN.MAX

Default value

-1000

Example
ExtendedAppConfig['CAPLIN.MOTF.ORDER.MARGIN.MIN'] = -500;

CAPLIN.MOTF.TICKET.ACCOUNT.ALLOW_NULL_SELECTION

Set to true to allow users to execute trades against a null trading account. The null account is labelled '-' in the ticket’s account dropdown, and is sent to the server as the value '-|-'.

Set to false to require users to execute trades against a named trading account.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTIF.TICKET.ACCOUNT.ALL_NULL_SELECTION'] = true;

CAPLIN.MOTF.TICKET.ACCOUNT.AUTO_SELECT_FIRST

Determines the action performed following the selection of a client in a sales ticket:

  • Set to true to automatically select the first of the client’s trading accounts.

  • Set to false to leave the client’s trading account unselected.

If a client only has one account, then client’s account will always be automatically selected.

This configuration option does not apply to tickets opened by clicking New trade, which always automatically select the first of the client’s trading accounts.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTIF.TICKET.ACCOUNT.AUTO_SELECT_FIRST'] = true;

CAPLIN.MOTF.TICKET.APPLY_ALL_IN_MARGIN_TO_FORWARD

Determines how a forward quote is re-calculated following a user-adjustment to the all-in-margin:

  • Set to true to achieve the new all-in-margin by automatically adjusting the forward margin.

  • Set to false to achieve the new all-in-margin by automatically adjusting the spot margin.

In the event that there is a precision mismatch between the three margins (spot, forward, and all-in), any extra precision will be rolled onto the forward margin regardless of the value of this configuration option.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.APPLY_ALL_IN_MARGIN_TO_FORWARD'] = true;

CAPLIN.MOTF.TICKET.AUTO_QUOTE

Determines whether the Auto-Quote feature is enabled. Auto-Quote streamlines the processes of requesting and re-requesting a quote.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.AUTO_QUOTE'] = true;

The table below compares the process of requesting and re-requesting a quote when Auto-Quote is enabled and when Auto-Quote is disabled.

Requesting a quote using a ticket opened by clicking New trade
Auto-Quote Behaviour

Enabled

The quote is automatically requested when when all parameters for the quote have been completed.

Disabled

The user clicks Get quote to request a quote.

Requesting a quote using a ticket opened from an FX tile
Auto-Quote Behaviour

Enabled

The quote is automatically requested.

Disabled

The user clicks Get quote to request a quote.

Changing a quote’s parameters and re-quoting
Auto-Quote Behaviour

Enabled

The user can edit the quote’s parameters on-the-fly. If the Amount or Settlement parameters are changed, then the ticket automatically requests a new quote. By default, the existing quote’s margins are retained in the new quote. To reset the margins when requoting, see CAPLIN.MOTF.TICKET.MARGIN.APPLY_DEFAULT_ON_REQUOTE.

Disabled

To change the quote’s parameters, the user must cancel the current quote, edit the parameters of the trade, and click Get quote to request a new quote.

CAPLIN.MOTF.TICKET.CLIENT_RATE_ALWAYS_EDITABLE

Overrides the default behaviour for when a client-rate field can, and cannot, be edited. By default, rates and margins are only editable when they are locked (fixed). Locks are mutually exclusive: when a quote’s margin is locked (fixed), the quote’s client-rate is unlocked (floating).

  • Set this option to true to allow a user to edit the client-rate field regardless of whether the user has locked the client-rate.

  • Set this option to false to allow a user to edit the client-rate field only when the user has locked the client-rate.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.CLIENT_RATE_ALWAYS_EDITABLE'] = true;

CAPLIN.MOTF.TICKET.DEFAULTS

The default values for fields in the sales ticket.

Type

Object

Valid values

A JavaScript object with properties corresponding to trade field names.

Default value

{}

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.DEFAULTS'][TRADE_FIELDS.CURRENCY_PAIR] = 'GBPUSD';

CAPLIN.MOTF.TICKET.EXECUTE.BUTTON.ALWAYS_ENABLED

Determines when the execute buttons on a ticket are enabled:

  • Set to true to allow a user to click the execute button on a sales ticket when either the client rate or the margin is locked.

  • Set to false to allow a user to click the execute button only when the client rate is locked (fixed).

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.EXECUTE.BUTTON.ALWAYS_ENABLED'] = false;

CAPLIN.MOTF.TICKET.EXECUTE.BUTTON.UPDATE.SIDE

Determines whether ticket rates are labelled in terms of the base currency or the quote (term) currency in a traded currency pair:

  • Set to true to label rates in terms of the base currency. For example, the bid rate for GBPUSD would be labelled as "Bank buys GBP".

  • Set to false to label rates in terms of the quote (term) currency. For example, the bid rate for GBPUSD would be labelled as "Bank sells USD".

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.EXECUTE.BUTTON.UPDATE.SIDE'] = false;

CAPLIN.MOTF.TICKET.FWD.MARGIN.MAX

The maximum forward margin, in points. If a user sets a forward margin to a value higher than the maximum value, then the margin resets to the maximum value.

Type

Integer

Valid values

From CAPLIN.MOTF.TICKET.FWD.MARGIN.MIN to the JavaScript constant Number.MAX_SAFE_INTEGER

Default value

1000

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.FWD.MARGIN.MAX'] = 2000;

CAPLIN.MOTF.TICKET.FWD.MARGIN.MIN

The minimum forward margin, in points. If a user sets a forward margin to a value lower than the minimum value, then the margin resets to the minimum value.

Type

Integer

Valid values

From the JavaScript constant Number.MIN_SAFE_INTEGER to CAPLIN.MOTF.TICKET.FWD.MARGIN.MAX

Default value

-1000

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.FWD.MARGIN.MIN'] = -500;

CAPLIN.MOTF.TICKET.LOCKING_MODE

Set to true to give users the option of choosing which locking mode sales tickets operate in: locked margins or locked client-rates. Set to false to restrict the locking mode to locked margins.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.LOCKING_MODE'] = false;

CAPLIN.MOTF.TICKET.MARGIN.APPLY_DEFAULT_ON_REQUOTE

When Auto-Quoting is enabled, this option determines whether margins should reset to the client’s default margin on re-quoting. Tickets automatically request a re-quote if Auto-Quoting is enabled and a change is made to a quote’s Amount field or Settlement field.

  • Set to true to requote using the client’s default margins, as supplied by the DefaultSpotMargin field and the DefaultFwdMargin field in the pricing stream.

  • Set to false to re-quote using the current margins in the ticket.

To enable ticket auto-quoting, see CAPLIN.MOTF.TICKET.AUTO_QUOTE.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.LOCKING_MODE'] = true;

CAPLIN.MOTF.TICKET.MISSED_TRADE.ENABLED

Set to true to display a Missed trade button alongside the ticket’s Cancel Trade button. The Missed Trade button cancels the trade and records that the client rejected the quoted price.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.MISSED_TRADE.ENABLED'] = true;

CAPLIN.MOTF.TICKET.MISSED_TRADE.REQUIRE_LOCKED_SIDE

Determines the conditions for the display of the Missed Trade button on tickets for two-way trades. The Missed Trade button is always visible on one-way trades.

  • Set to true to display the Missed Trade button for two-way trades only when a client rate is locked. This extra condition makes it clear which rate in a two-way trade was rejected by the client.

  • Set to false to always display the Missed Trade button on two-way trades.

To enable missed-trade tracking, see CAPLIN.MOTF.TICKET.MISSED_TRADE.ENABLED.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.MISSED_TRADE.REQUIRE_LOCKED_SIDE'] = true;

CAPLIN.MOTF.TICKET.RATE.APPLY_MARGIN_ROUNDING

Whether to round or truncate margins that have a higher precision than their fields' display precision. The display precision, in decimal places (dps), is specified in the SpotRateDPS and AllInRateDPS fields in the trader-rate stream. When a margin field’s raw value has a higher precision than the margin field’s display precision, the field is highlighted and the raw value is displayed in the field’s tooltip.

  • Set this option to true to round high-precision margins. Ask margins are rounded up; bid margins are rounded down. For example, an ask margin of 1.115 rounded to a dps of 2 is 1.12, and a bid margin of 1.115 rounded to a dps of 2 is 1.11.

  • Set this option to false to truncate high-precision margins. For example, an ask or bid margin of 1.115 truncated to a dps value of 2 is 1.11.

High-precision all-in-margins are always rounded to the AllInRateDPS (up for ask; down for bid). On executing a trade, the raw spot margin is adjusted (if required) so that raw_trader_rate ± raw_all-in-margin = rounded_all-in-margin.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.RATE.APPLY_MARGIN_ROUNDING'] = false;

CAPLIN.MOTF.TICKET.RATE.APPLY_RATE_ROUNDING

Whether to round or truncate rates that have a higher precision than the rate field’s display precision. The display precision, in decimal places (dps), is specified in the trader-rate stream. When a rate field’s raw value has a higher precision than the rate field’s display precision, the field is highlighted and the raw value is displayed in the field’s tooltip.

  • Set this option to true to round high-precision rates. Ask rates are rounded up; bid rates are rounded down. For example, an ask rate of 1.115 rounded to a dps of 2 is 1.12, and a bid rate of 1.115 rounded to a dps of 2 is 1.11.

  • Set this option to false to truncate high-precision rates. For example, an ask or bid rate of 1.115 truncated to a dps value of 2 is 1.11.

High-precision all-in-rates are always rounded to the AllInRateDPS (up for ask; down for bid). On executing a trade, the raw spot margin is adjusted (if required) so that raw_trader_rate ± raw_all-in-margin = rounded_all-in-margin.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.RATE.APPLY_RATE_ROUNDING'] = false;

CAPLIN.MOTF.TICKET.SHOW.FWD_MID_POINTS

Set to true to display mid-points on a sales ticket for a forward trade.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.SHOW.FWD_MID_POINTS'] = true;

CAPLIN.MOTF.TICKET.SHOW.SPOT_MID_RATE

Set to true to display the mid-rate on a sales ticket for a spot trade.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.SHOW.SPOT_MID_RATE'] = true;

CAPLIN.MOTF.TICKET.SPOT.MARGIN.MAX

The maximum spot margin, in pips. If a user sets a spot margin to a value higher than the maximum value, then the margin resets to the maximum value.

Type

Integer

Valid values

From CAPLIN.MOTF.TICKET.SPOT.MARGIN.MIN to the JavaScript constant Number.MAX_SAFE_INTEGER

Default value

1000

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.SPOT.MARGIN.MAX'] = 2000;

CAPLIN.MOTF.TICKET.SPOT.MARGIN.MIN

The minimum spot margin, in pips. If a user sets a forward margin to a value lower than the minimum value, then the margin resets to the minimum value.

Type

Integer

Valid values

From the JavaScript constant Number.MIN_SAFE_INTEGER to CAPLIN.MOTF.TICKET.SPOT.MARGIN.MAX

Default value

-1000

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.SPOT.MARGIN.MIN'] = -500;

CAPLIN.MOTF.TICKET.STREAMING_MODE

Set to true to allow the user to choose how trader-rate fields on sales tickets are updated: pricing stream or manually. Set to false to always update trader-rate fields from a pricing stream.

Type

Boolean

Valid values

true, false

Default value

false

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.STREAMING_MODE'] = true;

CAPLIN.MOTF.TICKET.SWAP.MARGIN.MAX

The maximum swap margin, in points. If a user sets a swap margin to a value higher than the maximum value, then the margin resets to the maximum value.

Type

Integer

Valid values

From CAPLIN.MOTF.TICKET.SWAP.MARGIN.MIN to the JavaScript constant Number.MAX_SAFE_INTEGER

Default value

1000

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.SWAP.MARGIN.MAX'] = 2000;

CAPLIN.MOTF.TICKET.SWAP.MARGIN.MIN

The minimum swap margin, in points. If a user sets a swap margin to a value lower than the minimum value, then the margin resets to the minimum value.

Type

Integer

Valid values

From the JavaScript constant Number.MIN_SAFE_INTEGER to CAPLIN.MOTF.TICKET.SWAP.MARGIN.MAX

Default value

-1000

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.SWAP.MARGIN.MIN'] = -500;

CAPLIN.MOTF.TICKET.SWAP_REVERT_SPOT_SWITCH

When supplying a swap quote to FX Sales, the FX Integration API (FX API) switches the values in the bid and ask fields of the swap’s near leg. FX Sales requires that bid and ask values are in their correct fields, so by default FX Sales is configured to revert the switch made by the FX API.

  • Set this option to true to revert the switch made by the FX Integration API.

  • Set this option to false to accept the fields as they are supplied by the FX Integration API.

The default configuration (set to true) is suitable for the majority of architectures, but if a backend pricing system supplies the FX API with switched near-leg field values, then the switch performed by the FX API will be enough to correct the format of the near-leg, and FX Sales should not revert FX API’s switch.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.SWAP_REVERT_SPOT_SWITCH'] = false;

CAPLIN.MOTF.TICKET.TIMEOUTBAR.RUN.LOW.ENABLED

Set to true to change the colour of the sales-ticket timeout bar when a stream or quote is about to expire. See also, CAPLIN.MOTF.TICKET.TIMEOUTBAR.RUN.LOW.TIMETHRESHOLD.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.TIMEOUTBAR.RUN.LOW.ENABLED'] = false;

CAPLIN.MOTF.TICKET.TIMEOUTBAR.RUN.LOW.TIMETHRESHOLD

The remaining time, in seconds, at which the colour of the sales-ticket timeout bar changes to indicate that a stream or quote is about to expire. See also, CAPLIN.MOTF.TICKET.TIMEOUTBAR.RUN.LOW.ENABLED.

Type

Integer

Valid values

0 to the JavaScript constant Number.MAX_SAFE_INTEGER.

Default value

5

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.TIMEOUTBAR.RUN.LOW.TIMETHRESHOLD'] = 10;

CAPLIN.MOTF.TICKET.TRADE.DIRECTION

Determines which values are available in a ticket’s Trade Direction dropdown.

  • two-way: allows one-way and two-way trade directions in the dropdown.

  • one-way: allows only one-way trade directions in the dropdown.

  • disabled: hides the Trade Direction dropdown, and the trade direction is set to two-way.

Type

String

Valid values

The following constants in the caplin/motf/MarginConstants class:

  • TRADE_DIRECTION.MODE.TWO_WAY

  • TRADE_DIRECTION.MODE.ONE_WAY

  • TRADE_DIRECTION.MODE.DISABLED

Default value

TRADE_DIRECTION_MODE.TWO_WAY

Example
ExtendedAppConfig['CAPLIN.MOTF.TICKET.TRADE.DIRECTION'] = TRADE_DIRECTION_MODE.ONE_WAY;

CAPLIN.MULTIPLECLIENTMANAGEMENT.ENABLED

Set to true to allow users to display sales tickets for different clients simultaneously. Set to false to allow users to display tickets for one client only.

When set to false, FX Sales enforces the following behaviour:

  • Selecting a new client closes all open sales tickets.

  • The client field in sales tickets is not editable.

  • The New Trade button is only enabled once the user has selected a client.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.MULTIPLECLIENTMANAGEMENT.ENABLED'] = false;

CAPLIN.PERMISSION.CONFIG.URL

The path to the permissions configuration file, which specifies the subjects that supply FX Sales with real-time permissioning data.

The default permissions configuration file, unbundled-resources/customPermissionDatasourceDefinitions.xml, contains the following configuration:

<?xml version="1.0" encoding="UTF-8"?>
<permissionDatasourceDefinitions
  xmlns="http://schema.caplin.com/CaplinTrader/permissionDatasourceDefinitions">
    <permissionsource name="MASTER" role="Master"/>
    <permissionsource name="SLAVE1"/>
</permissionDatasourceDefinitions>

The configuration above configures FX Sales to subscribe to permissioning data in two containers:

  • /PERMISSIONS/MASTER/CONTAINER/fx-sales-username

  • /PERMISSIONS/SLAVE1/CONTAINER/fx-sales-username

Type

String

Valid values

Valid path to the permissions XML file in the unbundled-resources directory of the FX Sales WAR file.

Default value

'unbundled-resources/permissionDatasourceDefinitions.xml'

Example
ExtendedAppConfig['CAPLIN.PERMISSION.CONFIG.URL'] = 'unbundled-resources/customPermissionDatasourceDefinitions.xml';

CAPLIN.SECURITY.PERMISSIONING.STATUS

Set to 'ENABLED' to enable client-side permission checks. Set to any value other than 'ENABLED' to disable client-side permission checks. This is used during development of FX Sales to test server-side permissioning by permitting all actions on the client-side.

Type

String

Valid values

'ENABLED',

Default value

'ENABLED'

Example
ExtendedAppConfig['CAPLIN.SECURITY.PERMISSIONING.STATUS'] = 'DISABLED';

CAPLIN.SESSION.TIMEOUT

The period of inactivity, in minutes, after which an FX Sales user is automatically logged out. Set this option to '0' to disable session timeouts.

Type

Integer

Valid values

0 to Number.MAX_SAFE_INTEGER

Default value

0

Example
ExtendedAppConfig['CAPLIN.SESSION.TIMEOUT'] = 30;

CAPLIN.UNREGISTERED.CLIENT.DEALING

Collections of additional fields to display on FX tickets, keyed by values for the User Details salesUserGroup field.

When a client’s User Details salesUserGroup field matches the key for a collection of additional fields, the collection of fields is displayed on the FX ticket.

Each keyed collection of additional fields can contain any number of field definitions.

Type

Object

Valid values

See CAPLIN.UNREGISTERED.CLIENT.DEALING object specification below

Default value

Imported from apps/salestrader/src/salestrader-default-aspect/UnregisteredClientDealingConfig.js

CAPLIN.UNREGISTERED.CLIENT.DEALING object specification
{
  "salesUserGroup": {
    "fieldname": {
      "type": string, (1)
      "label": string,
      "validators": [object, ...], (2)
      "values": [string, ...] (3)
    },
    ...
  },
  ...
}
1 See the TYPES property of the cps-unregistered-client-dealing/UnregisteredClientDealingConstants module
2 An optional array of objects that implement the br/validation/Validator interface.
3 Required when the type property is set to TYPES.DROPDOWN. An array of strings used to populate the dropdown.

The example below is a simplified version of the configuration in the default file apps/salestrader/src/salestrader-default-aspect/UnregisteredClientDealingConfig.js. In this example, the User Details salesUserGroup field distinguishes users by region, and the unregistered-client dealing config object has a set of fields defined for the sales user group UK.

Example
var NotEmptyValidator = require("br-validation/NotEmptyValidator");
var TYPES = require("cps-unregistered-client-dealing/UnregisteredClientDealingConstants")
  .TYPES;

ExtendedAppConfig['UNREGISTERED.CLIENT.DEALING.CONFIG'] = {
  UK: { (1)
    FirstName: {
      type: TYPES.TEXT,
      label: "First name",
      validators: [new NotEmptyValidator("Value should not be empty")]
    },
    LastName: {
      type: TYPES.TEXT,
      label: "Last name",
      validators: [new NotEmptyValidator("Value should not be empty")]
    },
    Purpose: {
      type: TYPES.DROPDOWN,
      label: "Purpose",
      values: [
        "Personal",
        "Business"
      ]
    },
    ContactAfterSettlement: {
      type: TYPES.CHECKBOX,
      label: "Contact after settlement"
    }
  }
};
1 Additional fields to display for clients with a User Details salesUserGroup field of UK.

CAPLIN.USERPREFERENCES.ENABLED

Set to true to display the Settings icon () in the FX Sales toolbar.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.USERPREFERENCES.ENABLED'] = false;

CAPLIN.USERPREFERENCES.PROFITCURRENCY.DEFAULT

Determines the user’s default profit currency when the user can set it via the user preferences.

Type

String

Valid values

A three-letter currency code in the option CAPLIN.USERPREFERENCES.PROFITCURRENCY.OPTIONS

Default value

'USD'

Example
ExtendedAppConfig['CAPLIN.USERPREFERENCES.PROFITCURRENCY.DEFAULT'] = 'EUR';

CAPLIN.USERPREFERENCES.PROFITCURRENCY.ENABLED

Set to true to display the Profit Currency user preference in the User Settings dialog.

For the user’s preference to take effect, the option SHOWHOUSEPROFIT must also be enabled.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.USERPREFERENCES.PROFITCURRENCY.ENABLED'] = false;

CAPLIN.USERPREFERENCES.PROFITCURRENCY.OPTIONS

The list of currencies from which users can select their preferred profit currency.

Type

Array of strings

Valid values

Array of standard three-letter currency codes.

Default value

['USD', 'EUR', 'GBP']

Example
ExtendedAppConfig['CAPLIN.USERPREFERENCES.PROFITCURRENCY.OPTIONS'] =
  ['EUR', 'GBP', 'CHF'];

CAPLIN.USERS.UNIQUE.FIELD

Determines which field is the unique identifier for a TOBO (trading on behalf of) user.

Type

String

Valid values

Valid field name

Default value

'UserID'

Example
ExtendedAppConfig['CAPLIN.USERS.UNIQUE.FIELD'] = 'AnotherFieldName';

CAPLIN.USERSEARCH.MODAL.ENABLED

Set to true to enable the new search-dialog. Set to false to use the deprecated search-sidebar.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['CAPLIN.USERSEARCH.MODAL.ENABLED'] = false;

HEADER.CLIENTINFO.SHOW.ON.FRAMES

The screens and tabs on which the client-info bar is displayed.

Type

Array of strings

Valid values

The data-role-id attribute of any HTML element configured as a target frame in the file caplinx/SideMenuConfig.js.

Default value

['user-trade', 'order-trade']

Example
ExtendedAppConfig['HEADER.CLIENTINFO.SHOW.ON.FRAMES'] = ['user-trade'];

ORDER.TICKET.FACTORY

The configuration object for order tickets. Developers can create their own config object to override order ticket configuration.

Type

JavaScript object reference

Valid values

See file default-aspect/src/caplinx/motf/orderticket/config/MotfOrderTicketConfig.js

Default value

new MotfOrderTicketConfig() (see file default-aspect/src/caplinx/motf/orderticket/config/MotfOrderTicketConfig.js)

Example
ExtendedAppConfig['ORDER.TICKET.FACTORY'] = new MyOrderTicketFactory();

SHOWHOUSEPROFIT

Set to true to display profit fields in the house currency.

Set to false to display profit fields in the term currency of the traded currency pair.

To allow users to choose from a selection of profit currencies, see CAPLIN.USERPREFERENCES.PROFITCURRENCY.ENABLED.

Type

Boolean

Valid values

true, false

Default value

true

Example
ExtendedAppConfig['SHOWHOUSEPROFIT'] = false;

SIDEMENU.DEFAULT

The configuration object for the side-bar menu.

Type

JavaScript object reference

Valid values

See file default-aspect/src/caplinx/SideMenuConfig.js

Default value

A reference to the object exported by module caplinx/SideMenuConfig.

Example
ExtendedAppConfig['SIDEMENU.DEFAULT'] = mySideMenuConfig;