Skip to content
Snippets Groups Projects
README.md 1.31 KiB
Newer Older
# datacrate

Node.js utilities for building and working with DataCrates.

(The DataCrate Standard is here: https://github.com/UTS-eResearch/datacrate)

This started as a library for crosswalking ReDBox 2 data publications
into CATALOG.json files as part of the publication workflow. It should
turn into a general-purpose toolkit which makes it easy to build
things like Provisioner bots and publication pipelines.

It doesn't generate the HTML for a DataCrate - that functionality is in
the Calcyte package, though in time this module might include that as 
a dependency.

## Usage

    const datacrate = require('datacrate').catalog;
    const datapub = get_metadata_from_rb2_somehow();
    const catalog = datacrate.datapub2catalog(datapub);
    fs.writeFileSync('CATALOG.json', JSON.stringify(catalog, null, 2));
PTSEFTON's avatar
PTSEFTON committed
## random.js is is a utility to generate plausible random DataCrates with no payloads, for testing things like Solr indexers. It generates random text descriptions and a reasonable distribution of keywords and authors.
Mike Lynch's avatar
Mike Lynch committed

    node ./random.js -d ./output/ -n 1000
Mike Lynch's avatar
Mike Lynch committed


## To-do

Refactor this module so that it's a library of components which can 
be used to build crosswalks like datapub2catalog, and then factor the
rb2-specific stuff out into its own modules.

Do a more robust job with the geolocations field using GeoJSON-LD.