Ticket #189 (new enhancement) — at Version 2

Opened 4 years ago

Last modified 4 years ago

Multiple download urls

Reported by: dread Owned by: rgrp
Priority: critical Milestone: v0.11
Component: ckan Keywords:
Cc: Repository:
Theme:

Description (last modified by dread) (diff)

See also: PackageResources which defines a 'distribution' as a package's payload (perhaps with metadata). In our case, at least within CKAN, the representation of the distribution will just be the reference to get it (plus some minor metadata).

As a

User (package editor and package user)

I want to

(package editor) Associate multiple distributions with a package.

(package user) Easily have access to multiple distributions of a package should they exist.

Implementation

There is an object called 'Distribution' with the following attributes:

  • url (text) (required in UI, but not in db table)
  • format (text)
  • description (text)
  • package (association) - a distribution is always associated with 1 package

A package's list of distributions will have an order which is preserved. The first in the list will be known as the 'default distribution'.

How to replace download url

download_url removed and replaced as a proxy attribute. Read returns the url of the default distribution. Write changes the url of the default distribution. Ensures backward compatibility.

REST API has new attribute in package dictionary 'distributions' - an ordered list.

In WUI, replace download url in package read with a table of the distributions.

In the WUI package edit, be able to add/remove/edit/reorder distributions.

Example

Example part of package:

Distributions:

http://some.com/pollution.pdf PDF Original report
http://some.com/pollution.csv csv Original data
http://some.com/pollution sparql Linked version of data

Existing data to be migrated to new structure.

Cost: 4 days

Change History

comment:1 Changed 4 years ago by dread

  • Description modified (diff)

comment:2 Changed 4 years ago by dread

  • Priority changed from awaiting triage to critical
  • Description modified (diff)
Note: See TracTickets for help on using tickets.