GoodData javascript sdk library mainly provides a thin javascript abstraction over the GoodData REST API. It is created to makes it easy to use the GD platform and write small javascript apps relying on GD APIs.
GoodData javascript sdk can be used as bower component. The result of the build is
in dist/gooddata[.min].js
. Result of the build UMD-compatible -
you can use it both globally (see D3 example) and as AMD module. Note that you need to provide
jQuery before trying to load sdk. In both AMD and CommonJS environment we expect jQuery library module
to be named jquery
.
To build the sdk you need to have git and Node.js installed. MacOS users should install Homebrew first and then run:
$ brew install git
$ brew install node
Now, clone this repo with $ git clone [email protected]:gooddata/gooddata-js.git
and get the library dependecies with
$ npm install -g grunt-cli
$ npm install -g bower
$ npm install
$ bower install
In the repository run:
$ grunt
and the built library is ready for you at dist/gooddata.min.js
It is easy to start your own project with this repository or modify and explore examples depicting some of the sdk usages. To start with examples run:
$ grunt dev
Which starts proxy that allows your script to communicate with secure.gooddata.com
(backend can be changed with $ grunt dev --backend=some-other-backend.na.getgooddata.com
).
To run some of the examples, first you need to update credentials in the related js file.
In case of d3-data-viz example you need to edit
viz.js
file and update user
and passwd
variables. Then just add the name of the example to URL like
localhost:8443/d3-data-viz and you should get a nice chord
chart rendered in a while.
Documentation of functions available in SDK can be found at sdk.gooddata.com/gooddata-js/api. It can be generated right from the source code by running:
$ grunt doc
Run tests with:
$ grunt test
Test coverage report can be found in coverage/
folder.
New version of library can be released with grunt release:[major|minor|patch]
task. For all options
see grunt-bump task.
Task is meant to be run from master
branch of this repository.
Flow of release is:
- bump version to version+1 in
bower.json
andpackage.json
- create version commit & tag and push these to your origin remote (so watch your remote naming)
- create version commit & tag and push product of build (
dist/*
) togooddata/bower-gooddata-js
repository
Steps to publish a release:
- you should have
gooddata/gooddata-js
asorigin
since all tasks publish to origin remote - run
grunt release:{version-type}
inmaster
- run
grunt bump-gh-pages
inmaster
- you're done