DEPRECATED - see https://github.com/okfn/ckan.js [Javascript client library and app for CKAN data hub software]
JavaScript Shell
Failed to load latest commit information.
css
docs [docs][s]: update docs and docs homepage. Sep 24, 2011
pkg
src
test [bugfix,ui][s]: fixes for removal of UI.initialize in penultimate com… Jun 5, 2012
vendor
widgets
.gitignore
.hgignore [hgignore][xs]: add css/ckan. Mar 12, 2011
README.rst [README][xs]: explain that CORS is now CKAN core. Aug 23, 2011
TODO.txt [view/dataset][m]: work on dataset view to make it nicer. Jul 24, 2011
index.html
make
manifest

README.rst

A javascript library for CKAN including a fully-featured javascript-only app interface to CKAN sites (entitled DataDeck).

Installation

  1. Copy this directory to the directory of your choice.
  2. Open app/index.html in a web browser.

Config File

You can overload the main config options by creating your own configlocal.js app/ directory and setting relevant options (copy and paste from template in app directory).

CKAN Server Config

The 'editing' features in this javascript app require the ability to make remote cross-site POST and PUT requests to the CKAN server. For this to work you will need to have CORS-enabled your CKAN site.

NOTE: as of August 2011 CORS is built into CKAN itself.

Here's how to do this on Apache:

Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, PUT, GET, OPTIONS"
Header always set Access-Control-Allow-Headers "X-CKAN-API-KEY, Content-Type"

# Respond to all OPTIONS requests with 200 OK
# This could be done in the webapp
# This is need for pre-flighted requests (POSTs/PUTs)
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

Features

The following features are supported so far:

  1. Search and rendering of search results
  2. Inline editing of packages (with an API key)
  3. Adding packages
  4. Switching between different CKAN instances during use

The following features are planned:

  • Editing Package relationships
  • Embeddable widget on websites to show latest changes

Roadmap

  • Testing - QUnit + Sinon.js (DONE)
  • Search (DONE)
  • Create a Package (DONE)
  • Edit a Package - Full and Inline (DONE)
  • Quick Add Resources to Package
  • Inline edit of tags
  • Geolocate (and display)
  • Update multiple packages at once
  • Editing Package relationships

Others:

  • Extract Preview code for use in main site