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.getCache(key)
Looks up a given key in the cache and returns it if available.
Example
... system.getCache('a cache key') // => 'some cached content' ...
Parameter key:string (required)
The key to look up in the cache.
string system.host
Returns the hostname that is set up in the IFE configuration.
Example
... system.host // => 'https://example.com' ...
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' ...
string system.revision
Returns the git commit hash of the current installation
Example
... system.revision // => 'a026cc7' ...
system.setCache(key, value, [expiration])
Writes a given value to the cache using the given cache key. Optionally allows for expiration of a cache value.
Example
... system.setCache('a-cache-key', 'some content', 600); ...
Parameter key:string (required)
The desired cache key.
Parameter value:string (required)
The content to be cached.
Parameter expiration (optional, default: 0 = permanent)
The amount of seconds until the cache entry expires.
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' ...