/data-explorer

CKAN Next Gen Data Explorer app and components built in React

Primary LanguageCSS

The Dataopian Data Explorer is a React single page application and framework for creating and displaying rich data explorers (think Tableau-lite). It incorporates connecting to data sources, searching and filtering, views such as table, charts and map as well as conrtros to create and customize those views.

Use stand-alone or with CKAN. For CKAN it is a drop-in replacement for ReclineJS in CKAN Classic.

Full overview and docs at: http://tech.datopian.com/data-explorer/

Use it

Usage

<div class="data-explorer" id="..." data-datapackage="{...}" ></div>

<!-- where datapackage is -->
<srcipt>
  const datapackage = {
    resources: [{resource}], // single resource for this view
    views: [...], // can be 3 views aka widgets
    controls: { 
      showChartBuilder: true,
      showMapBuilder: true 
    }
  }
</srcipt>

<!-- import data explorer -->
<srcipt src="..."></srcipt>

TODO: Using it via webpack etc

Development

This was built using create-react-app so you can use all the standard commands.

Installation

  • clone this repo
  • yarn
  • yarn start
  • visit localhost:3000

You should see: alt text)

Cosmos

Run yarn cosmos

You should see: alt text

For development you can save your configs in __fixtures__/projects/

Fixtures

Until we have better docs on settings, use fixtures as examples of how to instantiate the app.

Fixtures are representations of Data Explorer state, contained in __fixtures__ directory.

Serialized state

store->serializedState is a representation of the application state without fetched data A data-explorer can be "hydrated" using the serialized state, it will refetch the data, and will render in the same state it was exported in

A note on share links

There is common limit of up 2000 characters on URL strings. Our share links contain the entire application store tree, which is often larger than 2000 characters, in which the application state cannot be shared via URL. Thems the breaks.

Production

In order to build files for production, run npm run build or yarn build.

You need to have node version >= 12 in order to build files. Otherwise a 'heap out of memory error' gets thrown.