icCube

Documentation

Migrating icCube : 4.1.1 to 4.2

IMPORTANT : The Web Reporting is not ready for production : please do NOT upgrade your icCube production server if you're using the icCube Web Reporting.

The icCube 4.2 server is backward compatible with 4.1.1; following are the main changes :

  • See below for details about changes in the Web Reporting application.
  • See below for new Applications / Web Reporting / Notes section.
  • See below for new configuration properties in the file icCube.xml and CLASSPATH update.
  • This release has migrated to the latest Jetty version (v9).
  • The JAVA access from MDX configuration has been changed to a white-list mechanism.

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.

Configuration (icCube.xml)

Within the configuration file $install/bin/icCube.xml, the following properties have been either added, modified or deleted.

icCube.calcMemberDefinedUniqueName

Added. When true, the unique name of the calc. measure/member is the full name used for its declaration (i.e., not internally generated). Setup as true (see icCube.xml).

httpComponentConfiguration.requestHeaderSize

Added. Larger headers will allow for more and/or larger cookies plus larger form content encoded in a URL. However, larger headers consume more memory and can make a server more vulnerable to denial of service attacks.

httpComponentConfiguration.responseHeaderSize

Added. Larger headers will allow for more and/or larger cookies and longer HTTP headers (eg for redirection). However, larger headers will also consume more memory.

httpComponentConfiguration.outputBufferSize

Added. Set the size of the buffer into which response content is aggregated before being sent to the client. A larger buffer can improve performance by allowing a content producer to run without blocking, however larger buffers consume more memory and may induce some latency before a client starts processing the content.

httpComponentConfiguration.headerBufferSize

Deleted.

httpComponentConfiguration.requestBufferSize

Deleted.

httpComponentConfiguration.responseBufferSize

Deleted.

httpComponentConfiguration.ssl

The different properties have been updated to reflect Jetty 9 configuration. (www).

httpComponentConfiguration.idleTimeout

Jetty connection timeout in seconds (-1 means default : 30s).

gwtServiceComponentConfiguration.enableFileDownloadCompression

Enable GZIP encoding when downloading files.

reportingComponentConfiguration.enableCompression

Enable GZIP encoding.

gviComponentConfiguration.enableCompression

Enable GZIP encoding.

JAVA MDX Configuration (icCube.xml)

Within the icCube.xml notice the new javaMdxConfiguration section replacing the javaMdxActive, javaMdxForbiddenPackages, classRepositoryActive and classRepositoryExtra properties.

Launcher (icCube.bat / icCube.sh)

The classpath has been updated to use the latest Jetty (v9), HttpCore 4.3 (was 4.2.1), HttpClient 4.3.1 (was 4.2.1) Commons-Logging 1.1.3 (was 1.1.1).

LOG4J Configuration (log4.xml)

The logger org.mortbay.jetty has been replaced by org.eclipse.jetty.

Web Reporting

Docs Setup (e.g., data directory)

The initial setup of the Docs repository is as following :

        ic3-report      : access rights : none                 owner : admin
          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 from an existing repository, 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. Note that to ease the migration /shared is added automatically if the URL does not start neither with /shared nor /users.

ic3report-local.js / css

Those files allows for customizing the installation of the Web Reporting. Their location has been changed (was within the ic3-report/app/reporting/css and /js directories); by default they are now located within the ic3-report/app-local directory. Therefore, re-installing the Web Reporting will have no impact on these files.

For more details about these files, you may have a look to the following page.

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.