{22} Trac tickets (2647 matches)

Results (1701 - 1800 of 2647)

Id Type Owner Reporter Milestone Status Resolution Summary Description Posixtime Modifiedtime
#1269 defect johnglover rgrp ckan-backlog closed wontfix User view page shows the packages followed by viewing user not user being viewed

This overlaps with Sean's follow support (for activity streams) and so will be dealt with there.

1312906598000000 1335875028000000
#1632 enhancement seanh seanh ckan-v1.7 closed wontfix Render a group's activity stream on its' page

Add logic functions for getting the activity stream for a group in JSON and rendered HTML formats, add HTML activity stream into group page.

1326304199000000 1335877871000000
#1633 enhancement seanh seanh ckan-v1.7 closed wontfix Render a dataset's activity stream on its' page

Add logic functions for getting the activity stream for a dataset in JSON and rendered HTML formats, add HTML activity stream into dataset page.

1326304298000000 1335877927000000
#1764 enhancement seanh seanh ckan-v1.7 closed wontfix Move activity streams API tests into tests/logic

Which is where the other API tests have now been moved.

1328536499000000 1335878051000000
#1621 defect seanh seanh closed fixed UnicodeDecodeError when validating user password

A test case is currently failing for me on master:

ERROR: ckan.tests.functional.test_user.TestUserController.test_user_create_unicode
Traceback (most recent call last):
  File "/home/seanh/pyenv/lib/python2.6/site-packages/nose/case.py", line 197, in runTest
  File "/home/seanh/pyenv/src/ckan/ckan/tests/functional/test_user.py", line 342, in test_user_create_unicode
    res = res.follow()
  File "/usr/lib/pymodules/python2.6/paste/fixture.py", line 603, in follow
    return self.test_app.get(location, **kw)
  File "/usr/lib/pymodules/python2.6/paste/fixture.py", line 208, in get
    return self.do_request(req, status=status)
  File "/usr/lib/pymodules/python2.6/paste/fixture.py", line 389, in do_request
  File "/usr/lib/pymodules/python2.6/paste/wsgilib.py", line 343, in raw_interactive
    app_iter = application(basic_environ, start_response)
  File "/usr/lib/pymodules/python2.6/paste/lint.py", line 170, in lint_app
    iterator = application(environ, start_response_wrapper)
  File "/usr/lib/pymodules/python2.6/paste/cascade.py", line 130, in __call__
    return self.apps[-1](environ, start_response)
  File "/usr/lib/pymodules/python2.6/paste/registry.py", line 350, in __call__
    app_iter = self.application(environ, start_response)
  File "/usr/lib/pymodules/python2.6/repoze/who/middleware.py", line 69, in __call__
    auth_ids = self.authenticate(environ, classification, ids)
  File "/usr/lib/pymodules/python2.6/repoze/who/middleware.py", line 201, in authenticate
    userid = plugin.authenticate(environ, identity)
  File "/home/seanh/pyenv/src/ckan/ckan/lib/authenticator.py", line 29, in authenticate
    if user.validate_password(identity.get('password')):
  File "/home/seanh/pyenv/src/ckan/ckan/model/user.py", line 113, in validate_password
    hashed_pass = sha1(password_8bit + self.password[:40])
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 12: ordinal not in range(128)

1326105806000000 1335878161000000
#2343 enhancement johnglover johnglover ckan-sprint-2012-05-15 closed fixed Convert all non-free metadata fields to vocabulary fields
  • convert non-free fields to vocab fields (eg: interoperability_level)
  • store values as JSON files in the ecportal repo
  • translate output on dataset view page
  • add tests
1335876562000000 1335969506000000
#2369 enhancement seanh seanh ckan-sprint-2012-05-15 closed fixed Pull latest translations from Transifex into CKAN 1.7 1335975051000000 1335975063000000
#2367 enhancement aron.carroll aron.carroll closed fixed Style the analytics view counts on datasets

Currently an eye and a number, needs to look a little nicer.

1335892789000000 1336035031000000
#1370 enhancement toby rgrp ckan-sprint-2012-04-30 closed fixed [super] Social sharing for datasets (and resources)

Add a way to share datasets and see mentions of datasets on twitter (and elsewhere)

As a visitor I want to share a link to a dataset I have found. I also want to see how many others have shared this (or mentioned it).

  • Sharing platform: simplest option is probably twitter but could generalize to e.g. sharethis system which supports, facebook, twitter etc etc.
    • Will need a config option for relevant API key e.g. ckan.sharethis.apikey
  • Location: Put this at top of sidebar on dataset view (a better suggsetion?)
  • Should show how many mentions / shares there are. (very important!)


  • (Tom and Ira and ...): do we really want this, versus e.g. proper follow extension?
  • What about bringing conversation back in to CKAN. E.g. show all times this dataset (i.e. its url) was mentioned on twitter. If we do this I think this should be definite +1.
  • Also, given our users, I think just doing twitter (identica) may be sufficient (how many people want to share links to datasets on facebook?)
1317422686000000 1336045983000000
#2256 enhancement toby toby closed fixed remove TDH from core

make core independent of TDH and make core as minimal app

1332513199000000 1336046098000000
#2251 enhancement toby kindly ckan-sprint-2012-04-16 closed fixed Internal analytics for ckan.

Page views and Resources clicks need to be tracked.

User Stories

US1 As a Site Admin / Visitor (?) I want to see how often a page has been viewed (every page) and how often resources have been downloaded.

US1a Next to a resource or a dataset see how often it has been downloaded / viewed

US1b I want to see datasets or resources ranked by most downloaded or viewed

US1c See a trend graph for a dataset (and resources)

Adminstrative Dashboard (?)

  • I want to see the traffic breakdown by country to my site ...
  • Ditto for browser type, language, etc etc
  • I want to see it graphed over time ...

Implementation Details

  1. How do we store this data in CKAN?
  2. How do we track (and store)?
  3. How do we display
  • Config option ckan.status.enabled = False (by default)

Storing Data

How does ckanext-googleanalytics do this? Current table:

package_id | count_recent | count_total

Move to a new stats_summary table

id | item_id | object_type | stats_type (total, month_yyyy_mm, ...) | value

Do we store this data into the search (solr) so we can search by it?

Displaying Data

  • Helper functions / dictize:
    • Helper function: h.stats_get(object_type, id, stats_type)
      • h.stats_top_ranked(object_type, number) -> returns object_dicts or just labels or ...
    • Change to dictize
  • Location in the default theme (do we show for example in search results too!)
  • Support for ranking by most popular in search?

Tracking Data

  • Our own solution (just write to site_tracking)
  • Google analytics (plus extension for retrieving data) <- would need a refactor
  • Piwiki

Own Solution

(For later: not as part of this ticket probably)

site_tracking table

id | url | timestamp | action (page_view, resource_download) |

  • Make javascript to make request to ckan to store clicks and page views.
  • Add middleware so these requests do not go through pylons and just store data quickly.
1332331029000000 1336046155000000
#2311 enhancement toby toby ckan-sprint-2012-04-30 closed fixed disqus - improvements

get working on TDH

look at removing stream filters

1334598853000000 1336046186000000
#2373 defect dread dread ckan-sprint-2012-05-15 closed fixed Group autocomplete doesn't work with multiple words

e.g. 'Cabinet Office' returns 0 results, whereas 'Cabinet' returns 'Cabinet Office'.


This feature only seems to be used by DGU at the moment (I think)

1336139787000000 1336142514000000
#2368 enhancement seanh seanh ckan-sprint-2012-05-15 closed fixed Fix OS X Lion install instructions on wiki

Solr install instructions install the wrong version

1335893719000000 1336477258000000
#2338 enhancement johnglover johnglover ckan-sprint-2012-05-15 closed wontfix Help with setup of new test instance for EC ODP (running on RedHat)

I won't be needed for this during the current sprint, closing.

1335875955000000 1336491648000000
#2339 enhancement seanh seanh ckan-sprint-2012-05-15 closed fixed Demo install on RHEL/CentOS, and install instructions 1335876250000000 1336492657000000
#2352 enhancement seanh seanh ckan-sprint-2012-05-15 closed fixed Fix autodoc on CKAN's readthedocs 1335883991000000 1336492670000000
#2376 defect seanh seanh ckan-sprint-2012-05-15 closed fixed Fix "no-sidebar" front page layout issue with CKAN 1.7 in some languages

This needs to be fixed in the CKAN templates ("no-sidebar" should not be marked for translation) but for 1.7 just fixed it in the translation files.

1336563965000000 1336563976000000
#2377 enhancement seanh seanh ckan-sprint-2012-05-15 closed fixed Upgrade data.gov.sk to CKAN 1.7 and apply their new theme 1336564008000000 1336564027000000
#2353 enhancement ross ross ckan-sprint-2012-05-15 closed fixed Provisional user stories for CMS + Blogging

Provide some provisional user stories for the CMS/Blogging feature. Should include some of the functionality from wordpresser but be more generic.

1335884700000000 1336566004000000
#2209 enhancement ross ross ckan-sprint-2012-03-19 closed fixed Object->RDF mapping

Super is [1649]

We need to provide customisable mappings between CKAN models and RDF. This needs to be easily configurable for different clients and should take into account objects related to the model being mapped.

Current contenders for impl are:

  1. ordf.org's Object Description Mapper (which uses OWL)
  1. RDFAlchemy, although this looks like it may result in fixed mappings
  1. A custom scheme with a simple json file
  1. A template based approach using Genshi templates?

Approach is to get a mapping complete of the attributes directly in the package class, and then provide mappings for related objects (tags/resources etc).

We'll then need to be able to publish the RDF to a triplestore.

See http://ckan.okfnpad.org/rdfmapping for further analysis.

1331027277000000 1336566051000000
#2358 task amercader amercader ckan-sprint-2012-05-15 closed fixed Finish off Release 1.7

Various stuff related with release 1.7:

  • Review patches sent to the release branch
  • Regularly update TDH with latest changes
  • write changelog, announce email, etc
  • ...
1335887030000000 1336641577000000
#2381 enhancement ross ross ckan-v1.8 closed fixed Related item count on ALL dataset pages

Make sure the related item count is available on all dataset pages (inc. follow) when it is enabled.

1337009133000000 1337011327000000
#2360 enhancement amercader amercader ckan-sprint-2012-05-15 closed fixed Finish INSPIRE support proposal

I've been writing a doc with different issues regarding INSPIRE support in CKAN. It is mostly done, except for some sections on CSW support. Depends on #2359

1335887409000000 1337016284000000
#2359 task amercader amercader ckan-sprint-2012-05-15 closed fixed Investigate pycsw integration

Tom Kralidis kindly told us on IRC [1] that the latest trunk of pycsw includes support for wsgi and different backends, which sounds like could be really useful for CKAN integration.

[1] http://irclogs.okfn.org/ckan/2012-04-25.txt 17:16

1335887299000000 1337016578000000
#2361 enhancement amercader amercader ckan-sprint-2012-05-15 closed fixed Install ckanext-googleanalytics and ckanext-stats on PDEU


1335887476000000 1337016768000000
#2314 defect icmurray seanh ckan-sprint-2012-05-15 closed fixed parse_rfc_2822 tests failing in some timezones

These two tests:



have been failing in certain timezones. In the UK they pass, if you're in Germany they'll fail.

The function being tested uses datetime.datetime.fromtimestamp() which uses the local time, but the tests compare the results against hardcoded strings, so the tests cannot work in different timezones.

1334768832000000 1337073270000000
#2330 enhancement icmurray icmurray ckan-sprint-2012-05-15 closed fixed Make api read-actions GETable

Whitelist any GETable api actions, and optionally construct the query from url params rather than body.

1335460585000000 1337073314000000
#2364 enhancement ross ross ckan-sprint-2012-05-15 closed fixed Investigation of payment gateways

Need to investigate alternative payment gateways

1335889757000000 1337077531000000
#1586 enhancement toby dread ckan-v1.7 closed duplicate 'Sort by' field for package search

We default to sort packages search results by "search rank", but we can change it to be "name", "title", "metadata_modified" date, "metadata_created" date. It works in the API now, so let's have (say) a drop-down in the Web UI for this.

Follows on from #191.

1324479588000000 1337079419000000
#2387 task seanh seanh ckan-sprint-2012-05-29 closed fixed Upgrade cz.ckan.net to CKAN 1.7 1337095029000000 1337095933000000
#2390 enhancement dread dread ckan-sprint-2012-05-29 closed fixed create_test_data for multiple users, rights

It would be useful (well for DGU, but no doubt for core too) to have be able to create multiple users with full properties using one commit. Also to be able to create rights (UserObjectRoles?).

1337098459000000 1337100788000000
#2384 enhancement dread dread ckan-sprint-2012-05-15 closed fixed Rights tool factored out

The command line tool 'rights' is quite handy but it is glued to the CLI. I'm going to factor out the bit which searches for objects etc so it can be used by CreateTestData? etc and will be used by DGU.

1337080794000000 1337100810000000
#2385 enhancement ross ross ckan-sprint-2012-05-29 closed fixed Specifying capacity in search api call

Currently you can specify the capacity in the API search, this should be stripped and default to public for now.

1337092899000000 1337102816000000
#2304 enhancement seanh seanh ckan-sprint-2012-05-15 closed fixed Watching/following of dataset/users

User story #037 here: http://ckan.okfnpad.org/feature-1515-activity-streams-user-stories

Technical analysis here: http://ckan.okfnpad.org/27

1334587233000000 1337158641000000
#2310 enhancement icmurray icmurray ckan-backlog new Refactor the search-query construction in feeds.py

The feeds controller, used to construct atom feeds, duplicates code found in the package controller's search action (in order to construct the custom feed).

Refactor this to remove duplication.

1334592091000000 1337159386000000
#1537 enhancement icmurray icmurray ckan-v1.7 closed fixed Package create form wizard

Create the form wizard for the package-new form.

Each section of the form will be a separate page as this was decided to be simpler than the alternative of making AJAX calls for validation at each stage. (*)

  • separate pages for each section of the form
  • validation carried out at each stage against the whole schema. Each section/page declares a list of schema keys that need to validate for that section to validate, and thus move onto the next section.
  • no draft saving to be performed in this ticket.

(*) - although the javascript alternative will probably provide better UX (each step would require a page-load in the wizard approach), it was decided that:

  • with the javascript approach it would be harder to test the workflow.
  • with the javascript approach there would be additional work displaying validation correctly. Although not that complicated, it was felt to add another point of failure.
  • the multi-page wizard is quicker and easier to implement, and if it provided poor UX, then the javascript approach would be used instead.
  • the multi-page wizard wouldn't preclude a javascript-tabbing create-form for other cases (where the wizard workflow wasn't such a good match, eg on the hedatahub.org)
  • the multi-page wizard wouldn't preclude a javascript-tabbing edit-form.
1323358451000000 1337159772000000
#1538 enhancement icmurray icmurray ckan-v1.7 closed wontfix Store partially-filled in package form data as a draft.

Allow a user to save a partially-complete and probably invalid package-create form in order to come back to it later.

We decided on blob storage over a state field on the package:

  • prevents a history of the drafts being stored in the revision history. This is a particular problem if we start auto-saving, say every 20s.
  • the blob can store arbitrary extra data, such as how far through the wizard we are.
1323359221000000 1337159799000000
#1539 enhancement icmurray icmurray ckan-v1.7 closed wontfix Package forms auto-save

Using the saved-draft feature, we enable auto-save for the package-new and package-edit forms.

An AJAX call is made every N seconds, and the auto-saved blob is updated.

note - we don't want to overwrite a previously save draft, but we will want to overwrite the last autosave.

1323359385000000 1337159806000000
#1525 enhancement icmurray icmurray ckan-v1.7 closed fixed [super] DGU package form refactor

Form refactor. New create/edit package form wizard for DGU.

Etherpad: http://ckan.okfnpad.org/dgu-package-form


  • #1526 : Simple one-page form.
  • #1527 : Tab-ify the form using JS. No validation between steps.
  • #1541 : Setup server for the DGU form-refactor.
  • #1537 : Package create form wizard
  • #1538 : Store partially-filled in package form data as a draft.
  • #1539 : Package forms auto-save

How the rest of the work is carried out is up for discussion, as it depends on the approach taken. Whether to continue with validation using AJAX queries, or whether to break the form down into multi pages. Google doc outlining design(s)

1323172839000000 1337159836000000
#1768 enhancement icmurray icmurray ckan-v1.7 closed fixed DGU: 7a. Public Publisher Dashboard (including QA Work and notifications) MUST PHASE 1 1328539740000000 1337159873000000
#1607 enhancement icmurray dread ckan-v1.7 closed fixed [super] Data.gov.uk Maintenance Refactor and UKLP Development Support

A ticket to collect all of the changes needed for CKAN to become the 'data' tab on DGU.

Design doc: https://docs.google.com/document/d/19h9bA1G4cQkv031m8jNCu6FEB3a8qpXUmdPAguM-Ofs/edit?hl=en_GB The design doc is the authoritative source of tasks. This ticket acts as a synopsis.

Current sprint (2012-02-20):

  • 7a. Public Publisher Dashboard (including QA Work and notifications) MUST PHASE 1
  • 6. Publisher Registration Improvements MUST PHASE 1
  • 3. Themes/Taxonomy? as well as tags WONT PHASE 2
  • 32. Browse by Tags PHASE 1 MUST
  • 12. Edit/Delete? for Harvested Datasets MUST URGENT PHASE 1
  • 13. Provider labelling MUST PHASE 1 [UKLP #14 MUST]
  • 17. Filter “UK Location Records” MUST PHASE 1 [UKLP #21 SHOULD]
  • 22. Mixed Licenses MUST PHASE 2

Plus, brought forward from last sprint:

  • Publisher hierarchy support
  • Improved dataset creation tools (form) - #1525
  • Edit/delete for harvested datasets

Overview of tasks: see the design doc.

1325503348000000 1337159969000000
#2394 enhancement dread dread closed fixed Separate off create_test_data CLI

We need to separate the CLI part of CreateTestData? from the bit which creates test fixtures. This is because of the problem with imports and logging. Otherwise we have to do unpythonic things to get logging to work when deriving from CreateTestData? from an extension such as ecportal / dgu. I've only introduced logging into CreateTestData? but I think it is a good thing to have. This change doesn't cause breakages

1337159591000000 1337161917000000
#2396 defect seanh seanh ckan-sprint-2012-05-29 closed fixed Tag list page loads very slowly 1337160153000000 1337268769000000
#2393 enhancement icmurray icmurray ckan-sprint-2012-05-29 closed fixed Map licenses with countryCode to license name without countryCode

Map licenses: given http://creativecommons.org/licenses/by/2.5/{countrycode}/ as a license value through the API, convert it to http://www.opendefinition.org/licenses/cc-by . Should also work if given http://www.opendefinition.org/licenses/cc-by . NOTE: the API may send through a list of licenses; in this situation, take the head of the list.

1337159564000000 1337270463000000
#2392 enhancement icmurray icmurray ckan-sprint-2012-05-29 closed fixed Add language field to dataset

An extra field on datasets called "metadata_language". The language that the meta-data is in. Drop-down list needs to be translatable. Default value is "English".

1337159501000000 1337270483000000
#2401 enhancement dread dread ckan-sprint-2012-05-29 closed fixed CLI for time/speed profiling

To enable you to easily track down what is taking all the time when you make a request.

1337269571000000 1337273042000000
#2204 enhancement ross rgrp ckan-sprint-2012-04-30 closed fixed [super] Related (Stuff) Extension

This is a reworking of the existing apps extension.

Initial proposal at http://wiki.ckan.org/Proposals#Apps_in_CKAN and http://wiki.ckan.org/Proposals#References.2FLinks_in_CKAN


What do we call this extension?

  • related
    • RP best IMO but perhaps too close to separate relationships concept?
  • relatedstuff
  • links
  • references


"Related Stuff": Apps as in an application (website/service/tool) that uses this dataset (as in Apps and Ideas extension)


New table named Related with following structure

|| id (int) || type || title || description (markdown) || image_url || owner_id || url || created (timestamp)
  • type = Idea | App | API | Visualization | Post | Paper | News Article
    • Suggest we make this a ckan.ini config option (comma separated ...?)
      • Do we want the possibility of different templates for different types of Related objects?
  • image: ?? Depends where we store images. Simplest option would be to change to image_url and leave it to users to have already uploaded an image somewhere. If not we need to support image uploading and storage. See #1692 (add image attribute to datasets and groups) for more discussion, once implemented the URL here can be an internal url.
  • owner_id = user_id or creating user (see authorization below)

Related2Dataset (note that related_id, dataset_id tuple should be unique). This allows for m2m connections. If a given related item is only with one dataset this could be simplified. May contain status so dataset owner can turn this on/off.

|| id || dataset_id || related_id || status

status should be used to allow for a dataset owner (for dataset_id) to de-activate the relationship between the dataset and the related.


  • /dataset/{dataset-name}/related/{related-item-id}/{related-item-title-stringified}
    • If a reference item could exist in its own right (and perhaps refer to multiple datasets then it should get its own url at e.g. /related/{id}
  • /dataset/{dataset-name}/related/add => Modal dialog on related tab so we can use API to create them.

/dataset/{id}/related <- list

  • use image_url for small icon etc, title description (shortened?)
  • Click through to full related item (optional)
  • dataset owner is shown show / hide button ... (or on /dataset/{id}/related/{id} )
  • related owner sees an edit button / icon (pops up modal)

/dataset/{id}/related/{id} (optional)

/dataset/{id} will have a Related tab (with bubble with count).

  • Drop down with Add Related -> Pop-up modal and save via API

(Not used: /related/add with dataset prefilled ... )



Addition of related item be considered orthogonal to datasets (and hence with separate authorization i.e. i can add the info that site X uses dataset Y without needing permission to edit dataset Y).

Thus any logged in user could add a Related item. We set the owner of the related item to creating user and going forward only that user or a sysadmin can update or delete.

NB: we could have a system where datasets owners have to approve related items before they show up next to their dataset. This would add substantial complexity so I propose we leave out of phase 1.

Tasks and estimates {7.5d}

[x] Model + Migration for Related table. {0.75d}

[x] Controller for Related (or relevant sections in Package controller). {0.75d}

[x] Routing setup. {0.25d}

[x] Schema for related. {0.5d}

[x] Logic layer actions. {1.0d}

[x] Auth (default + publisher). {0.5d}

[x] Templates + Dataset changes (new tab etc). {1.0d}

[x] JS Application for adding Related objects in a modal. {1.0d}

[x] Testing. {0.75d}

[x] Dataset owner disabling of Related (via M2M table). {0.5d}

  • Updated to allow author of related to delete as well

[x] Documentation. {0.25d}

1330862992000000 1337594723000000
#2413 enhancement ross ross ckan-sprint-2012-05-29 closed fixed Replace/Fork autoneg

Take revelvant parts of autoneg ( https://github.com/wwaites/autoneg.git ) so that we can remove the dependency (just for two functions) and thereby remove flup as well.

1337761125000000 1337766546000000
#2402 enhancement kindly kindly ckan-sprint-2012-05-29 closed fixed search result speedup.

Search results are slow as we do many package_dictize. Store the package_dict in the search index so that we do not have to hit the database for each of them.

1337300201000000 1337781991000000
#2403 enhancement kindly kindly ckan-sprint-2012-05-29 closed fixed home page speed improvements

Home page loads *all* groups and dictizes them, it should only dictize the top 10 or so from the search facets.

1337302582000000 1337782037000000
#2409 enhancement ross markw ckan-sprint-2012-05-29 closed fixed Accept headers not handled correctly

CKAN returns HTML when an Accept header should make it return RDF/XML:


1337683898000000 1337856979000000
#2417 enhancement toby aron.carroll closed fixed Clean up output for dataset search results

Currently due to the data structure the search result filters are output incorrectly. Repeating the facet with each tag.

See http://s031.okserver.org:2375/dataset?tags=fibre&tags=terrestrial&q=Africa

It outputs:

Tags: fibre Tags: terrestrial

It should be:

Tags: fibre terrestrial

1337793213000000 1337864155000000
#2422 defect kindly ross closed invalid Paster rights command appears broken

Reported in IRC by @floapps

In previous ckan versions i could use paster commands to remove reader rights from visitors on all packages and this would then throw the user to login screen when trying to see a dataset but, when i did this in ckan 1.7, i could still see all datasets as a visitor

Using http://docs.ckan.org/en/latest/authorization.html#permissions-publisher-mode

paster rights remove visitor reader package:all

Also has an empty list of roles in config for default visitor roles

I tested on my local install and could replicate with that command doing nothing. Neither affects existing or newly created datasets.

1337937993000000 1337945204000000
#2420 enhancement toby toby closed fixed @depreciated decorator

create a depreciated decorator to wrap functions we intend to remove

logs a warning maybe check that 'depreciated' is included in the docstring too

1337858144000000 1337950422000000
#2345 enhancement seanh seanh ckan-sprint-2012-05-29 closed fixed Rewrite action API docs using autodoc 1335876769000000 1337962454000000
#2397 task seanh seanh ckan-sprint-2012-05-29 closed fixed Write CKAN docstring guidelines 1337160193000000 1337963273000000
#2398 defect seanh seanh ckan-sprint-2012-05-29 closed duplicate Ubuntu 10.04 source install instructions not working? 1337160253000000 1337963342000000
#2386 task seanh seanh ckan-sprint-2012-05-29 closed fixed Setup feature-2375-demo-theme test server 1337094996000000 1337967006000000
#2436 enhancement seanh seanh ckan-sprint-2012-05-29 closed fixed Write instructions for booting CKAN demo instances on s031 1337968345000000 1337968356000000
#2423 enhancement ross seanh ckan-sprint-2012-05-29 closed duplicate Get rid of CKAN's lxml dependency 1337946234000000 1338193199000000
#2424 enhancement ross seanh ckan-sprint-2012-05-29 closed duplicate Get rid of CKAN's autoneg dependency 1337946279000000 1338193269000000
#2410 enhancement ross ross ckan-sprint-2012-05-29 closed wontfix New RDF serialization required VOID vocab for related datasets

Taken from http://lists.okfn.org/pipermail/ckan-dev/2012-May/002218.html

A few months ago, the RDF provided when dereferencing a dataset's URI was very useful. It described the datasets using many of the "right" RDF vocabularies (dcterms, void, etc).

The RDF that is returned now no longer has these nice descriptions. Instead, it seems to be a mindless transcription of the CKAN record.

For example, the older descriptions gave:


void:subset [

void:target <http://thedatahub.org/dataset/farmers-markets-geographic-data-united-states>, <http://thedatahub.org/dataset/geonames-semantic-web> ; void:triples 50 ; a void:Linkset

], [

void:target <http://thedatahub.org/dataset/dbpedia>, <http://thedatahub.org/dataset/farmers-markets-geographic-data-united-states> ; void:triples 52 ; a void:Linkset

], [

void:target <http://thedatahub.org/dataset/farmers-markets-geographic-data-united-states>, <http://thedatahub.org/dataset/govtrack> ; void:triples 52 ; a void:Linkset

] ; void:triples 130005 ;

but now it's simply:


dct:relation [

rdf:value "130005" ; rdfs:label "triples"

], [

rdf:value "52" ; rdfs:label "links:dbpedia"

], [

rdf:value "50" ; rdfs:label "links:geonames-semantic-web"

], [

rdf:value "52" ; rdfs:label "links:govtrack"

] ;

My old copies of the dataset descriptions mentioned a "GoLD CKAN 1.0" that was credited for the nicer modeling.

Where did that go? Can we get it back?

Thanks, Tim Lebo


dc:source <http://ckan.net/> ; opmv:wasGeneratedBy [

opmv:used <http://ckan.net/api/rest/package/farmers-markets-geographic-data-united-states>, <http://ckan.net/api/rest/revision/9c2545b8-ebf1-42bf-ac92-633ff5ceba3f> ; opmv:wasControlledBy [

a foaf:Agent ; foaf:name "GoLD CKAN 1.0"

] ; opmv:wasPerformedAt [

a time:Instant ; time:inXSDDateTime "2012-01-31T05:34:32Z"^^xsd:dateTime

] ; a opmv:Process

] ; a dcat:CatalogRecord ; dcat:dataset <http://thedatahub.org/dataset/farmers-markets-geographic-data-united-states> ;

1337684531000000 1338193633000000
#1605 enhancement kindly rgrp ckan-v1.7 closed fixed [super] Multilingual support in CKAN


  • dataset and resource metadata (and other objects such as groups?)
  • Field values in taxonomy (e.g. country names - Eurovoc)
    • #1665 Research into Eurovoc
    • Display Taxonomy in different languages
  • Field values not in taxonomy (e.g. title & description)
    • Use extra fields e.g. _i18n_title_fr = Le data.
    • (If lots of fields would need translating then would consider having a new package for each language, linked together with PackageRelationships?. But I think it is just title and description (resource description etc. are so minor, not worth translating?), so using extra field better.)
  • EC extension (templates, form)
    • Currently the pot file is just for CKAN core. New pot file for CKAN core and this extension? Or separate ones for extensions?
1325473367000000 1338193641000000
#1316 defect kindly dread closed fixed /api/action uncaught exception if missing necessary parameter
curl http://ckan.net/api/action/package_show -d '{"name": "uk-quango-data"}'

This gives 500 error due to KeyError? (it looked for the 'id' param), rather than 400.

1315397224000000 1338193724000000
#1819 enhancement kindly kindly ckan-sprint-2012-04-02 closed fixed change search index code to use package_dictize instead of obj.to_dict

Search index code needs to use package_dictize so that it can get the new vocablurary information and is more consistant with the rest of the system. This is in preperation for their translation being put in the search indexer.

1329770555000000 1338193886000000
#2383 defect icmurray icmurray ckan-sprint-2012-05-29 closed fixed Date on add/edit resource breaks if offset is specified 1337080275000000 1338197024000000
#1603 enhancement zephod rgrp ckan-v1.7 closed duplicate Search query builder

Super ticket: #1745

Ability to build up search query using a nice javascript-y interface.

  • Add facets by selecting attribute and adding -> search facet options in dropdown -> added to search (with 'x' to remove -- as we currently do).
    • (a bit like the data.hri.fi)
  • Some improvements to css
  • Improvements to faceting
    • Ability to configure faceting and number of items to show (?)
  • Pure JS search implementation to make it easy to reuse across site
1325268364000000 1338202654000000
#1533 defect rgrp amercader ckan-backlog closed wontfix Make sure ckanext-wordpresser works on CKAN 1.5.1

Superceded by #2234

Super ticket: #1508

Etherpad: http://ckan.okfnpad.org/wordpresser

The wordpresser extension does not work with ckan 1.5.1. The wordpress page is not loaded.

Looks like this changeset may be involved https://github.com/okfn/ckanext-wordpresser/commit/0efa0649896a7339865f178a302be639ddc561e1

I think that even before that changeset, the page was shown without any margins.

In any case, the extension seems to be too sensible to changes in the ckan layout so perhaps it should take into account the CKAN version and have a fixed set of xpaths and templates that work for each version

1323277660000000 1338202676000000
#1530 defect zephod lucychambers ckan-v1.7 closed fixed URL field help text in wrong place

Confusion between entering values in the title and name/url fields in datacatalogs.org.

The help text "Url must be purely lowercase alphanumeric (ascii) characters and these symbols: -_" applies to the name/url field, yet in Lucy's browser the text that is actually hovering over the title field in my browser.

1323261984000000 1338202731000000
#1397 enhancement kindly rgrp ckan-v1.7 closed fixed [super] Resource archiving

We want to cache/archive data associated to a resource so it is available if the resource url disappears (and in order to support other processing we may wish to do e.g. webstorer ...)

Etherpad: http://ckan.okfnpad.org/queue (most relevant parts inlined here)


  • Add task_status table to store qa/archiever/webstore information that does not need to be versioned. - #1363 (and #1371 - related logic functions)

Configuration setup for daemons

Pass config through to workers i.e site_url, user, api_key. Need to make site user account. #1408

celeryd config:

All providers of tasks will add an item to the following entry point:

name = ckanext.{name}.tasks:....


from pkg_resources import iter_entry_points
for entry in iter_entry_points:

CELERY_IMPORTS = celeryimports

Work Items

  • Resource change notifications in core - Make an IResourceChange and IResourceUrlChange. [1d] [0.75d] - #1383
  • Generate archiving request on resource url change [0.25d][0.25d] - #1399
  • Make site user account.
  • Make entry point system for celery config
  • Archiver daemon #891
    1. implement link-check function and task (point 2 from Archiver.update above) [1d] [0.5d]
    2. Rewrite archiver to use external storage. (decide how!)[3d][~2d]
  • Write to resource and task status table.[1d][0.75d]
  • [Required?] Make archived data available in WUI - #892
  • Documentation - #1400
1318529593000000 1338202920000000
#1681 enhancement ross ross closed fixed Core storage document

Document all of the changes and usage for #1574 so that we can mark it 'done done'.

Make sure we document any setup issues/processes and the settings.py setup required for CKAN so that Mark can announce next week and it should be easily deployable/testable.

Internal (perhaps in README somewhere or wiki): how does process work, where does data end up and in what order etc

External: here's how to configure it and here's what you get ... (goes in main sphinx docs)

1326904939000000 1338202930000000
#1574 enhancement ross ross ckan-v1.7 closed fixed [super] Storage changes including automated save to Webstore

Allow uploading of files to push the data into webstore. Initially we were going to suggest changes to ckanext-storage but after further analysis we arrived at the conclusion that this should be implemented by ckanext-archiver as it already handles archiving of data from various sources and would be the best place to 'archive' to webstore.

  1. A user wants to upload a file to CKAN, and so chooses the file upload option as they do currently with ckanext-storage. The file upload itself should be handled by this code internal to core (see #1608) but still using ofs [5d]
  1. The user is provided the link to the file as currently.
  1. The archiver's update task will check configuration to determine if it should upload some mime-types (tabular formats) to webstore. Configuration should also determine where webstore is. (see #1609) [5d] - took 6
  • It should be stored in webstore using {username}/{resource-id} where {username} is the name of the user uploading the original file.
  1. The archiver will continue to move the file into permanent storage as per current practice.


  • #1608 Merge storage into Core [5d]
  • #1609 Celery task for ckanext-archiver to write to webstore. [5d] (took 6)
  • #1687: Deploy to datahub [1d]
  • #1681: Core storage documentation [1d?]
    • Internal (perhaps in README somewhere or wiki): how does process work, where does data end up and in what order etc
    • External: here's how to configure it and here's what you get ... (goes in main sphinx docs)
1324315633000000 1338202955000000
#1654 task amercader amercader ckan-v1.7 closed fixed [super] Update Publicdata.eu to the latest CKAN stable version

Tasks include:

  • #1813 Update ckanext-pdeu (4d)
  • #1814 Update harvesters (2d)
  • #1649 Verify ckanext-rdf works with latest CKAN (3d)
  • #1815 Reenable Sparql endpoint (?)
  • #1816 Update ckanext-apps (2-3d)
1326710647000000 1338203166000000
#1818 enhancement amercader amercader ckan-future new Spatial metadata editor

Estimate 2.5d

Right now users need to manually enter a geojson value in the 'spatial' extra field in order to define a geometry for a dataset.

We need a map widget on the edit form that allows users to draw the geometry on top of a map. This will be based on the draw functions offered by OpenLayers? [1], [2].

Things to take into account:

  • Integration with the form sections.
  • Allow some degree of configuration (default extent, limit geometry types...)

[1] http://openlayers.org/dev/examples/draw-feature.html [2] http://openlayers.org/dev/examples/modify-feature.html

1329763941000000 1338203195000000
#1594 enhancement johnglover johnglover ckan-v1.7 closed wontfix [super] QA Improvements

Now that QA has been updated for Celery and CKAN 1.5.1, there are a number of improvements that we should probably implement.

  • Integrate QA into frontend - 1d - #1583
  • QA report improvements - 2.5d - #1584
  • QA - Check license as part of 5 star rating - #1587
  • QA - Give SPARQL endpoints a 4 star rating - #1588
  • QA - Give 5 star rating to datasets with link metadata - #1589

Main pad: http://ckan.okfnpad.org/qa

Some QA discussion (relating to Celery in particular) at http://ckan.okfnpad.org/queue

1324489620000000 1338203215000000
#2412 defect zephod icmurray ckan-sprint-2012-06-25 assigned More than one resource invalidatiing breaks dataset edit form

When attempting to add more than one resource at once, if more than one resource invalidates, this results in a js error, leaving the form in an inconsistent state.


  1. Go to /dataset/new
  2. Add a new resource. Fill in one of the fields with an invalid value. eg - last_modified, or size...
  3. Add another resource, doing the same thing: make one of the fields invalid.
  4. Try to save the dataset.
  5. The entered resource information will be lost, and a js error "Uncaught Error: Can't add the same model to a set twice,: backbone.js:586" will be thrown.
1337717148000000 1338203234000000
#1566 enhancement David Raznik jilly mathews ckan-v1.7 closed fixed [super] Finalize Google analytics extension
  • (Deploy it)
  • Integrate with stats plugin (now that is in core) - #1101
  • Blog about it #1581
  • (Other tickets re upgrading for v1.5.1 - done but where are tickets?)
1324293168000000 1338203338000000
#1823 enhancement rgrp ckan-backlog new Spring clean bin directory

Huge number of accumulated (and likely unnecessary) scripts in /bin directory.

1329773331000000 1338203554000000
#1404 enhancement zephod zephod ckan-v1.7 closed wontfix Search Page UI improvements

[Refactored] :: Follows on from #1506 UX changes.

  • Declutter the sidebar. No yellow box.
  • Facets to go on the left, rather than the right. More logical flow.
  • Did you know you can search by author? Probably not. Find a nice way of presenting extended search options.
  • Make Datasets in the search page look more like Datasets on the groups pages (ie. like awesome sexy search results).
    • Update that look-and-feel to include the new resource icons created in #1506
1318847818000000 1338203639000000
#1423 enhancement markbrough ckan-backlog new Edit resources suggestions
  • Description vs Name - Edit Resources view is showing the name of the package rather than the description, and a lot (all?) of the packages before the upgrade don't have names, so might be good to swap this round again, e.g.: http://thedatahub.org/dataset/edit/iati-registry
  • Moving resources - Moving them up or down the list used to be quite useful if you had a lot of resources that you might want to leave on the resources page, but only one or two that were actually current and that you wanted to draw attention to. This doesn't exist any more on CKAN but I think it would be good to add it back in.
1319641906000000 1338203678000000
#1465 enhancement thejimmyg ckan-v1.7 closed fixed Upgrade the harvester to support publishers properly

At the moment most of the harvesting functionality is only available to sysadmins. This is fine for most cases but going forward we will need to grant each publisher access to their own sources, harvest objects and harvest object errors. This will probably be done based on the groups refactor.

One more pressing concern is giving DGU publishers the ability to make calls to /harvest/object/id. We want them to be able to see documents that faild validation and also to see *all* errors in each document.

1321375923000000 1338203858000000
#1595 defect kindly rgrp ckan-v1.7 closed wontfix Editing of a Group leads to recording a change against all associated datasets

Or at least it appears that way from revision log which displays all Group datasets against the changelog, see http://thedatahub.org/revision/4cdeeb42-3281-4f53-a29d-c694e1fd9217 -- not apparent from that page but see my user page: http://thedatahub.org/user/rufuspollock

This may turn out to be a UX bug rather than a real bug ...

Assigning to kindly for review and comment.

1324504875000000 1338203959000000
#1601 enhancement amercader rgrp ckan-v1.7 closed fixed [super] Well integrated Geo-spatial support including search

Need thoughts from Adria and James. RP thoughts

  • Integration into WUI search: #1469
  • JS Editor for adding/editing spatial attribute: #1818
  • Theme/template hook for adding the map e.g. on dataset page (or elsewhere)
  • Clear Documentation
  • Deployment
  • Announce post
  • (?) Map page for stats section showing location of datasets

Extras (probably separate):

  • csw support ...
1325259821000000 1338204029000000
#1669 enhancement ross ross ckan-v1.7 closed fixed [super] Publisher profile

Implement the necessary backend changes to build profile for publishers using the group refactor.

See http://ckan.okfnpad.org/publisherprofiles

Subtickets are at:

  • Publisher profile analysis #1670 [2d]
  • Publisher profile sysadmin authz #1671 [1d]
  • Publisher profile user authz #1672 [1d]
  • Test auth logic hooks for publisher profile #1674 [3d]
  • Publisher admin authz #1675 [3d]
  • Publisher editor authz #1676 [2d]
  • Add approval status field to groups #1673 [1d]
1326802473000000 1338204071000000
#1515 enhancement seanh seanh ckan-v1.7 closed fixed [super] Activity Streams

We want to add "activity streams" (chronological lists of activities) to CKAN.

Activity streams standard: http://activitystrea.ms/

Super branch where the feature was initially developed (this has now been merged into master): https://github.com/okfn/ckan/tree/feature-1515-activity-streams

Etherpad: http://ckan.okfnpad.org/notifications (most relevant parts inlined here)

Friedrich's mockup: http://datahub.pudo.org/pudo


Strikethrough means the task is done.

  • Migrate existing data into activity streams model [3.5d] #1510
  • Generate activities when objects are saved [4d] #1298
  • Get the activity stream for a given user as a JSONifiable list of dictionaries [1d] #1511
  • API call for getting a user's public activity stream as JSON [0.5d] #1495
  • API call for getting a user's public activity stream as rendered text, HTML, etc. [5d] #1494
  • Render a user's activity stream on her user page [3d] #1496 (needs review/page design work)
  • Generate activities for other types of objects besides users (e.g. packages, groups, tags, extras, and save them in the database.
  • Logic functions for getting activity streams for packages, groups, and users.
  • API calls for getting activity streams of packages, groups, and users as JSON.
  • Rendering activity streams for packages and groups etc. into their pages. (done but disabled pending page design work)
  • API calls for inserting events into activity streams. (Still need to handle activity details in the API, ticketed).
  • Conform to activitystrea.ms standard
  • Enable users to subscribe to and unsubscribe from activity streams, see an aggregated activity stream on their dashboard page.
  • Generate aggregated activity streams for arbitrary sets of multiple activity sources/streams
  • Email notifications
  • Extension point for extensions to register themselves as renderers for different types of activity
  • Deploy to UAT [0.5d]
  • Docs and announce [1d]
1323105048000000 1338204149000000
#1697 enhancement rgrp ckan-backlog new A Configurable list of states for a Dataset

Currently have 'active' and 'deleted' suggest also:

  • 'draft'
  • 'hidden'

(Do we need both). Also write out workflows related to these.

1327400630000000 1338204189000000
#1636 enhancement seanh seanh ckan-v1.7 closed wontfix Purge items from activity streams when object (package etc.) purged from CKAN 1326304754000000 1338204258000000
#1667 enhancement seanh seanh ckan-future new Add an extension point for rendering activity streams

Currently rendering of activity stream events to HTML works by looking up a rendering function in a dictionary that maps activity types ('new package', 'changed group', etc.) to rendering functions that take an activity stream event and return the rendered HTML.

There needs to be an extension point where extensions can register their own rendering functions for particular activity types.

1326796151000000 1338204295000000
#1748 enhancement seanh seanh ckan-future new Make activity streams conform to http://activitystrea.ms/ standard

At the very least we should make our JSON output conform to their spec:


1328450784000000 1338204337000000
#1692 enhancement rgrp ckan-v1.7 closed wontfix Add image attribute to Dataset and Group

Add image attribute for Dataset and Group which would be shown in prominent place.

For dataset this could be a relevant image and for Group this would be more of a logo.

I think this has very high value from a UX point of view.


  • Do we need to support uploading and storing the image (or do users store elsewhere)
    • Could use something like transloadit service
    • Use our own storage facility with a reserved directory
  • Do we need to do resizing etc?
    • Maybe. Perhaps can prefer this in reasonably small size and then just size down in css for thumbnails etc.
1327108761000000 1338204395000000
#1698 enhancement seanh seanh ckan-v1.7 closed fixed [super] Tag Taxonomies

Add drupal-like "taxonomies" to CKAN.

Etherpad with user stories, feature list, design and implementation discussion:


Branch where this is being developed is feature-1698-tag-taxonomies:


Tickets related to this have keyword taxonomies.

1327415756000000 1338204433000000
#1815 task amercader amercader ckan-future new Reenable Sparql endpoint on publicdata.eu

Estimate: ?

The 4store Sparql endpoint has been down for a long time. It needs to be reenabled and we need to check that the necessary informtion is pushed when creating /editing a dataset.

1329757723000000 1338204641000000
#2230 refactor seanh ckan-v1.7 closed fixed Tidy up of search facets code duplication

Because of a clash between two development branches there is some duplication of code to do with code facets (note: at the time of writing the code duplication exists only on the feature-1821-multilingual-extension branch, but this will be merged into master at some point):

The package_search() function is adding the search facets to the search results twice with two different data structures, with keys "facets" and "new_facets". It should be reduced to just the new facets (with the key changed to "facets").

Also the group and package controllers are adding both facets and new_facets to the context, should be new_facets only (but renamed to facets).

The facet_items() function in helpers.py should be removed, it uses the old facets structure and shouldn't be needed anymore with the new facets structure.

In facets.html, facet_sidebar() should be removed as it uses the old facets structure and facet_div() implements the same functionality but uses the new facets.

In facets.html, facet_list_items() will have to be updated to not use the facet_items() helper and to use the new facets structure instead.

Anywhere that "new_facets" appears it will have to be changed to "facets" (e.g. in the ckanext/multilingual/plugin.py.

This is the merge commit that introduced the duplication: https://github.com/okfn/ckan/commit/1153aa876f54c22289e460aeececea22d1d4d51d

This is the earlier commit where the search facets were refactored: https://github.com/okfn/ckan/commit/3970e52008b75933fda1be1d488bed2578d98c9c

1331744085000000 1338204707000000
#1763 enhancement seanh seanh ckan-v1.7 closed wontfix Add some simple model-level tests for activity streams 1328536285000000 1338204708000000
#2235 enhancement rgrp ckan-future new Group drop down on dataset edit should use chosen and sort groups by name 1331907357000000 1338204726000000
#2258 enhancement rgrp ckan-future new Customizable contributor agreement
  • Customize text at bottom of forms
  • Also need to make clear that this does not apply to the data itself (that is covered by the license you choose on your dataset ...)
1332751549000000 1338204747000000
#1784 enhancement seanh seanh ckan-v1.7 closed wontfix Links to renamed objects break

The HTML templates for some activity stream activities link to objects (packages, resources, etc.) by their names, e.g. /dataset/foo, but if the object has since been renamed then the link will be broken.

Possible solutions are to use the object ID to find its current name at rendering time and link to that, or link to the object by ID rather than by name.

Linking by ID is both simpler to implement and better. Links by ID are ugly, but they are permanent and don't break when an object is renamed. We should be using links by ID everywhere on CKAN, so that when third-party sites copy-paste our URLs and link to us, their links don't break later.

Fixing this means fixing the dataset_link(), resource_link(), group_link() etc. functions in ckan/lib/helpers.py which will change the links everywhere in CKAN where those functions are used to link to objects (which should be everywhere where we link to an object).

If we want to have nice looking by-name URLs and what them to be permanent, then we need to change CKAN so that objects cannot be renamed.

1328613555000000 1338204797000000
#1800 refactor seanh ckan-future new Tidy up *_list() and *_search() functions in ckan/logic/action/get.py

For consistency all the *_list() functions should list objects only and not accept an optional search query. There should be *_search() functions whenever search is needed.

Currently it is inconsistent, e.g. package_list() and resource_list() do not accept a search query option and there are package_search() and resource_search(), but user_list() does accept a query and there is no user_search(). tag_list() also accepts a query, and there is also a tag_search() that apparently duplicates the search functionality.

1329405129000000 1338204886000000
#2200 enhancement seanh seanh ckan-future new Add vocabulary_id option to tag_show() logic action function

Currently tag_show() only works with free tags, it's not possible to get a tag_show for a vocabulary tag.

1330533678000000 1338204900000000
Note: See TracReports for help on using and creating reports.