Datalift — SDMX2DataCube
It was created to fulfill the needs of the Datalift project to work with statistical linked data by two students during a two weeks scholar project.
How to use it
SDMX2DataCube shouldn't need anything else than Datalift's source code to be compiled, all of the other dependencies being uploaded in its repository.
SDMX2DataCube specifically needs access to Datalift's
incubator module folders . Those dependencies will be automatically found if the
sdmxdatacube folder is placed at the root of Datalift's source code, or can be otherwise resolved by placing symbolic links inside
ln -s /Path/to/Datalift/core/ core ln -s /Path/to/Datalift/framework/ framework ln -s /Path/to/Datalift/incubator/ incubator
Please note that in order for the compilation step to execute, the Datalift core and framework must have already been compiled, including the
Once compiled, the module can be used by placing its jar (
sdmxdatacube/dist/sdmxdatacube.jar) inside Datalift's
modules directory (
DATALIFT_HOME/modules), and restarting Datalift.
This process can be automated by using one of the two build scripts :
live-build.xml (developer-centric and rather opinionated).
How is it built
This module is designed to feel snappy to use, the first request loads the whole interface and every subsequent call is full AJAJ.
The conversion engine relies on the SDMXRDFParser library, which is based on SDMXSource and Spring.
Points of interest
- This module is built with strict mode enabled ("use strict").
- JSON exchanges format are defined with JSON Schema.
- Knockout Validation is used to manage form validation (client- and server-side).
- This module shares a small common code base (via inheritance) with the StringToURI module.
- Due to the integration of the SDMXRDFParser library, which requires Spring, this module is quite heavy (± 50Mo).
What's the module's future
This module will (hopefully) soon be integrated as part of Datalift's main modules repository and further developed to better integrate with its conversion engine. Its interface will (hopefully) better answer the needs of its main users. A better integration of MagicSuggest is also necessary.
A note about integration with SDMXRDFParser is available here (french).