{22} Trac tickets (2647 matches)

Results (301 - 400 of 2647)

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Id Type Owner Reporter Milestone Status Resolution Summary Description Posixtime Modifiedtime
#176 enhancement dread dread closed duplicate Package dependencies

(Related to ticket:169 - Package derivations)

A 'dependency' relationship can be applied from one package to another. It implies that a package requires the download or existence of another package which it 'depends on'. (Analogous to software package dependencies.)

e.g. london-traffic-visualisation depends on road-map

'Dependency' relationship is:

  • directional
  • many:many
  • stateful

'dependency' table columns:

  • id (primary key)
  • dependent (foreign key)
  • dependency (foreign key)

Further tickets:

  • WUI - package view - have list of dependencies (do not need to list packages which depend on this one)
  • WUI - package edit form - new option to say 'depends on' (no need for 'has dependent package')
  • REST api - expose reading and writing 'depends on' property.


  • How do we deal with dependency at a particular version?
1257162812000000 1266928721000000
#177 enhancement rgrp dread closed invalid Service documentation

This is docs for users of a CKAN service (e.g. ckan.net), as opposed to someone installing / administering the software. (The latter has docs on knowledgeforge.

Editability - wiki?

1257243285000000 1273050236000000
#178 enhancement rgrp dread v0.11 closed fixed Excel package importer

/tool New 'tools' section of the WUI with 'Excel package import' page.

/tool/import Import page allows you to upload a file. The format of the required Excel file is described here. List of licenses provided for copy&paste.

/tool/import/preview When you upload it, it gives you a simple preview of the file, offering import. Text as per Package Preview. 'import button' for completing process.

File format:

First row to have a cell value of 'name' or 'title' in it is the Title Row. It contains the field names, as per package. It includes:

  • license - name of license
  • tags - space separated
  • groups - space separated
  • anything - for extra key-values

When importing, values are bound into the package fieldset, validated and displayed for the preview and synced to complete.

User has to log in to use importer. Auth is checked for putting into groups.

1257244034000000 1265305558000000
#179 defect dread rgrp v1.0 closed fixed Restore 404 and 500 messages in WUI

Cost: 0.5h (?)

Conjecture this went missing in cset:a35db862a841

1257412668000000 1265305549000000
#180 enhancement rgrp jwyg v0.11 closed duplicate Tag cloud as way to view CKAN tags

Create big tag cloud with all CKAN tags - perhaps weighting with size and colour...

1257534254000000 1265284374000000
#181 enhancement rgrp jwyg closed invalid New 'stats' box on right hand sidebar

With up to date statistics such as:

  • total packages
  • total tags
  • total users
  • most active users
  • last update
  • etc.

Could also be nice to have a more dedicated stats page - with information such as graphs showing rate of packages being added and such like. See ticket:184

1257534385000000 1296339510000000
#182 enhancement rgrp v1.0 closed fixed Improve openness icons

Tick and cross aren't clear enough. Propose:

  • Icon for downloadability (nothing if absent ...(?))
  • Icon for open license? (Need something if closed ...)

Cost: 2h (?)

1257534590000000 1270567116000000
#183 enhancement rgrp rgrp closed worksforme Browse packages by rating

At moment order packages by title.

1257534606000000 1290604779000000
#184 enhancement dread rgrp closed fixed Stats page

Create /stats/ page displaying main statistics, e.g:

  • Most highly rated packages
  • Most edited packages
  • Largest groups
  • Top tags (by packages)
  • Package addition rate
  • Users with most packages

Related to ticket:181 - Stats side-bar


1257534756000000 1266837414000000
#185 enhancement rgrp dread closed invalid Package form field hiding

Make parts of the package form hidden by default, to make it look simpler. Users are invited to click a button to reveal the less important fields.

Fields hidden by default: version, author, author_email, maintainer, maintainer_email

1257763437000000 1291830039000000
#186 enhancement rgrp rgrp closed duplicate Automated upload to archive.org s3

(Follows on from ticket:107). We want to provide facility for users to automatically upload material.

1257803430000000 1296341182000000
#187 enhancement rgrp rgrp v0.11 closed fixed Full-text search

Standard search should search notes field in addition to name, title and tags (discussed in ticket:108 but not done). For this to work we need proper text search since o/w we get poor ordering and lots of bad results.

If we do this we need:

  1. To weight across fields in a sensible way
  2. We can also use proper text search on title or ...

Easiest way to do this is to use existing facilities in dbs e.g. postgres has full text support since 8.3: http://www.postgresql.org/docs/8.3/static/textsearch.html

Using this with sqlalchemy: http://lowmanio.co.uk/blog/entries/postgresql-full-text-search-and-sqlalchemy/

Issues with fulltext search:

  • tags not indexed, so would need to 'or' search of tags. This would cause problems with the order_by of the query, since the tags wouldn't have a ranking.
  • if tags are indexed then perhaps we don't want them converted into lexemes? Exact match could well be better.
  • can we split the name on dash or underscore before being indexed?
  • natural language search doesn't do partial words, so search for 'gov' doesn't bring up 'government'.
  • do we keep the existing search system usable with a config file switch for if we install on a db aside from postgres?
  • we want to weight name and title higher than other fields - achievable with custom trigger.
1257869950000000 1265892403000000
#188 enhancement rgrp rgrp v0.11 closed duplicate Improve package listing views

Propose change to tabular-like format showing these attributes (perhaps should be configurable?)

  • Openness status
  • Title (not sure name is needed)
  • Tags

Cost: 4h

1257870031000000 1265294090000000
#189 enhancement dread dread v0.11 closed fixed Multiple download urls

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). We are expanding this functionality to be any kind of 'resource' associated with a package since it is likely in some cases people will want to link to a file containing a part, but not the whole, of a package's data.

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.


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

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

A package's list of resources will have an order which is preserved. The first in the list will be known as the 'default resource' (the presumption will always be that this is a '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 resource. Ensures backward compatibility.

REST API has new attribute in package dictionary 'resouces' - 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 part of package:


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

1258386120000000 1265284961000000
#190 defect pudo dread closed fixed Package comments

Cost 7 days

When viewing a package, users can read user comments and leave their own. Users need to be logged in to leave a message. Comments appear immediately. A mechanism for deleting unwanted comments is provided to an authorized user. Comments are sorted with the most recent first. Comments are available for read, creation and deletion in both the Web UI and over the REST API.

The admin for the package and a superuser can delete unwanted comments, both on the package page and a collation of all comments on their user page. Users can delete their own comments(?) Need to consider whether over the REST API we encourage the use of a 'frontend user' APIKEY which can be used to leave comments for another, actual user.

Example at bottom of package page:

Leave a comment:

Subject _
Comment _

Submit button


Explanation doc
Posted on 25h May 2009 by http://bertdavies.myopenid.com
It says on the pollution data web page that not all the stations have a CO2 sensor, so you have to extrapolate from the ones that do. See my visualisation of CO2 across London for an idea of what you can do: bertdavies.com/pollution-2008.jpg
More info
Posted on 24th May 2009 by http://ronsmith.myopenid.com
Excellent data, but why is there no value in the CO2 column for some of the testing stations?

Implementation details:

Comments table is with columns:

id package_id date (date) comment (multi-line text)
1258387105000000 1280820852000000
#191 enhancement johnglover dread ckan-sprint-2011-12-19 closed fixed Searching by modification date

Cost - 2 days

Search interface has new options to filter and sort the results by the date the package has been last modified in ckan. Search options are included in both Web UI and Search API.

The filter specifies a range of dates. The results can be sorted by ascending or descending dates. The last modification date is surfaced in the package.

Example search parameters:

modification-range=5/4/09- Exclude packages last modified earlier than 5/4/09
modification-range=5/4/09-5/12/09 Exclude packages last modified outside of 5/4/09-5/12/09
order_by=mod Sort by metadata modification. Defaults to newest first.
order_by=mod-newest Sort by metadata modification, newest first.
order_by=mod-oldest Sort by metadata modification, oldest first.
1258387778000000 1330020983000000
#192 enhancement rgrp dread closed fixed Time-related package field

Cost - 2 days

The time period to which a package's data applies is stored in a new field called 'Relevant Date Range'. The value of this field is up to two calendar dates: i.e. either a point in time (e.g. date of a river map is 5/10/09) or a time period (e.g. pollution measurements 1/1/09-1/4/09).

Example part of package:

Date: 5/10/09
Date: 1/1/09 – 1/4/09

1258388163000000 1291733895000000
#193 enhancement rgrp dread closed wontfix Searching by time-related field

Cost - 2 days

Search interface has new options to filter and sort the results by the time-related field of the package. Search options are included in both Web UI and Search API.

The filter specifies a range of dates. The results can be sorted by ascending or descending dates. The last modification date is surfaced in the package. Need to decide for a time-related field value that is date range, what date is used for the search.

Example search parameters:

reldate-range=5/4/09- Exclude packages related to earlier than 5/4/09
reldate-range=5/4/09-5/12/09 Exclude packages related to date outside of 5/4/09-5/12/09
order_by=reldate Sort by date package is related to. Defaults to newest first.
order_by=reldate-newest Sort by date package is related to, newest first.
order_by=reldate-oldest Sort by date package is related to, oldest first.

Related to ticket:192

1258388169000000 1340626463000000
#194 defect rgrp dread v0.11 closed fixed Check star ratings aren't influenced by search engine crawlers

rel=nofollow or robots.txt ?

1258471512000000 1265284389000000
#195 enhancement rgrp rgrp v0.11 closed fixed Association listings should be alphabetically sorted (e.g. a group's packages)

Where an item has an association listing (e.g. package's tags or group's packages) these should be sorted in a sensible way. For present choose to sort alphabetically by name.

Cost: 2h

1258475448000000 1258585500000000
#196 defect dread dread v1.0 closed fixed RDF URI to resolve on CKAN

Provide RDF version of a package at the RDF URI: http://ckan.net/package/rdf/32000-naples-florida-businesses-kml

See email on OKFN help:

For the information to be Linked Data, the following URI (from the api.talis.com SPARQL call) should be resolvable to RDF, or an RDFa enhanced HTML page.

1258727988000000 1265389771000000
#197 enhancement dread dread v0.11 closed fixed Simple dumper

As a

admin / user

I want to

Admin: export all HEAD data to JSON / CSV / RDF format dump.

User: wants to get hold of this dump.


  • Just do JSON & CSV for now.
  • Put this in CLI.
  • Just do list of packages - as_dict info. CSV needs a bit of flattening.

Cost: 2h

1258972495000000 1258989700000000
#198 enhancement rgrp dread closed fixed Change package and tag ids to uuids

See how we did it already for other things.

Note: on ckan.net older PackageRevision?.id might not be identical to Package.id but this may need sorting at this point.

1258980613000000 1266837606000000
#199 defect rgrp casbon closed fixed Fix failing tests and provide documentation on how to run tests in datapkg

As of 80:099bdc5b07a6 datapkg has 4 test fails and 1 test error.

There is no documentation on how to run them, so I am using 'python setup.py test'.

datapkg.tests.test_cli.TestCLI.test_ckan ... FAIL
datapkg.tests.test_cli.TestCLI.test_walkthrough ... FAIL
datapkg.tests.test_index.TestDbIndex.test_get ... /Users/james/Documents/virtualenvs/okfn/src/datapkg/datapkg/index.py:97: SADeprecationWarning: Use session.add()
datapkg.tests.test_index.TestDbIndex.test_get_when_loaded_as_new_and_init_not_called ... /Users/james/Documents/virtualenvs/okfn/src/datapkg/datapkg/tests/test_index.py:57: SADeprecationWarning: Use session.expunge_all()
1259087361000000 1267649255000000
#200 defect rgrp rgrp closed invalid PythonDistribution write method should write all available metadata

Current write method just creates a bare bones package and does not write any of the available metadata other than name.

1259229583000000 1311176118000000
#201 enhancement rgrp dread v1.0 closed fixed Stress test ckan


  • high numbers of simultaneous users
  • incomplete transactions
  • etc.
1259844836000000 1265284419000000
#202 enhancement tonfa dread v0.11 closed fixed Internationalization (i18n) try-out

Try i18n for one language (German) for ckan (de.ckan.net).

Basic approach to i18n is well-covered in Pylons book: http://pylonsbook.com/en/1.1/internationalization-and-localization.html

However, we need to integrate with our Genshi templates. Details on how to do this in comment: http://wiki.pylonshq.com/display/pylonsdocs/Internationalization+and+Localization


  1. i18n templates
    • Extract content using Babel
    • Get genshi translation working
    • Do the translation!
  2. i18n all strings in controllers (if any)
  3. i18n forms
1260179192000000 1265892368000000
#203 enhancement dread dread v0.11 closed fixed show package counts for groups in WUI

In two places in the WUI

  • list of groups
  • group page in title e.g. ukgov (5)

Cost: 1h

1260187690000000 1265891080000000
#204 enhancement dread dread v0.11 closed fixed Custom package input form

As a


I want to

input government data in a constrained way

so that

you get consistency in the db which is easily searched, discovered and automatically linked.


Form has fields suitable for government data. (related to custom excel importer ticket)

In pylons config specify the form schema to use - whether the existing one or the government one.

On submission, during validation, warn if a field isn't completed (unless it's optional - agency, maintainer, maintainer_email)

Simple fields

  • all basic ckan fields
  • default license to OKD::Crown Copyright
  • co_id, precision, taxonomy url, agency

Date fields

Date format: machine readable. Can be specific or vague: year or month/year or day/month/year.

  • date_released
  • date_updated
  • temporal_coverage_from, temporal_coverage_to - two date fields combined

Strict selection

Drop down combo

  • department

Selection or free text

Editable combo

  • update_frequency - selections: never, weekly, monthly, annually, discontinued
  • geographic_granularity - selections: national, regional, local authority, ward, point
  • temporal_granularity - selections: yes, months, weeks, days, hours, point

Specialised fields

  • geographic_coverage - UI is tick boxes. store a comma separated list of all that apply from: england, scotland, wales, northern ireland, overseas, global

(Idea for future version: Select the most relevant one from a choice of OS hierarchical geographic IDs in the UK. Stored in the database as the RDF URI. Question - what to do beyond the UK?)

  • national_statisic - UI is check box, store as 'Yes' or 'No'
  • resources - use standard table, but suggestions for file type are: RDF, CSV, SPARQL, REST, XBRL, SDMX, Other XML, HTML+RDFa, XLS, DOC. Have warning label saying it is not ideal to have PDF, zip or html targets.
  • categories - multi values from strict selection of ONS categories. Stored as comma-separated.

Field data processed

  • tags - in addition to words entered here, search for known keywords in other fields: title, notes, department, agency, geographic coverage & categories.

Future - optional

Each form schemas is made available (or not) in the pylons config, along with the default schema for new packages. If there is more than just the 'basic' schema available then the 'new package' form has at the top a drop-down to select the schema with a 'switch' button. This submits the form's current data and parameter schema=xyz and the form arrives back populated with the existing options. No data should be lost switching views.

When you edit a package it detects the schema based on the extra fields that are present.

1260188965000000 1285082169000000
#205 enhancement rgrp dread closed wontfix Custom package importer

Importer function is exposed to logged in users.

Alongside specifying file to import, user chooses between 'form schemas' - 'basic' and 'government'.

  • Basic is as it is currently
  • Government form has pre-defined Extra fields, careful validation of lots of fields, code formats/processes some field data for storage. e.g. searching for tag keywords.

All fields should be in step with the government custom input form.

For fields which have suggested values but the user can input his own value, this is achieved in the spreadsheet with two columns - the first being a drop-down and the second free text.


1260197819000000 1297068450000000
#206 enhancement nickstenning nickstenning v1.0 closed fixed UI review

Investigate and list (on the wiki at wiki:UiReviewNotes) CKAN's UI issues, in particular:

  • Overview pages: reduction in visual noise and unnecessary elements.
    • best example: package overview page
    • consider openness/downloadability icons
    • display common metadata fields in a more structured fashion?

Est cost: 2 hrs.

1260199941000000 1260881123000000
#207 enhancement dread nickstenning v1.0 closed fixed Reimplement tag selection in jQuery

Remove the current dependency on Yahoo YUI toolkit for doing tag autocompletion on package edit forms.

The (KForge-derived) behaviour files for CKAN can easily be switched to the new jQuery-based ones: see ticket:212. Once this is done, it would make sense to implement the tag-selection code with jQuery.

Relevant pages include:

1260200340000000 1271250740000000
#208 enhancement dread rgrp v0.11 closed fixed Obfuscate author email and maintainer email field

Obfuscate author email and maintainer email field.

Use: webhelpers.html.tools.mail_to e.g. webhelpers.html.tools.mail_to('[email protected]…', encode='javascript')

Do we want to? Surely only public addresses should be on CKAN in which case why obfuscate?

1260203938000000 1265891070000000
#209 enhancement rgrp rgrp closed fixed Validate email address when creating an enquiry

p:wui 2009-09-09 validate email address when creating an enquiry

1260288671000000 1260288728000000
#210 enhancement johnbywater johnbywater closed invalid User registration

Native registration scenario: Complete registration form, require unique email address (indicate this not displayed on site), full name (indicate this is displayed on site), password. Dispatch email confirmation message. Respond to email confirmation message causes user to be logged in. Users are assigned a uuid.

1260292578000000 1266509788000000
#211 enhancement johnbywater johnbywater closed invalid User login

Native login scenario: Complete login form, require email address. Any session is resumed.

Mandated technical requirement: use Repoze (see plugin:form of repoze.who); borrow from BlastOff?.

See CKAN or Microfacts for usage of repose with openid.

1260292624000000 1266509848000000
#212 enhancement rgrp rgrp v0.11 closed fixed Switch to using m.okfn.org "kforge" media (css and behaviour)

We are already using standard kforge css though copied locally and with a few modifications.

We should switch to using common copy on m.okfn.org. Some work will be required to factor out any changes we have made.

Cost: 2h

1260703728000000 1260703969000000
#213 enhancement dread dread v0.11 closed fixed Automate CKAN deployment

fabric script to automate ckan deployment

1260811707000000 1265891061000000
#214 enhancement nickstenning dread v0.11 closed fixed UI Review - General template
  • Set hover names on navigation links.
  • Do we really need to display "About CKAN" everywhere? Just on home page.
  • Redirect in routing /groups and /tags rather than /group and /tag. At the very least make the plural versions forward to the singular versions.
1260879581000000 1263406056000000
#215 enhancement rgrp dread v1.0 closed fixed UI Review - Home page
  • 'Login via OpenID' -> 'Login with OpenID'?
  • Elements:
    • Search
    • about CKAN
    • 3 column Packages view (see ticket:219)
    • Small tag cloud (RHS)

Also, what about ticket:143 ?

1260879732000000 1266513523000000
#216 enhancement nickstenning dread v1.0 closed fixed UI Review - Search
  • allow clicking on 'only openly licensed'/'only downloadable' to select/deselect checkboxes: make them <label>s.
  • cut 'only's -- use word 'filter' instead
  • doesn't appear to match substrings!? A search for 'anna' doesn't return match the 'annakarenina' package.
  • autocomplete package names & tags
1260879802000000 1273596102000000
#217 enhancement nickstenning dread v0.11 closed fixed UI Review - Search results

Package search results page package/search

  • need clearer delineation between search entry form and results.
  • 0 results needs to be clearer, and the alternative suggestion: 'would you like to create a new package' needs to not look like a search result.
  • "N tags found" -- why do I care? this should be presented as "filter results by tag" -- very unlikely that I'm looking for a tag: I'm looking for a package, but tags might help me narrow down my search.
  • tags should be displayed more like the way they're displayed when you add them to a package (i.e. blue 'tag' background)
  • filter out particular tags
  • tag cloud?
  • copywriting: "Packages - Search" -> "Search packages"
1260879870000000 1263406092000000
#218 enhancement nickstenning dread v0.11 closed fixed UI Review - Package listing
  • openness/downloadability ticks/crosses are totally inscrutable to non-techies (those who don't know about the title attribute). need better icons, and a key in a box on RHS.
  • maybe highlight two-tick entries with a particular colour, but the open knowledge badge is horrendous, and breaks visual cadence.
  • results data should be tabulated, with the project names and descriptions made most prominent. <li> blobs are unnecessary visual noise.
  • maybe links should go on the full titles? Get rid of package names.
  • Should have filter by name (à la KForge alphanum widget) and also by tag: list of most common tags in box on RHS?
  • same comments as search listing (ticket:217)
1260879903000000 1263406033000000
#219 enhancement nickstenning dread closed wontfix UI Review - Package
  • Propose three-column package listing: two lists of highest-scorers on some metric and last column is an invitation to register a new package, with a little copy explaining what's involved and why you'd want to.
  • Add in search widget
1260879947000000 1294914901000000
#220 enhancement nickstenning dread v0.11 closed fixed UI Review - Package read

Package page package/mypackagename

  • Design
    • In general: a huge amount of visual and typographic noise: "Package:" is redundant.
    • "{edit}", "{history}" -- ugly, and it's not clear that these are primary actions on this page. Notably, why on earth is "make an enquiry with Is It Open?" bigger than these?
    • Openness/downloadability icons: need help, as discussed earlier
    • "Rating:" redundant, as is the second set of stars -- why can't both the display and rate widget
      • Rating - alternative to GET on set_rating.
    • "Metadata:" technospeak, probably redundant.
    • <li> bullets add nothing.
    • Title, Version, URL can probably go in one line.
    • Resources can be made more prominent.
    • Author, author email and Maintainer, maintainer email can be merged.
    • Groups, tags in little boxes?
    • Notes made more delineated -- Markdown has the capacity to look like other parts of the page: perhaps monospace the typeface?
    • Don't show extras unless there are any.
1260880136000000 1265286499000000
#221 enhancement dread dread v1.0 closed fixed UI Review - Package edit

Package edit page package/edit/mypackagename

  • Ability to add the package to groups on this page.
  • Fields could be grouped.
  • Inconsistent capitalisation (Url -> URL).
  • Tag editor YUI script appears to break occasionally.
  • Perhaps move to two column forms to save vertical space?
  • Notes field to monospace?
  • Extras fields need some jQuery love -- shouldn't have a fixed number available.
  • Typography is a bit of a mess.

1260880175000000 1271756757000000
#222 defect nickstenning dread closed fixed UI Review - Package history

Package history page package/history/mypackagename

  • "Revisions" is redundant
  • "Compare" button is in a ridiculous place. It should be above/below (both) the table, but not *in* it!
  • Ditto to overall "Recent Changes" page comments w.r.t. timestamps, GUIDs (ellipsis), and (if poss) author links.
1260880198000000 1282909280000000
#223 enhancement nickstenning dread v1.0 closed fixed UI Review - Tag

Tags landing page tag

  • Both search for tags *and* browse the list of tags right here
  • Big cloud of tags (sorted by popularity/usage?) filterable with a search box.
  • Tags search page tag/search and list tag/list are both redundant and should be merged straight into tag.
1260880276000000 1273596111000000
#224 enhancement nickstenning dread v0.11 closed fixed UI Review - Groups

Groups landing page group

  • Yeesh! What's up with the typography for "Just login..."?
  • Truncated description along with group name.
  • Explanation text about what groups are for (RHS)
  • Another case of <li> bullets adding nothing.
1260880360000000 1267100560000000
#225 enhancement rgrp dread closed invalid UI Review - swap URL order

Not so keen on URLS such as /package/edit/mypackagename. These seem to be task-oriented rather than resource oriented (which would be /package/mypackagename/edit), and unstable: there is a common root for /package/edit/mypackage and /package/history/mypackage which is not reflected in the URL structure.

1260880487000000 1311178276000000
#226 enhancement nickstenning dread v1.1 closed fixed UI Review - History

Repository History revision

  • What is this page called? "Recent Changes", "Repository History", "/revision": standardise. Between the link in the nav and the page <title> particularly, but the route is also important. Perhaps /changes or something similar?
    • Will change page title on /revision/ to Revision History. Will not change route for the time being.
  • needs copyediting.
  • Pagination has similar issues to elsewhere. Also, most obvious here, is the fact that we don't need to display a link to every possible page. Please can we limit it to, say, a dozen nearby pages and an ellipsis.
  • Without looking at dates, its not clear whether I'm seeing most recent or oldest changes. Change pagination to say "Older"/"More recent" rather than "Previous"/"Next". (wontfix: now have text saying we are showing most recent changes)
  • Table layout is pretty ugly (yes, I'm aware this is my fault).
    • wontfix - nothing better at the moment
  • Timestamps are horribly unreadable. At the absolute minimum get rid of the micros. Hover for more detail?
  • Can we link to an author page? Yes!
  • Atom feed should have a feed icon~~
  • Why are we adding another <link rel="alternate"> to this page? We already have one for recent changes on every page in the site and the one we're adding has a less descriptive title. Which is correct? Use that one as a feed for every page.
1260880515000000 1279130390000000
#227 enhancement nickstenning dread v1.1 closed fixed UI Review - General checks
  • There is huge inconsistency in the titles of pages across the site: to give one example "Edit Package:" vs "Package: mypkg [not linked]" vs "History - mypkg [linked to package page]"
    • Normalize and use terminology: "Data Package" - also change in navbar (but nowhere else for the time being). So hvae Data Package - mypkg, Data Package - mypkg - Edit etc
  • pagination is currently lost in amongst the results list. needs to be *much* more obvious, and should appear top and bottom, or at the very least at the bottom!
1260880552000000 1279192621000000
#228 enhancement rgrp rgrp closed duplicate Deal with duplicate packages

This needs to be thought out ...

1262085763000000 1290596875000000
#229 enhancement dread dread v0.11 closed fixed Resource hashes

New field for resources - hash of the resource file.

  • CKAN itself will not calculate the hash value - user just pastes it in.
  • Display text field in resource table.
  • Requires migration script.

Questions for the field's value:

  1. Which hash to use? Restrict to python hashlib and other major hash libraries.
  1. Should we use merkle trees?

Thanks to Julien D'Assanges for the suggestion.

1262686287000000 1265891612000000
#230 task dread dread v1.0 closed fixed Refactor 'package preview' to use 'package read'
  • Requires Package Read to not use the side-bar
  • Need to sync params to a package object that is taken out of the session so that it doesn't go into the database.
1262788084000000 1265293953000000
#231 defect pudo rgrp ckan-v1.3 closed fixed Make group versioned

Make group object revisioned/versioned.

  • Involves upgrade script both for group object and group_revision object
  • No changes required to WUI for present
1262853923000000 1288516929000000
#232 enhancement rgrp rgrp closed invalid Add strapline to CKAN logo

Strapline (?): Sharing, discovery and reuse of data and content

Need to consult on this.

Cost: 1h

1262975291000000 1297246297000000
#233 enhancement rgrp rgrp v1.1 closed fixed Allow simple site-specific customization/overriding of templates


  1. Allow for specification of genshi template paths to search in config. This way people can introduce their own templates and these templates can selectively override existing templates. (Already implemented this in shakespeare and it works)
  1. Include an extra site-specific genshi template which can then be used to customize site (e.g. by having specific calls to py:def that user can define but which are ignored if they don't exist).

Can do this using:

<xi:include href="base.html"><xi:fallback /></xi:include>

1263000396000000 1273080352000000
#234 enhancement memespring rgrp closed wontfix UI Review - Autocomplete package names & tags in search

Broken out from ticket:216

1263056678000000 1338206486000000
#236 enhancement johnbywater johnbywater closed fixed The system shall present to all users a form for starting data openness enquiries 1264157100000000 1264157324000000
#237 enhancement johnbywater johnbywater closed fixed The system shall accept submissions from authenticated owners of activated accounts using the data openness enquiry form by presenting the enquiry summary and prompting for confirmation 1264157377000000 1264157420000000
#238 enhancement johnbywater johnbywater closed invalid The system shall accept submissions from unauthenticated users of the data openness enquiry form by creating an anonymous pending enquiry action, and by redirecting the user to login form, passing a reference to the pending action 1264157814000000 1266509806000000
#239 task dread dread v1.0 closed fixed Test migrate scripts

Integrate new test upgrade into testmigrate stuff.

New "migrate.ini" config file programmed with the db to be used for migrate tests and a param saying where the db dump is.

1264439926000000 1265286521000000
#240 defect johnbywater rgrp v1.0 closed fixed Do not allow creation of PackageResource object without a url

Currently it is possible (v0.11) to have a PackageResource? object without a url. This should be impossible to do (either at creation time or via modification).

1265399747000000 1272383770000000
#241 defect rgrp dread v1.0 closed fixed License doesn't preview correctly

4 failing tests, including 2 in misc/package_saver and 2 in functional/test_package.

1265625546000000 1270569769000000
#242 defect pudo rgrp v1.1 closed fixed Miscellaneous tidying up (v0.11)

Dumping ground for various minor and miscellaneous items (mainly refactorings):rgrp

  • controllers/tag.py: why does this not use lib/search.py (but controllers/packages.py search method does)?


  • lib/search.py: inheritance would be nicer than switching on entity in search (i.e. have SearchPackage?, SearchTag? etc)
1265715103000000 1280823876000000
#243 defect rgrp dread closed worksforme Repetition of number of packages in a group

http://ckan.net/group/publicdomain has:

"There is 16 package in this group. There are 16 packages in this group."

1265750250000000 1266837796000000
#244 defect rgrp dread closed fixed Several links preceded by link URL

e.g. Text on ckan.net home page:

"All material available under an /licenseopen license"

Also seen on the package edit page: "/user/loginClick here to sign in"

I believe this is due to the i18n additions from Benoit. Maybe needs new Genshi. Maybe best to work round in the meantime.

1265750419000000 1271248968000000
#245 enhancement rgrp rgrp closed duplicate Support for composite primary keys

Problem here is that foreign key then becomes "complicated" (composite).

  • Could also deprecate continuity_id field in favour of the basic foreign key on ie
1265882630000000 1297066620000000
#246 enhancement rgrp rgrp closed duplicate Support for primary key not named id

At the moment setting of continuity_id depends on base table pkcol being id. Should not be hard to change this -- and may get for free as part of ticket:245 (composite primary keys)

1265882862000000 1297066757000000
#247 enhancement dread rgrp v1.0 closed fixed Alternative formats links on package page

"Alternative formats". Has logo for RDF (link to RDF) and JSON (link via CKAN REST i/f).

  • How do we know if RDF available? Ans: see details in ticket:90.

Cost: 1h

1265890326000000 1271248813000000
#248 enhancement dread rgrp v1.0 closed fixed i18n of forms

Need to do i18n of forms (not in templates but in code). Should consult with tonfa about this.

1265892313000000 1270745304000000
#249 enhancement rgrp dread closed invalid Regex search

Search of package name and title (and other fields) using regular expressions.

Current example use-case: Wanting to specify packages with title beginning with 'B'.


  • Syntax for specifying regex over natural language search - could it be contained in the q param so be available to users of the WUI, or do we simply make it alternative fields?


  • Postgres reg ex searching detailed here:


1265994509000000 1311182450000000
#251 enhancement johnbywater johnbywater v1.0 closed fixed Present in the API a list of revision IDs, and present individual revisions when referenced by ID

Want to have:

  • /api/search/revision/

Support querying by "since time" and "since revision". Each individual revision should be available in the REST API (read-only):

  • /api/rest/revision/{revision ID}
    • should include revision attributes plus revision.packages e.g. like { "id": "...", ... "packages": [ list of packages names from e.g. revision.packages ] }
1266519743000000 1271423917000000
#252 enhancement dread johnbywater closed invalid Change revision object so that it has parent(s) attribute 1266519767000000 1296477560000000
#254 enhancement dread dread v1.0 closed fixed Package relationships - 1. model

New domain object: PackageRelationship? (revisioned)


  • subject (Package reference)
  • object (Package reference)
  • type (string)
  • comment

Relationship type values: depends_on (dependency_of) derives_from (has_derivation) child_of (parent_of)

Relationship type is stored as a string, as given in the first column. The reverse relationship (bracketed) is given just for display purposes only.

Subject / Object - as in a sentence: "Dracos is derived from OSM" is <subject> <predicate> <object>. We'll use 'type' instead of 'predicate' as that is a more familiar word.

1266928449000000 1273596180000000
#255 enhancement dread dread v1.0 closed fixed Package relationships - 2. Read in WUI


  • View: show both sides of the relationship (but think carefully -- e.g. a given package may have *many* dependents ...)
1266928542000000 1273596174000000
#257 enhancement dread dread v1.0 closed fixed Package relationships - 4. Read in API


  • Appear in package listing Example: 'relationships': [{'is_dependency_of':'osm', comments:'Since version 0.2'}, {'is_parent_of':'bobs_maps'}]
1266928630000000 1273596170000000
#258 enhancement rgrp dread v1.0 closed fixed Add uuids into package in REST

Add uuids into package in REST interface.

1266954722000000 1273596163000000
#259 defect rgrp dread v1.0 closed fixed isitopen enquiry broken

Pressing the 'make an enquiry' link on the package read page gives 404. (Also links should also be changed from isitopen.ckan.net to isitopendata.org)

Example link is:


which gets forwarded to:


which gives 404

1267012666000000 1273596153000000
#260 enhancement dread rgrp v1.0 closed fixed Display group package list in standard (richer) way

Currently use old "bullet-point" style. Should change to now standard style used on e.g. package search results page.

Cost: 0.5h

1267100660000000 1267122137000000
#261 defect dread rgrp v1.0 closed fixed License does not work through REST API

Presence of license_id field in JSON input show below breaks REST API (with weird error about int not being subscriptable as if license_id field is being subscripted).

Using normal license field does not cause breakage but has no effect.

(Also think we should remove license_id from the API since there is no guarantee this cross system compatible since locally generated on install).

    ourjson = '''{
   "maintainer" : "Applications Division",
   "version" : "1999-01-01",
   "license_id" : 9,
   "name" : "geogratiswaterfraction1km_v100",
   "author_email" : "...",
   "author" : "Dissemination Branch",
   "tags" : [
      "Ground Water",
      "Surface Water",
      "Earth Science",
      "Land Surface",
      "Land Cover",
   "extras" : {
      "License" : "http://geogratis.ca/geogratis/en/licence.jsp",
      "Ministry" : "Natural Resources Canada",
      "Level of Government" : "Federal"
   "maintainer_email" : "[email protected]",
   "notes" : "This product is a raster coverage",
   "url" : "http://geogratis.cgdi.gc.ca/geogratis/en/collection/metadata.do?id=67",
   "title" : "Geogratis - 1-km Water Fraction From National Topographic Data Base Maps, Canada"
    def test_15_random(self):
        offset = '/api/rest/package'
        import urllib
        tmpjson = simplejson.dumps(simplejson.loads(self.ourjson))
        postparams = urllib.urlencode({tmpjson: 1})
        res = self.app.post(offset, params=postparams, status=[200],
1267134778000000 1267207776000000
#262 enhancement rgrp rgrp closed fixed Mark package as duplicate of another package

Need a way to mark packages as duplicate.


  • Could work off a tag (meta-duplicate or somesuch)
  • What happens if we want to delete the package (to we leave a place-holder, do we merge content?)
1267139682000000 1296468392000000
#263 enhancement johnbywater rgrp v1.1 closed fixed Improve and test openid login

At the moment the user has to figure out to login with providers -- this is not always obvious (e.g. google).

We could improve this with a small bit of javascript. As an example see: http://standalone.demo.civicrm.org/standalone/

Not sure exactly what library that is using (or if bespoke) so alternatives include (NB: we already use jquery):

In addition to implementing this we also need to test logging in with main providers: google, wordpress -- as we have had reports of it not working with e.g. wordpress (not sure if this testing can be automated really -- best hope would be selenium I think -- so OK if done by hand).

Cost: 3h (2h UI), (1h testing)

1267605039000000 1279292730000000
#264 defect dread rgrp v1.0 closed fixed Investigate why there are revisions with no associated packages

Revision.packages should not include all changes so why are we getting revisions with no associated changes? See e.g. http://ckan.net/revision/read/814e39e1-2540-4449-90d1-ac9a92ab40fb?

Investigate and fix.

NB: if this is bugfix this should go against stable or metastable branch if at all possible and then be merged into default.

Cost: 1.5h (?)

1267605428000000 1272390013000000
#265 enhancement johnbywater dread v1.0 closed fixed More detail shown in Atom feed

Use case

As a user I want to stay abreast of package changes, such as a new package being created, newer data is available for a package or a new download is available for a package.


Add into the Atom feed:

  1. a package is a new one
  2. the resources have been changed
  3. the last_updated field has been changed
1267708364000000 1271636891000000
#266 enhancement johnbywater dread v1.0 closed fixed Package feed

As a user I want to track changes to a particular package.

Provide an Atom feed, linked from the package read page.

1267716417000000 1271636901000000
#267 defect johnbywater rgrp vdm-0.7 closed fixed Diffs for object that is created in that revision

Currently this raises an exception because there is no package/package_revision in existence at from_revision.

1268041383000000 1272960518000000
#268 defect rgrp dread closed duplicate Select groups in Package edit form 1268068896000000 1285070682000000
#269 enhancement rgrp dread closed fixed Improve gov package form

If the notes field could use a WYSIWYG editor with word cleanup this would really help users who may well be pasting in text from Word (and I guess may have been approved or written by someone else)

having auto-complete on tags would both make the system easier to use - and reduce the risk of synonymous tags being created inadvertently.

Does the department drop down options list interact with user permissions - so that users who only have rights to one department only see that option ?

Similarly for licenses - can this reduce to the set of allowed options for this user/

What level of validation is there on the fields?

1268220853000000 1291897538000000
#270 enhancement johnbywater johnbywater closed fixed Refactor ckan/lib/importer and ckanclient/loader.

There is code to create packages in-process (ckan/lib/importer) and via HTTP (ckanclient/loaders/base). There is also code to read different kinds of package source (Google Spreadsheets spreadsheet, other spreadsheet).

Propose to refactor all this to have template method in base command class (subclasses may implement command line interface, graphical user interface, or Web interface), where the template method calls on aggregated strategy objects for: reading raw spreadsheet data from spreadsheet application; for inferring CKAN package entities from the raw spreadsheet data; and for writing package entities to CKAN service.

Spreadsheet readers to be factored to allow for variations of spreadsheet application.

Raw data inferrers to allow for variations in spreadsheet cell structure.

CKAN writer strategies to allow for either CKAN client or direct linking.

Actual cases then supported by specifying existing strategies (or defining new ones) in a script that invokes the command class.

1268671804000000 1290596640000000
#271 enhancement johnbywater johnbywater v1.0 closed fixed The system shall support distributing changes.

See DistributingChanges for analysis and functional requirements.

1268672137000000 1273596144000000
#272 enhancement rgrp rgrp closed fixed Atom/RSS feeds for individual tags and groups

I want to be able to easily check when a package is added (or removed?) from a given tag or groups. To do this I would like access to an Atom/RSS feed for a given tag or group.

  • This would allow people to embed feed widgets in other places
1268988652000000 1340631775000000
#273 task pudo rgrp v1.1 closed fixed Investigate search index options and create tickets

Work already here: http://knowledgeforge.net/ckan/trac/wiki/SearchEngine

Add knowledge there or to:


1268996933000000 1278578527000000
#274 defect rgrp rgrp closed fixed Allow searching by any extra field

At the moment only support a very limited set of extra fields (see docs for details). Should support arbitrary extra fields (note no need to put these in special full text index though ...)

Cost: 1h

1269034562000000 1287402800000000
#275 defect dread rgrp closed fixed Add forms renderer for JsonType fixing bugs in admin interface

This will solve e.g. issues in formalchemy admin interface (which is due to lack of renderer for Json type)

Cost: 0.5h

from ckan.model.types import JsonType

forms.FieldSet.default_renderers[JsonType] = formalchemy.fields.TextFieldRenderer
1269122740000000 1281002082000000
#276 defect dread rgrp v1.0 closed fixed Resources in Package form seen multiple times upon preview

Create a new package with a name 'blah' and resource format 'blah'. Hit preview. There is an error because of the lack of resource url, but in the resource input boxes, there are now four resources with format 'blah'.

1269255399000000 1272996237000000
#278 defect dread dread v1.0 closed fixed Spaces in extra field keys

If the key to an extra field has a space in it then various form code doesn't work. Either need to disallow spaces or cope with them.

1269520845000000 1271173752000000
#279 enhancement johnbywater dread v1.0 closed fixed Ensure package's license is an option when it's edited

With forms configurable to show a subset of licenses and ckan instances moving packages from server to server, there is a chance that a user will edit a package and the existing package's license is not displayed in the form. If the user submits this form without touching the license dropdown, then the value is lost.

So for this case we should add the package's license to the list displayed.

1270205931000000 1272451384000000
#280 defect dread dread v1.0 closed fixed Disappearing extra fields

When I edit a package on no.ckan.net with lots of extra fields, lots of them completely disappear.

Metastable branch.

1270209684000000 1271173769000000
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Note: See TracReports for help on using and creating reports.