Academy

Given the recent release of icCube’s v8 rc1, find here a summary of new concepts, functionalities and resources available with this version made for developers.

Plugins / Theme / Widget Gallery

The new v8 allows for applying your branding in a more efficient way. You can now create your theme and custom widgets, package them as plugins and load them at runtime.

Plugins

Customers can extend icCube dashboards with their own plugins. A plugin consists of custom themes, widgets, tidy table transformations, localizations, etc… Plugins are exposed to icCube as Webpack Modules that can be federated. Then, icCube can be configured to load them at runtime.

Theme

A preset package containing graphical appearance and functionality details used to customize the look of the dashboards. Theme entities include but not limited to are: color palette, typography font and size, default data formatter, default chart options, etc. It’s a Javascript module packaged as a plugin.

Widget Gallery

The collection of widgets used by the icCube. Those are all the widgets available when using the “New Widget” menu: out-of-the box widgets plus any custom widget, meaning that you can create your very own Widget library of unique and branded custom widgets.

Dashboard functionalities

The new v8 is a fully new Dashboard application and comes with the new components below.

Tidy tables

The result of queries in the dashboards’ widgets are now in the format of tidy tables (well-known in the data science world). A tidy table is created from a dataset received from a data source (e.g., MDX, SQL, …), possibly transformed and then fed as input of a widget (i.e., chart, table, filter, etc) for its actual rendering. This format makes it easier to add transformations to the query result (see below.)

Table Definition Source

Similar to In-Memory data sources in the server, you can add a csv data in the report as a source (handy for demos, testing…).

Transformations

Transformations allow for manipulating the content of a tidy table before it is fed as input of a widget. Typical examples of transformations are: add/rename a column, add aggregations on rows/columns, percentage of total, colors, regression line, etc.

Mix measures from different cubes in a same query

You can now use measures from different cubes in a same query.

Text editor with Markdown

The text editors (used for tooltips, text boxes, etc) is now using markdown language which is a simple syntax language and can also contain HTML. The values, formattings, and basic calculations to display are also easily accessible with completion. This text is writen in the markdown language ( https://www.markdownguide.org/ )

Localization

You are now able to export a file that contains all terms defined in a dashboard (titles, texts, etc) for easy translation. No longer need to add codes, all text entries marked as ‘translatable’ might be automatically translated if needed.

Useful references

Dashboard Help

Documentation for charts, filters, maps, transformations and other Dashboard functionalities, as well as API documentation that includes how to develop new themes, widgets (charts, maps, etc…), data transformations, etc, and embedding icCube Dashboards into a Web application.

Live Demo

See working examples of charts, filters and data navigation. Click on the Edit Dashboard button on the top left menu to see how each widget was created.

Github page

Both public documentation and public source code are available in the GitHub repositories. Each repository contains a README.md file explaining how to get started with the project.

  • ic3-demo-embedded-iframe-react : This example is showing how to use the icCube Dashboards API to drive the icCube Dashboards instance from a host Javascript/Typescript application.
  • ic3-demo-plugin-react : A working example of an icCube Dashboards plugin creating custom widgets using React/Material-UI/Typescript.
  • ic3-demo-plugin-js : A working example of an icCube Dashboards plugin creating new widgets using plain Javascript/Typescript code (i.e., no dependency on React).
  • ic3-demo-plugin-theme : A working example of an icCube Dashboards plugin creating a custom theme.
  • ic3-reporting-api : The API for developing new themes, widgets (charts, maps, etc…), data transformations, etc… and for embedding icCube Dashboards into a Web application.

By Nathalie Leroy Tapia Heredia