/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/cube | Restores the Usage Analytics ElastiCube to its original state. | |
admin/usageanalytics/restore/dashboards | Restores the Usage Analytics dashboards to its original state. | |
admin/usageanalytics/{id}/usageMetadata | Returns metadata for a dashboard. You can specify the dashboardType as a string (owner or user). |
/dashboards/{id}/metadata | Returns dashboard metadata. You can specify which data should be returned by settings the following booleans as true:
|
/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.
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.
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.
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.
/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 |
Previously, the following endpoints returned error responses in XML. From Sisense V7.2, these endpoints return error responses in JSON.
/elasticubes/servers/next
/elasticubes/servers/next/{address}
/elasticubes/servers/next/{address}/build
/elasticubes/servers/next/{address}/explain_build/
/elasticubes/attachDataset
/elasticubes/detachDataset
/elasticubes/{address}/{cubeId}/delete
/elasticubes/next/getContextFromExpression
/datasources/
/api/v1//elasticubes/live/{oid} | |
/api/v1//elasticubes/live/{oid} | |
| /api/v1//elasticubes/live/{oid} |
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)
/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. |
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.
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 };
/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 |
/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} |
/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 |
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 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.
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}/settings | Returns your ElastiCube server’s settings. | |
/elasticubes/servers/{server}/settings | Updates your ElastiCube server’s settings. | |
/elasticubes/server/{server}/permissions | Updates your ElastiCube server’s permissions. |
Fields Suggestions
/suggestions/status | Returns the status of your suggestions. | |
/suggestions | Returns suggestions for an entity. This endpoint allows you to leverage Sisense suggestions in your own application. | |
/suggestions/refresh | Refreshes your suggestion's ranking. |
/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 |
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.
getDrillItems()
Admin
/app_database/encrypt_database_password | Returns an encrypted password from plaintext for your Sisense MongoDB users. | |
/app_database/change_database_user_password | Change a MongoDB user's password. |
Engine
/engine/excelExport | Export Excel files. |
Narration
/narration/token | Returns a Sisense Narratives Token. | |
/narration/widget | Define narrated text. |
/plugins | Returns a list of your plugins. | |
/plugins/get_info | Returns the plugin's build information. | |
/plugins | Update your plugin's metadata. |
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
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.
Save custom objects within the Sisense MongoDB that you can access and leverage from Sisense plugins you develop.
Create and manage new live connections to MySql and SQL Server data sources through the connections endpoints.
Export and import new multiple dashboards through a single .dash file with the new dashboards endpoints.
Create a manage new datasets through the datasets endpoints.
Return a list of dimensions for a live data source through the datasources endpoints.
Create and manage custom tables and fields through new ElastiCube endpoints.
Delete folders and their dashboards through the folders endpoint.
Manage your live data sources through the live-connectors endpoints.
Return a log that describes your dashboard and widget render time through the logs endpoint.
Manage tokens for Oauth
Return a list of your supported Sisense languages and their language files through the translations endpoints.
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.
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.
The Sisense Custom REST API now supports:
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 |
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:
Widget.redraw(): Redraws the widget without querying (unlike .refresh() that does both). This method is used to change the size of the widgets container.
Widget.destroy(): Removes the widget from the DOM.
Dashboard.destroy(): Removes all dashboard's widgets and the Filter pane from the DOM.
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 |
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 |
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/{id} | |
POST | /ldap_domains | |
POST | /ldap_domains/test | |
POST | /ldap_domains/{id}/sync | |
PATCH | /ldap_domains/{id} | |
DELETE | /ldap_domains/bulk |
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. |
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}
The following functionality was added to the Custom REST API:
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.
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.
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.
/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 |
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}/subtree | Get a subtree of a specific folder | |
/folders/{id}/ancestors | Get the ancestors of a specific folder | |
/folders | Add a new folder | |
/folders/{id} | Update a folder | |
/folders/{id} | Delete a folder |
Allows authenticating users directly through the 'login' API call.
/authentication/login | Authenticate and receive user token |
/dashboards/{id}/publish | Publish dashboard | |
/dashboards/{id}/restore | Restore dashboard | |
/dashboards/{id}/change_owner |
|
/elasticubes/sets | Get all ElastiCube sets | |
/elasticubes/sets/{title} | Get a filtered list of ElastiCube sets | |
/elasticubes/sets | Add an ElastiCube set | |
/elasticubes/sets/{title} | Update an ElastiCube set | |
/elasticubes/sets/{title} | Delete an ElastiCube set |
/reporting | Send an email report |
/groups | Add a new group | |
/groups/ad | Add a new Active Directory group | |
/groups/bulk | Add multiple groups at once | |
/groups/ad/bulk | Add multiple Active Directory groups at once | |
/groups/{id} | Delete a group |
/users/{id} | Update a user | |
/users/bulk | Bulk delete users | |
/users/{id} | Delete a user |
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.
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 forumsIf 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 pluginsExisting plugins need to be tested for V6 compatibility on a staging environment before upgrading. |
The old moduleManager
has been upgraded to SisenseModuleManager
that now supports the following methods:
createModule
for creating a new modulegetInstanciated
to get all modules that were registered in the applicationgetModule
to get a specific module by name$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.
$http
that return boolean valuesIn 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
.
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.
Certain 3rd party components used in the application has been upgraded:
Component | From version | To version | Changelog | Benefit |
---|---|---|---|---|
AngularJS | 1.2.9 | 1.4.6 | changelog | Improved rendering performance |
Underscore.js | 1.7.0 | 1.8.3 | changelog | |
PhantomJS | 1.9 | 2.0.0 | changelog | Improved pdf and email behavior |
Also, ngGrid
was upgraded to it’s modern counterpart, angular-ui-grid 3.0.1
(changelog)