Skip to content

Upgrade an existing installation

Konrad Abicht edited this page Sep 26, 2013 · 43 revisions

CubeViz is under heavy development, so it could be possible, for instance, that we have to break the API-compatibility between releases or change something in the configuration (ChartConfig.js) This page contains information about incompatible changes between releases. Please read that before you upgrade your CubeViz installation, or make yourself a Caffè Latte and enjoy the night finding the bug :)

Major points for incompatibilities:

  • ChartConfig.js - It contains the configuration of your visualizations, structured as a huge JSON object.
  • API - We provide an API to compute Data Cube information (query data store, create result structures, make AJAXs) and visualizations. You can differentiate the API into a PHP- and a TypeScript one.

Upgrade from 0.9 to 1.0

doap.n3-dist

  • Added: dimensionElementLimit - Limit the number of dimension elements in the selection window. Affects indirectly the number of possible observation! The lower the number is, the better the performance. Default: 100

PHP (backend)

CubevizController.php

  • changed:

    • getcomponentsAction also provides attributes from now on, not just dimensions and measures
    • getobservationsAction is now able to load all observations of a given data set
      • adapt it, so its not just limit to use dataHash
    • savecontenttofileAction has new parameter useObservations, to force CubeViz to use the existing observations instead of asking the database for new ones; this enables the use of artificial merged DataCubes
    • rename exportdataselectionAction to exportAction; furthermore it was adapt to provide merged DataCubes which uses the export URI in their URI
  • added:

    • getnumberofobservationsAction to get all observations of a given dataset

DataCube_Query.php

  • changed:
    • getObservations
      • selected dimensions are optional
      • maximum limit of observations is 500

rename DataSelectionExporter.php to Exporter.php

  • changed:
    • adapt URI's to:
      • cubeviz/export/ dataselection
      • cubeviz/export/ datacube

TypeScript (frontend)

  • added:
    • cubeVizApp._.data.settings.synchronizeWithStore to forbid CubeViz to query the database; it has to use what is already in the given DataCube

Configuration_Link.ts

  • changed:
    • save function divided into saveData and saveUI
      • no type parameter
    • write adapted: it writes the given content without that URI generation stuff
      • it gets the hash as parameter from now on

CubeViz_Collection.ts

  • changed:

    • add function allows to ignore key
  • added:

    • getElementValues return all valid values of all elements in a list

CubeViz_Visualization_Controller.ts

  • changed:

    • extend getVisualizationType to be able to load and check for D3js library classes
  • added:

    • getDefaultChartConfig to load a valid config for a given chart

CubeViz_Visualization_D3Js_CirclePacking.ts (new)

  • the first new visualization of the D3js library

DataCube_Component.ts

  • added:
    • findDimensionElement to return the element whose URI fits with a given one

DataCube_Observation.ts

  • changed:

    • loadAll: parameter dsUri added
  • added:

    • loadNumberOfObservations to load, maximum 1000, observations of a given dataset; it uses the getnumberofobservationsAction of CubevizController.php, which is also new
    • parseValue static function, to parse the measure value safely, without throwing exception or something like that; adapt related code parts to use this function from now on
    • getUsedDimensionElementUri to get the number how many dimension elements are used by retrieved observations

View_DataSelectionModule_Footer.ts

  • changed:
    • change it to gather an updated dataHash before showing a share-link to enable remembering adapted values by user

View_IndexAction_Legend.ts

  • changed:

    • displayRetrievedObservations creates a table with a lot of cool new fancy stuff
  • added:

    • sortDimensionsAscOrDesc and sortMeasureAscOrDesc to replace the removed functions which did that in the past
    • onDblClick_measureTd to handle double clicks on a measure value; it enables to temporary change the value and adapt the visualization, but the original value is still available
  • removed:

    • generateList function
    • onClick_sortAsc and onClick_sortDesc
    • sortByTitle and sortByValue

View_IndexAction_Visualization.ts

  • changed:
    • adapt render-function to enable the usage of different visualization libraries, not only HighCharts

Visualization_HighCharts_Chart.ts

  • added:
    • setTooltip to show the dimension labels and measure label; furthermore use underscorejs.string's numberFormat-function to create uniformly look for all measure values

Upgrade from 0.8 to 0.9

OntoWiki

  • you have to upgrade your Erfurt library which is located under OntoWiki/libraries/Erfurt. Use the latest develop version, by checkout it out manually, which has to be at least 1.6 or higher. If you use the Debian package, have a look to according OntoWiki/Erfurt information what are the latest supported versions.

CubeViz

  • Added

    • doap.n3-dist:
      • showAnalyzeToolDataSets (can be true or false) next to useAnalyzeTool (for more info see added section in 0.8 upgrade chapter)
      • titleHelperLimit to give you the possibility to limit the number of triples used in TitleHelper. It is a class to gather nice labels for a given resource, but if the number of resources is too high, it can really slow down your system. Good value is 1000
      • uiUseDataSetInsteadOfModel - If it is set to true, replace model label by data set label in visualization view (index action)
  • Changed:

    • generation of DATA and UI hashes, so all the old hashes are no longer valid in 0.9 and will be regenerated if necessary.
  • Removed:

    • file typescript/src/Model/DataCube/ Attribute.ts > moved their implementation to typescript/src/Model/DataCube/ Component.ts, because an attribute is a component in the end. Now its more clear and closer to the specification

Upgrade from 0.7 to 0.8

  • Added
    • doap.n3-dist - There are two more options to activate or deactivate certain parts of CubeViz: analyze tool and export of current data selection. These new lines can be found around line 28 and looks like:
  #
  # Activate / deactivate certain functionalities
  #     true  = activated
  #     false = deactivated
  #
  :useAnalyzeTool "true"^^xsd:boolean ;
  :useExport "true"^^xsd:boolean .
  • Changed
    • doap.n3-dist - It contains queries and layout information for analyze action. So simply override your doap.n3 with new doap.n3-dist, except you made some changes than save these and copy them into the new doap.n3.

Upgrade from 0.6 to 0.7

  • Renamed
    • CubevizModule.php renamed to DataselectionModule.php; related files such as CSS or templates adapted
  • Moved
    • cubeVizApp._.data.selectedComponents.measures removed, there is only cubeVizApp._.data.selectedMeasure from now on, which represents the selected measure.

Upgrade from 0.5 to 0.6

ChartConfig.js (Please have a look into ChartConfig.js.dist for a working version)

  • Moved
    • Entry of defaultValue moved the values entry. Add isDefault property to this element, which is the default one. In the following a code snippet to show you the change:
"0": {
        "charts": [
            {
                "label": "bar",
                ...
                "options": [
                     {
                         "label": "Type",

// before: simple array with exactly one item inside //
                         "defaultValue": [ { "label": "Bar", "value": "bar" } ],
///////////////////////////////////////////////////////

                         "values": [

// after: remove defaultValue, add item to values, add isDefault //
                             { "label": "Bar", "value": "bar", "isDefault": true },
///////////////////////////////////////////////////////////////////

                             { "label": "Column", "value": "column" }
                         ],
                         "key": "chart.type",
                         "type": "array"
                     },
  • Renamed
    • Content of each defaultConfig > chart > renderTo entry was renamed from container to cubeviz-index-visualization
    • Each class got a new prefix: CubeViz_. For instance: Visualization_HighCharts_Bar > CubeViz_Visualization_HighCharts_Bar
    • Key of an chart object was renamed from class to className (avoids problems in IE)
    • doap.n3 renamed to doap.n3-dist (now it is possible to maintain your own configuration without getting disturbed by the versioning system). You have to create a copy of doap.n3-dist and it must have the filename doap.n3 to get recognized by OntoWiki.