JSMA system
Overview
The JSMA system allows to access system wide settings, and facilities such as the fragment cache.
It also offers introspective tools to all JSMAs.
What can JSMA system do for me?
You can use the JSMA system to access the fragment cache, or to lookup system settings like the server host.
Index
Usage
reading data
Here is an example on how to read data from a JSMA system:
... function listJSMAs() { var result = {}; var jsmas = system.jsmas; for (var i=0;i<jsmas.length;i++) { var jsma = jsmas[i]; result[jsma.name] = listJSMADetails(jsma); } return result; } ...
Methods
The JSMA system provides the following methods:
string system.branch
Returns the git branch of the IFE installation.
Example
... system.branch // => 'master' ...
string system.get(key)
Returns the value of key as string or null if no value is set under the key.
Example
... var value = system.get('some.globalValue'); ...
Parameter key:string (required)
The key to be looked up in the flexAttributes.
string system.host
Returns the hostname that is set up in the IFE configuration.
Example
... system.host // => 'https://example.com' ...
system.increment(key)
Increases the value of any flex attribute by 1 permanently in an atomic fashion.
Example
... system.increment("some.globalCount") ...
Parameter key:string (required)
The key to be incremented in the flexAttributes.
boolean system.isCacheActive()
Returns true, if the cache is active, otherwise false.
Example
... if (system.isCacheActive() === true) { ... } ...
boolean system.isDeveloperCacheActive ()
Returns true, if the developer cache is active, otherwise false.
Example
... if (system.isDeveloperCacheActive () === true) { ... } ...
object[] system.jsmas
Returns a list of objects describing the available jsmas, their methods and arguments.
Example
... system.jsmas // => [{ name: 'address', methods: [{ method: 'update', parameters: [['req', 'attributes']] }] }, ...] ...
string system.minifyCSSÂ ()
Returns a minified version of CSS
Example
... var minCSS = system.minifyCSS(); ...
string system.minifyJSÂ ()
Returns a minified version of JS
Example
... var minJS = system.minifyJS(); ...
string system.name
Returns the Backend-Title from the IFE configuration.
Example
... var sysName = system.name(); // => 'IFE ... Staging' ...
system.now()
Returns the current time in nanoseconds.
Example
... system.now() // => 1476801294345673109 ...
string system.releaseDate
Returns the date of the deployment of the current installation.
Example
... system.releaseDate // => '2016-10-18' ...
system.remove(key)
Removes the key from the flexAttributes
Example
... system.remove('some.globalValue') ...
Parameter key:string (required)
The key to be removed from the flexAttributes.
string system.revision
Returns the git commit hash of the current installation
Example
... system.revision // => 'a026cc7' ...
system.set(key, value)
Sets the value of a specified key.
Example
... system.set("some.globalValue", "SomeContent"); ...
Parameter key:string (required)
The key to be set in the flexAttributes.
Parameter value:string (required)
The value to be set for the key
string system.version
The full version string. (Version branch revision releaseDate)
Example
... system.version // => "4.1.0 master a026cc7 2016-10-18" ...
string system.versionNumber
The version number
Example
... system.versionNumber // => '4.1.0' ...
uuid system.generateUUID()
generates a uuid
Example
... var uuid = system.generateUUID(); ...