Sisense V7.4 

Updated REST API Sisense V1.0 Endpoint

/usageanalytics/restore/cube

The following optional properties were added to the /usageanalytics/restore/cube endpoint: 

shouldReplaceExistingCube: A boolean value that when true determines that the Usage Analytics ElastiCube should be restored if it already exists. true by default. 

shouldBuildCube: A boolean value that when true determines that after the Usage Analytics ElastiCube is restored, the ElastiCube is rebuilt. false by default. 

Updated REST API Sisense V0.9 Endpoint

/elasticubes/datasecurity

A new property was added, exclusionary, to the /elasticubes/datasecurity endpoint. This boolean determines if a data security rule is an exclusionary or an inclusionary rule.  By default, this value is false, which means all rules are inclusionary.

When a rule is inclusionary, all defined members can see the relevant rows. When a rule is exclusionary ("exclusionary": true), the relevant rows are hidden from all defined members.

Sisense V7.3 

New REST API Sisense V1.0 Endpoints


/settings/system

A new object was added, "usage", which includes two new keys:

enabled: When this boolean is set to true, Sisense records usage analytics data.

restoredashboards: When this boolean is set to true, Sisense restores the usage analytics dashboards to their default state and republishes them.

/settings/system

admin/usageanalytics/restore/cubeRestores the Usage Analytics ElastiCube to its original state.

admin/usageanalytics/restore/dashboardsRestores the Usage Analytics dashboards to its original state.

admin/usageanalytics/{id}/usageMetadataReturns metadata for a dashboard. You can specify the dashboardType as a string (owner or user).

Updated REST API Sisense V1.0 Endpoint

/dashboards/{id}/metadata

Returns dashboard metadata. You can specify which data should be returned by settings the following booleans as true:

  • owner
  • datasource
  • lastOpened
  • lastModified
  • folder
  • lastPublish
  • viewedBy
  • widgetCount

Updated REST API Sisense V0.9 Endpoint

/branding

The key "PoweredBySisense" was added to the branding endpoint. This endpoint hides the Powered by Sisense string in the User Profile for rebranded servers.

By default, this boolean value is set to true. You can set this to false to remove the string.

Export Usage Analytics Data

You can export your Usage Analytics data with the following API call: 

http://localhost:8081/api/datasources/LocalHost/Usage%20Analytics%20Model/sql?query=select%20*%20from%20usage&format=csv

This assumes you are retrieving the Usage Analytics file from the localhost. If not, you need to update your API call with the Sisense server name or IP address. Click here for more information. 

Sisense V7.2 

Add-ons and Plugins Directory

The location of the Plugins directory has been changed from C:\Program Files\Sisense\PrismWeb\plugins to C:\Program Files\Sisense\app\plugins. Plugins located in the old folder are automatically migrated to the new location when you install Sisense V7.2.  For newer dashboard plugins, the files should be stored in the new location.

JAQL Runner

The location of the JAQL Runner has been moved to http://localhost:8081/app/jaqleditor. If you access the JAQL Runner, update your code to point to the new endpoint.

SQL Runner

The location of the SQL Runner has been moved to http://localhost:8081/app/sqleditor#/datasource=:ElastiCubeName . If you access the SQL Runner, update your code to point to the new endpoint.

Updated REST API Sisense V1.0 Endpoints

/settings/system

The "fiscal" object was added. This object contains two keys for setting your fiscal year, month and format.

month: Sets the first month of your fiscal year.

format: Determines how fiscal years are displayed in Sisense.

For more information, see Fiscal Years.

/settings/system

Updated REST Error Responses

Previously, the following endpoints returned error responses in XML. From Sisense V7.2, these endpoints return error responses in JSON.

Removed REST API Sisense V1.0 Endpoints

/api/v1//elasticubes/live/{oid}

/api/v1//elasticubes/live/{oid}

D

/api/v1//elasticubes/live/{oid}


Sisense V7.1.2 

Changes to Customizing Viewer User Roles

You can now customize the Viewer user role to allow Viewers to delete widgets on their dashboards. By default, this privilege is not enabled. (Documentation)

Sisense V7.1.1 

Updated REST API Sisense V1.0 Endpoints 

/roles/{idOrName}/manifest/{path}

The copy_to_dashboard key included in this endpoint under the Widget section now allows Viewers to drag and drop widgets to various dashboards in their dashboard list when the value is set to True.

For more information, see Customizing User Roles.

Sisense V7.1 

SSO via JWT

If you have implemented SSO via JWT, you can add multiple domains to the redirect URL by adding each domain to a configuration file.

See SSO via JWT for more information.  

Widget Background

Following Sisense V7.0, the background color of some widgets was not customized as expected. 

To change the background color of widgets, a new property, 'fill', was added the commonCSS variable that allows you to customize the background color of your widget. 

var commonCSS = { 'background-color': selectedColor, 'color': 'white',  'fill': selectedColor };

Updated REST API Sisense V1.0 Endpoints  

/settings/system

The key, isAdminAccessAllDashboards, was added to the settings/system endpoint. This boolean allows you to turn off the Dashboard Administration feature.

For more information, see Managing Your Users Dashboards.

/settings/system

Updated REST API Sisense V0.9 Endpoints

/roles/{idOrName}/manifest/{path}

The Data Designer role can be customized to allow them to add new ElastiCubes and schedule builds.

See Customizing User Roles for more information.

/roles/{idOrName}/manifest/{path}

Deprecated REST API Sisense V0.9 Endpoints

/geo/geojson/{type}

The Geo endpoints from V0.9 have been deprecated and relocated to V1.0. The endpoints now use the MapBox Geo API.

 /geo/locations

Sisense V7.0.1 

New REST API SSO Parameters for SAML 2.0

The following parameters have been added to the SSO body object in the GET and POST /settings/sso endpoints to support SSO via SAML 2.0:

syncGroupsFromSamlToken.

Boolean

This new attribute controls whether to update the user’s groups from the SAML SSO token on subsequent logins, and not created from scratch.

Sisense V7.0 

HighCharts Upgrade

Sisense has upgraded to HighCharts V6.0, which supports the dashboard chart visualizations. This upgrade has no impact on Sisense’s JavaScript APIs, but does allow developers to leverage the Highstock V6.0 library when customizing visualizations.

New REST API Sisense V1.0 Endpoints  

Account

/account/get_license_info

Returns your Sisense licensing information.


ElastiCubes

/elasticubes/servers/{server}/settings/rserver/test

Verify connectivity between your ElastiCube server and an R server.

/elasticubes/servers/{server}/settingsReturns your ElastiCube server’s settings.

/elasticubes/servers/{server}/settingsUpdates your ElastiCube server’s settings.

/elasticubes/server/{server}/permissionsUpdates your ElastiCube server’s permissions.

Fields Suggestions

/suggestions/statusReturns the status of your suggestions.

/suggestions

Returns suggestions for an entity. This endpoint allows you to leverage Sisense suggestions in your own application.

/suggestions/refreshRefreshes your suggestion's ranking.

Updated REST API Sisense V0.9 Endpoints

/branding

The "homePageConfig" object was added, which defines the URLs for buttons located in the banner of the Data page in the Sisense Web Application. You can redefine these URLs to point to your site.

See Rebranding Sisense for more information.

/branding

Sisense V6.7.1

REST API

A new property, "secureCookie", was added to the POST /settings/security endpoint in Sisense REST V0.9.

This boolean adds a "secureFlag" to cookies of users who connect to the Sisense Web Application. This flag instructs the browser that the cookie should only be returned to the Sisense Web Application over encrypted connections (HTTPS).

JavaScript API

The setOptions method of the JavaScript API has been improved to support more styling options for Indicator widgets.

For more information, see the Indicator Object in the JavaScript API & Plugins.

Sisense V6.7

New Widget Methods for SisenseJS

getDrillItems()

isDrillSupported()
loadDrillItems()
loadDrillSuggestions()
performDrill()
resetDrill()
For more information, see the SisenseJS documentation. 

New REST API Endpoints for Sisense V1.0

Admin


/app_database/encrypt_database_password

Returns an encrypted password from plaintext for your Sisense MongoDB users.

/app_database/change_database_user_passwordChange a MongoDB user's password.

Engine

/engine/excelExportExport Excel files.


Narration

/narration/token

Returns a Sisense Narratives Token.

/narration/widgetDefine narrated text.


Plugins


/plugins

Returns a list of your plugins.

/plugins/get_infoReturns the plugin's build information.

/pluginsUpdate your plugin's metadata.


Sisense V6.6.1

JavaScript API

The JavaScript API infrastructure was upgraded to support debugging plugins.

For more information, see JavaScript API & Plugins.

Single Sign On

An SSO user can now log in to multiple devices concurrently, but when logging out of Sisense, the user will be logged out across all devices

Sisense V6.6 

New Endpoints for the Sisense REST API V1.0

Authentication

Define specific Sisense servers as trusted servers through the authentication endpoints. This allows Designers and Administrators to copy dashboards directly to your server from the Sisense Web Application. 

Collections

Save custom objects within the Sisense MongoDB that you can access and leverage from Sisense plugins you develop.

Connections

Create and manage new live connections to MySql and SQL Server data sources through the connections endpoints.

Dashboards

Export and import new multiple dashboards through a single .dash file with the new dashboards endpoints.

Datasets

Create a manage new datasets through the datasets endpoints. 

Datasources

Return a list of dimensions for a live data source through the datasources endpoints.

ElastiCubes

Create and manage custom tables and fields through new ElastiCube endpoints. 

Folders

Delete folders and their dashboards through the folders endpoint. 

Live-Connectors

Manage your live data sources through the live-connectors endpoints. 

Logs

Return a log that describes your dashboard and widget render time through the logs endpoint.

Oauth

Manage tokens for Oauth

Translations

Return a list of your supported Sisense languages and their language files through the translations endpoints. 

New PSM Commands

In addition to new REST endpoints, much of the same functionality described above has been implemented in the PSM command shell. The following is a full list of the new commands added in Sisense V6.6:

psm ecube create
psm ecube edit fields addCustomField
psm ecube edit fields getListOfCustomFields
psm ecube edit fields getListOfFields
psm ecube edit fields getSqlOfField
psm ecube edit fields removeField
psm ecube edit fields updateSqlStatementOfField
psm ecube edit tables addCustomTable
psm ecube edit tables addTable
psm ecube edit tables deleteTable
psm ecube edit tables getConnectionStringOfTable
psm ecube edit tables getListOfCustomTables
psm ecube edit tables getListOfTables
psm ecube edit tables getProviderOfTable
psm ecube edit tables getSqlOfTable
psm ecube edit tables updateSqlStatementOfCustomTable
psm ecube edit relations createRelation
psm ecube edit relations deleteRelation
psm ecube edit relations getRelationsOfTable

For descriptions of each command and the parameters they accept, click here

New JavaScript Events

Sisense has added two new global events you can leverage through the JavaScript API:

1. 'apploaded': This event is triggered when the whole Sisense Web Application is loaded.

2. 'homeloaded': This event is triggered when the home page in the Sisense Web Application is loaded.

For more information, click here.


Sisense V6.5.2

The Sisense Custom REST API now supports:

New Settings Endpoints for Sisense V0.9

Sisense has removed the REST API token from the Admin page supported by the REST API V0.9 authentication methodology.

While this methodology is no longer recommended, you can continue to retrieve and generate V0.9 API tokens through the following endpoints:


/settings/api

Returns your API token

/settings/api/generate

Generates a new API token

DELETE/settings/api
Delete API token


Sisense V6.5

Announcing SisenseJS Breaking Changes

SisenseJS supports support Angular 2.x starting from Sisense V6.4. Sisense V6.5 adds support for Angular 1.x

To ensure that SisenseJS continues to work after installing Sisense V6.5, your Sisense HTML content must be encapsulated within a div element with the ID "sisenseApp".

This is required for all Sisense.js scripts whether or not your website uses the Angular framework.

In addition, if you have implemented the Angular 2.x framework, your site must load the sisenseApp element and other container elements before invoking the sisense.connect() function.

For more information, click here.

The following methods have been added to the Sisense JS API:

Sisense REST API

New Alert Section

Sisense has exposed several new APIs for managing your Sisense Pulse alerts through the new /alerts endpoint. 


/alerts

Get alerts

/alerts/{id}

Get a specific alert

/alerts/count

Get the amount of alerts for a user

/alerts

Add a new alert

/alerts/{id}

Update an alert

/alerts/{id}/setReceiveNotification

Update alert's disabled users

New Analytics Section

You can analyze how Sisense is used in your organization by retrieving Sisense collections through the /analytics endpoint added to version 1.0 of the Sisense REST API. Collections are Sisense entities such as ElastiCubes, widgets,users, groups, or dashboards.

For example, you can see what KPIs are being analyzed, which groups are using certain dashboards, and if any ElastiCubes are no longer being used.  

/analytics/token

Returns a token used to authenticate calls to /analytics API endpoints

/analytics/token/revoke

Revoke a token used to authenticate calls to /analytics API endpoints

/analytics/collection/{collection}Get a collection of analytic data for Sisense objects

New LDAP Domain Sections

As part of Sisense's support for multiple Active Directory domains, Sisense has exposed several endpoints for adding and managing domains.

GET/ldap_domains

Get LDAP domains

GET/ldap_domains/{id}
Get a specific LDAP domain
POST/ldap_domains
Add a new LDAP Domain
POST/ldap_domains/test
Test LDAP Domain
POST/ldap_domains/{id}/sync
Sync LDAP Domain 
PATCH/ldap_domains/{id}
Update a LDAP domain 
DELETE/ldap_domains/bulk
Delete LDAP domains


New REST API SSO Parameters for SAML 2.0

The following parameters have been added to the GET and POST /settings/sso endpoints to support SSO via SAML 2.0:


loginUrlSaml

String

The login URL provided by the IdP that Sisense redirects your users to when authenticating through your IdP.

logoutUrlSaml

String

The URL where users are redirected to after logging out of Sisense. Typically, this URL is used to redirect users to a central SAML logout page where the user is signed out of all your SAML-connected applications.

idPCert

String

Certificate provided by your IdP that enables Sisense to decrypt SAML responses from the IdP.

lowSecurityJwtSso

Boolean

Determines the level of security enforced when implementing SSO JWT security.By default, this value is False, which means the JTI parameter is required.

The JTI parameter is a unique string added to the token that is used to prevent replay attacks, by making sure the token is used only once.


Sisense V6.4.1

Sisense REST API

The following v0.9 REST API calls have been deprecated:

/users/activate/{user}

/users/recoverpassword/{user}

The deprecated calls' functionality is supported in the following calls in v1.0 of the REST API: 

/account/activate{token}

/account/reset_password/{token}

Custom REST API

The following functionality was added to the Custom REST API:

Sisense V6.4

Native REST Connector

Sisense V6.4 introduces our new Native REST Connector that lets you create connectors for open RESTful data sources. Through your custom connectors, you can import data directly into the ElastiCube Manager beyond your default connectors. 

Click here for the latest documentation. 

SisenseJS 

Sisense V6.4 adds the SisenseJS JavaScript library that enables you to embed widgets and dashboards into your site or applications without the use of iFrames. 

For more information, click here

Sisense V6.2.5


Prior to 6.2.5, several JavaScript libraries were consumed by the Sisense web environment and attached to the browser window object, which meant that a 3rd party or Sisense plugins run-time and script manager (extension) could refer to the library by pointing to window.library.

In 6.2.5, these libraries have been encapsulated in a “private” scope, which means they will only be available in the plugins run-time and script manager (extension).

The following libraries are no longer accessible via the global window object, but rather directly through their object:


To use these libraries:

jQuery can now be accessed directly through the $ object, and no longer through window.jQuery. For backwards compatibility you can add window.jQuery = $ to your code.


Sisense V6.2

New ‘Admin’ API section

/dashboards/admin

Get all dashboards - Allows administrators to get the list of all available dashboards in the system.

/dashboards/{id}/admin/change_owner

Change dashboard owner

/dashboards/{server}/{title}/replaceDatasource

Replace the underlying ElastiCube for specific dashboards or across the system

New ‘Folder’ API section

Folder related actions can be automated with these new set of folder related API methods, including the newly introduced sub-folders.

/folders

Get all folders

/folders/{id}Get a specific folder
/folders/{id}/subtreeGet a subtree of a specific folder
/folders/{id}/ancestorsGet the ancestors of a specific folder
/foldersAdd a new folder
/folders/{id}Update a folder
/folders/{id}Delete a folder

New ‘Authentication’ API section

Allows authenticating users directly through the 'login' API call.

/authentication/loginAuthenticate and receive user token

New ‘Dashboard’ API methods

/dashboards/{id}/publish

Publish dashboard 

/dashboards/{id}/restore

Restore dashboard

/dashboards/{id}/change_owner
  • Change dashboard owner

New ‘ElastiCube Set’ API methods

/elasticubes/setsGet all ElastiCube sets
/elasticubes/sets/{title}Get a filtered list of ElastiCube sets
/elasticubes/setsAdd an ElastiCube set
/elasticubes/sets/{title}Update an ElastiCube set
/elasticubes/sets/{title}Delete an ElastiCube set

New ‘Reporting’ API section

/reportingSend an email report

New ‘Group’ API methods

/groupsAdd a new group
/groups/adAdd a new Active Directory group
/groups/bulkAdd multiple groups at once
/groups/ad/bulkAdd multiple Active Directory groups at once
/groups/{id}Delete a group

New ‘User’ API methods

/users/{id}Update a user
/users/bulkBulk delete users
/users/{id}Delete a user


Sisense V6 & API V1.0

REST API

Sisense V6 introduces our API V1.0, which formalizes the existing API into an improved and easier to consume API. 

The existing REST API is still marked as V0.9 and is fully functional within Sisense V6, thus all REST API functionality is backwards compatible.

In addition, API V1.0 is documented here and is also visible from within the Sisense web application.

Javascript API - Breaking Change Announcement

Sisense V6 is fully backwards compatible with all official objects and methods as documented in the Javascript API page.

However, as is often the case when working with Javascript, outside-of-the-API functions combined with DOM manipulations are commonly used for various plugin functionalities. Thus, we are supplying guidelines for aligning your existing Javascript code with changes that have been made to various internal Javascript components.

Upgrading plugins from the Sisense forums

If you are using plugins that have been posted on our forums, you need to verify that they are V6 compatible. We have added version compatibility details on all plugin details, and wherever necessary uploaded new versions that support V6.

Here is a list of popular plugins that need to be re-downloaded for V6 compatibility:

Upgrading self-developed plugins

Existing plugins need to be tested for V6 compatibility on a staging environment before upgrading.
Make sure to read the details below on changes that might affect your code.

Javascript Changes Details

1. Module manager upgrade

The old moduleManager has been upgraded to SisenseModuleManager that now supports the following methods:

2. Accessing the $scope via DOM

Using angular.element(...).scope() to get the $scope is no longer supported and will not work, as this practice misused a debugging-only tool and caused a significant impairment in our performance.


3. Calls with $http that return boolean values

In the past, calls using the $http service to APIs with a boolean return value would return as string values "true" or "false". Now they are returned as actual boolean values true or false.


4. Resources with the same name

In the past, if two resources were registered with the same name, the last one registered would be saved. 
Now, the first one will be saved, and consecutive attempts will result in an error.


5. Upgrades to 3rd party components

Certain 3rd party components used in the application has been upgraded:

Component
From version
To version
Changelog
Benefit
AngularJS1.2.91.4.6changelogImproved rendering performance
Underscore.js1.7.01.8.3changelog
PhantomJS1.92.0.0changelogImproved pdf and email behavior

Also, ngGrid was upgraded to it’s modern counterpart, angular-ui-grid 3.0.1 (changelog)

/settings/system