icCube

Documentation

Migrating icCube : 4.2.1 to 4.5

Since version 4.2. several important changes have been introduced to support the new Web Reporting. If migrating a production server from a version prior to 4.2 please review carefully this document.

The icCube server is backward compatible with previous version and no major change has been introduced. Please review the previous migration documents and the release notes for more details.

Installation Reminder

Different versions of icCube can be installed side-by-side on the same machine and no file will be removed during the installation of a new version.

The main two directories mentioned in this page are:

  • the installation directory (referred to $install hereafter) : this is where the icCube binaries are installed,
  • the application directory (referred to $app hereafter) : this is the place where a running instance of icCube server is storing its data (e.g., users, roles, cubes, etc...). On startup of icCube this directory (if not existing) is created and initialized with the content of the $install directory.

Web Reporting

Several changes both on the server side and the client side have been introduced. Migrating from a previous version is automated as much as possible. For that purpose, please backup you application directory before migrating icCube. Better, we advise you to install icCube on a separate machine using a copy of the application directory to check the migration is fine with your production setup.

Server Side : Docs Setup

The previous layout of the ic3report directory was as following:

        ic3-report
            /app                : Web Reporting application code (e.g., JS, CSS, HTML, ....)
            /data               : actual reports with no specific layout
    

The new layout (with default access rights) is as following :

        ic3-report              : access rights : none                 owner : admin

            /app                : access rights : everybody - read     owner : admin

            /app-local          : access rights : everybody - read     owner : admin

                ic3report-config.js
                ic3report-local.js
                ic3report-local.css

                /plugins

            /data               : access rights : none                 owner : admin
                /shared         : access rights : everybody - read     owner : admin
                  ...

                /users          : access rights : none                 owner : admin
                    /user-n     : access rights : none                 owner : user
    

The idea is to have a /shared directory that is accessible by all the users (access right still apply) and a private directory for each user (/users). Having no access rights, user directories are accessible only by the owner (i.e., user) and users with administrator privileges. Note that all access rights can still be updated to meet your own requirements.

When migrating, the existing /data directory is actually move into the /data/shared directory (using existing access rights of /data if present). Note that when opening a report using its full name (i.e., path and name) the URL should now contain the /shared directory. For the sake of simplicity when migrating, /shared is added automatically if the URL does not start neither with /shared nor /users.

Application Local Configuration / Changes

Previously, the application was configured/updated using the files:

        ic3report
            /app
                /reporting
                    /css
                        ic3report-local.css
                    /js
                        ic3report-local.js
    

Now, all local changes/settings are done using files within the /ic3-report/app-local directory. Therefore, re-installing the Web Reporting will have no impact on these files. Existing files are not moved; you'll have to manually update the new files to reflect your existing changes and configuration. For more details about local configuration, please have a look to the following page.

Application Bootstrap : ic3ready()

Unless you're providing your own HTML page to integrate the Web Reporting this change should be transparent. Otherwise, the ic3ready() function has been improved for a full configuration of the 3rd party libraries being used. There is no need anymore to have jQuery explicitly loaded when calling this function and you can call this function before the document is ready. The callback provided to ic3ready is going to be called once all the libraries have been loaded and the document is ready. More details can be found here.

Report Migration

On opening, reports are automatically migrated as much as possible. Nevertheless, we strongly advise you to check everything is fine. If you encounter any trouble please contact our support.

Report Migration - Events / Report Parameters

Report parameters, constants and events have been unified to be more consistent. More details can be found in here and here. Nevertheless, it is worth to be noted that the event accessor asDefaultValue has been replaced by asReportParam and asFilterInitialSelection; their usages are not automatically updated. Please contact our support if you encounter any issue with this feature.

Report Migration - Highcharts

Highcharts support is done via an external plugin not available by default within the application. Please contact us for more details.

Report Migration - AmCharts

AmCharts is now officially supported. Previous usages of AmCharts are not automatically migrated. Please contact us for more details.

Roles / Access Rights

Applications

The Web Reporting section has been enhanced to support report notes and snapshots. A default entry will be created for your existing roles following the actual settings of the Dashboards section. But you might need to review updated roles to ensure they're meeting your needs.