{22} Trac tickets (2647 matches)

Results (1801 - 1900 of 2647)

Id Type Owner Reporter Milestone Status Resolution Summary Description Posixtime Modifiedtime
#1158 enhancement pudo pudo pdeu-1 closed fixed Put PDEU into read-only mode and remove unneeded functions

PDEU should be in a mode where:

  • Users cannot edit or create packages
  • Users cannot sign up on their own
  • AuthorizationGroups? and RevisionHistory? is completely gone from the UI
  • Groups have been repurposed as Subjects
1306337786000000 1309804060000000
#1159 enhancement pudo pudo pdeu-1 closed fixed Add RDFa to CKAN package pages

RDFa can be used as a simple way to expose linked data or at least sameAs the API version of the data but we need to make sure we do not expose anything different from the "official" representation.

1306337907000000 1307615133000000
#1161 requirement pudo amercader pdeu-1 closed duplicate Build a simplified theme for PDEU

We need to offer a strongly simplified version, read-only of CKAN under publicdata.eu, with a focus on its role as search engine instead of a data catalogue.

This ticket relates to work on the PDEU theme only!

1306407835000000 1306408026000000
#1174 enhancement pudo pudo pdeu-1 closed wontfix API Representation Registry

As CKAN grows, more and more optional representations of packages will become used. Besides RDF (which is the motivation for this ticket), support for DSPL, home-grown XML, or CSV listings is imaginable.

To properly support this CKAN should have an extensible representation registry that can be extended when new output types become available (and without changing the API in the process). This needs to integrate in two places:

  • We need to add support for file format extensions to the package handler and REST API.
  • We need to add HTTP content type negotiation (Accept headers).

To support this we should have a registry with two registers:

  • to map format extensions to mime types (e.g. "json" -> "application/json")
  • to map mime types and entity types to converter functions (e.g. 8"application/json", ckan.model.Package) -> func(obj, mime_type) )

This should be set up on load_environment so that IConfigurer plugins can feed into it.

The registry should then first be added to _finish in the REST API (which needs to be refactored to be passed the {format} part of the URL if one is given. Based on the format part and HTTP headers, an appropriate representation can be generated by the registry and then be returned to the user.

Forwarding of requests to the regular WUI controllers with Accept headers set or a format specified can be implemented in a separate effort.

1307050992000000 1307615200000000
#1199 enhancement pudo pudo closed fixed Implement an email function for users.

We need an email function in CKAN to accept messages sent to users. The basic signature will be:

  • mail_user(user_obj, subject, body, mime_type='text/plain', headers={})

This has a number of use cases:

  • Retrieval of lost passwords
  • E-Mail confirmation

Finally, the mail function should be exposed in the API for sysadmin clients. This way we can have scripts traverse CKAN for 404s, invalid data or missing fields and ping users about that automatically (requires traversal by revision, not package, to get the associated users).


Note we have already written code like this (*and* tested it) in isitopen:

1308821986000000 1310555589000000
#1223 enhancement pudo pudo closed fixed Caching of static files

StaticURLParser can have caching - use it

1310573854000000 1310573893000000
#1246 defect pudo [email protected] ckan-sprint-2011-10-28 closed fixed Search results on ckan.net are mistakenly all 'open'

All package search results on ckan.net are labelled as 'open' even when their license is closed or unknown: http://ckan.net/package

1311863353000000 1311892816000000
#1249 enhancement pudo rgrp ckan-v1.5 closed fixed Exclude script tag from extraction for i18n

Currently have this script section put in for i18n. It shouldn't be.

<script type="text/javascript">
    $.fn.ajaxCreateSlug = function(name, url) {
        var title = this;
        var updater = {
            init: function(title, name) {
                // Add a new element where the validity of the package name can be displayed
                this.name_field = name;
                this.title_field = title;
                this.name_field.parent().append('<div id="package_name_valid_msg"></div>');
                this.url = url;
1311958536000000 1311959356000000
#1250 enhancement pudo rgrp ckan-v1.5 closed fixed Search results should be sorted by score rather than alphabetical

At the moment we sort search results alphabetically. While this is useful for doing 'browse' case where no search bad for all other cases.

Adopt default sort order of 'score' though may wish to keep alphabetical for no search term (i.e. wildcard).


  • Default this in solr (no need to touch code) but fragile and affects everything ...
  • Do it in code and default to score
  • Do it in code and have alphabetical (on name or title?) when no criteria otherwise score

Aside: may also wish to support search in query api but that is for later!

1311964752000000 1312370201000000
#1281 defect pudo pudo ckan-sprint-2011-10-28 closed fixed Locale change flash message in wrong language

When you change the locale, it displays a flash message "Language has been set to: English" in the original language, not the one we have just changed to.

1314021656000000 1314021919000000
#29 enhancement rgrp rgrp milestone16 closed fixed Improve installation process
  1. install documentation (currently source:trunk/INSTALL is empty)
  2. improve ckan-admin as necessary
  3. create default data (such as licenses)
1152553638000000 1183648166000000
#32 enhancement rgrp rgrp v0.3 closed fixed View a tag

As a


I want to

View a tag's page which should list all packages associated with that tag (or link to a page containing that list).


  • The tags should have a nice primary url such as /tag/<tag-name> (could also use the plural i.e. /tag/<tag-name>)
1157375968000000 1185472746000000
#33 enhancement rgrp rgrp v0.5 closed fixed List and search tags

As a


I want to

View a list of the tags on the system and search for a tag by name


  • As for a search of packages should search for tags that contains a given search string (or could use a glob approach allowing wildcards).
1157375983000000 1199788094000000
#35 defect rgrp rgrp v0.4 closed fixed IP Address for non-logged in users is always when deployed behind a proxy (e.g. on ckan.net)

When IP address is used to identify non-logged in users (for example on create and editing of packages) it is always when using a reverse proxy (standard deployment configuration on a production machine and used e.g. on http://www.ckan.net).

This could be corrected by using HTTP_X_FORWARDED_FOR when available.

1177006633000000 1185471537000000
#36 enhancement rgrp rgrp v0.4 closed fixed Edit package page should support previews

When editing a package one would like to be able to preview one's changes before saving.

1177007112000000 1185470035000000
#37 enhancement rgrp rgrp v0.5 closed fixed Purge a Revision (i.e. purge all changes associated with that revision)

Spam entries have started to occur on ckan.net in the last few months. It would be useful to be able to purge these revisions -- that is permanently delete all changes to domain objects associated with those revision (one might also permanently delete that revision -- or alternatively simply mark it as purged).

In addition to providing this facility from the shell it would also be useful to be able to do this from the web interface (with associated restrictions on usage via an authorization controller of some sort).

1192650660000000 1199786536000000
#38 enhancement rgrp rgrp v0.5 closed fixed Make data available in machine-usable form

Currently all data is only available via the web interface which makes it difficult to obtain in bulk. Data should be provided in other more convenient, machine usable forms:

  • DB Dump
  • JSON for each package page (maybe Atom as well)
1194521614000000 1200903004000000
#40 defect rgrp rgrp v0.5 closed fixed Reserved html characters (such as &) in urls mean package does not render for read view

A url such as: http://someurl.com/xyz?x=1&VERSION=1.1&Service=WFS when set as url or download_url breaks the rendering of the package with an error like:

There was an error rendering the package: not well-formed (invalid token): line 1, column 181

Have checked that removing the & stuff makes the error go away so this looks like an issue with escaping urls when displaying them ...

1195565228000000 1200993319000000
#41 task rgrp rgrp v0.5 closed fixed Upgrade to Latest Version of Pylons (0.9.6.*) and Deploy on Production Machine

Should do this sooner rather than later to avoid 'clear water' opening up and need to deploy then asap onto production machine to avoid 'clear water' between trunk and production (which then prevents pushing from trunk to production).

1199786854000000 1199787967000000
#42 enhancement rgrp rgrp v0.6 closed fixed In WUI where List of Items to Display is Large Results should be Paged

As A


I Want To

View lists of items but not have too many on a page (as this leads to slow page loads and difficulty navigating the list). Where there are more items in the results of my action that can be fit on a single page the results should be 'paged' in some manner.


Main place this issue arises:

  • List of tags
  • List of packages
  • Repository history (/revision)

Should probably have no more than 50 (or so) items on a page. Obvious solution is for actions that return lists to have some kind of pageno parameter and then use this in controller to select what to display.

1199787162000000 1204133257000000
#43 enhancement rgrp rgrp v0.10 closed fixed Generic Attributes for Packages

As A


I Want To

Add arbitrary named attributes to packages (an attribute being a name, type, value triple).


  • We will do this using a dedicated (versioned) table associated to Package
  • Do we allow multiple attributes of the same name?
    • For the present: No (since we will key by attribute name)
    • Could allow for single attribute but with multiple values using json list ...
  • What types do we allow or do we just rely on JSON to take care of this?

Questions (Original)

  • How complex is this to implement?
  • What would an arbitrary user be able to edit? Possibilities:
    1. 'create new attribute' and setting the value (so name and type would be chosen from predefined list).
    2. 'create', setting of name and value (but not type -- type already set in predefined list)
  • Could just use (machine) tags -- though this could be seen as a bit of a hack.
  • Would solve having to create special file/url attributes (though I think that perhaps file stuff is important enough to merit first class support in the domain model -- though, that said, since one won't want to have a file limit adding unlimited file support is very similar to unlimited attributes of arbitrary type).
1199788109000000 1253709802000000
#45 enhancement rgrp johnbywater v0.6 closed fixed Immunity to SQL injection attacks 1201110894000000 1204133342000000
#46 enhancement rgrp johnbywater v0.9 closed fixed Return error documents that look and feel like normal CKAN pages 1201111018000000 1265891789000000
#47 enhancement rgrp johnbywater v0.6 closed fixed Return OpenID signin pages that look and feel like normal pages 1201183920000000 1215543616000000
#48 enhancement rgrp johnbywater ckan-v1.4-sprint-1 closed fixed Create favicon

Because CKAN's worth it!

1201202789000000 1297077492000000
#49 enhancement rgrp rgrp closed invalid Filter Spam in Changes to CKAN Data

As A


I Want To

Have revisions to the CKAN data filtered in order to reduce the spam in the system.


In the long run this is a quite a generic problem common across several OKF systems and probably can become a general component in the okfmisc repo. For time being focus on a well-factored CKAN-specific solution.

Suggest we follow path of trac: http://trac.edgewall.org/wiki/SpamFilter

Could have a general engine that aggregates spam scores from many different 'plugins' and then marks spam appropriately (actions should be configurable depending on spam level from 'purge' to 'delete' (mark revision as inactive) to 'flag' to 'do nothing').

Main initial plugins would be:

  • regex filter (this would seem very useful here, e.g. do not allow urls in commit messages ...)
    • could augment using the badcontent list approach (can find list on e.g. moinmoin)
  • spambayes and/or akismet
1204134691000000 1257244973000000
#50 task rgrp rgrp closed fixed Investigate apt-get in more detail

Research apt-get especially wajig and python wrappers for apt-get. Post results on the wiki.

1215456052000000 1267648356000000
#51 enhancement rgrp rgrp v0.7 closed fixed Upgrade CKAN to use sqlalchemy and vdm v0.2

Move CKAN codebase to use sqlalchemy (rather than sqlobject) along with vdm v0.2.

NB: the upgrade itself should not be too hard, the work will be in providing a satisfactory migration script to convert existing data on ckan.net service.

1220900438000000 1223908230000000
#52 enhancement rgrp rgrp v0.7 closed invalid Paginated results sets should be customizable across domain objects
  1. Tag results could/should show number of associated packages
  2. Package results should show title (and be in list)
  3. Pagination should be able to be applied to other result sets than simply register listing (e.g. search results ...)
  4. Revisions should be listed in a table with full details
1223549648000000 1223908425000000
#53 enhancement rgrp rgrp v0.8 closed fixed View Information about Package history (i.e. package revisions)

As A


I want to

View information about a package history, i.e. what revisions it has.


  • History info should be available at package/history/pkg-name
  • Most basic info is just info from revision (when it occurred, author etc)
  • More sophisticated would be to have diff support to see differences between revisions
1223552139000000 1239133021000000
#55 enhancement rgrp rgrp v0.7 closed fixed Code to migrate data from v0.6 to v0.7 using dump and load

Associated to ticket:51 (upgrade CKAN to new vdm) and ticket:54 (dump/load) need to convert v0.6 data for v0.7.

Obvious way to do this is via alteration to data load method.

1223908240000000 1223909891000000
#56 enhancement rgrp rgrp v0.8 closed fixed Show icons indicating package openness

As A

User or Visitor

I Want To

See simple icons (e.g. tick/cross) next to packages (in lists or on main page) indicating openness status of package.

So That

It is easy to see the openness status of a package.


  • Suggested by Liz Turner
  • Openness = open license at present (no easy way to determine whether accessible)
  • Have separate tick for downloadability (i.e. existence of download url)
  • Could do more stuff in future (e.g. money where tag price- exists, etc etc)
1230211123000000 1239018857000000
#57 enhancement rgrp rgrp v0.8 closed fixed Basic datapkg integration with CKAN

Using datapkg a user can:

  • list packages on CKAN
  • get info about package on CKAN
  • register and update a package on CKAN
1238750826000000 1239018717000000
#58 enhancement rgrp rgrp v0.9 closed fixed Make bookmarklet to enable easy package registration on CKAN

Make bookmarklet to enable easy package registration on CKAN


  1. This requires redoing web interface to allow 1-step package creation/editing (as opposed to name then everything else approach at the moment)
1239018517000000 1239974365000000
#60 enhancement rgrp rgrp v0.9 closed fixed Front page usability improvements
  1. List in sidebar 3 latest created/updated packages.
  1. Put package search box on front page (might also want to move some of front page content into an about page).
  1. Similarly might want package creation box on front page.
1239094266000000 1246434921000000
#61 enhancement rgrp rgrp v0.10 closed fixed When dumping data to json do not dump private information like API keys

Cost: 1h

1239123529000000 1265890790000000
#63 defect rgrp rgrp v0.9 closed fixed Purge is broken after upgrade of vdm

Since we upgraded to new vdm (v0.4) which has built in purge support existing purge support looks to be broken. Should be reasonably easy to fix this.

Cost: 1h

1245148623000000 1245656000000000
#64 enhancement rgrp rgrp v0.10 closed fixed Switch to repoze.who for authentication

Switch to repoze.who + openid plugin for authentication from authkit.

Already did this in microfacts so should be fairly easy.

1245168853000000 1246127063000000
#65 enhancement rgrp rgrp v0.9 closed fixed Add version attribute to package

It is essential packages have a version attribute to assist in tracking releases etc (and to allow compatibility with other packaging systems e.g. distutils which is being used by datapkg).

cost: 2h

1245262864000000 1246434569000000
#66 enhancement rgrp rgrp v0.10 closed fixed Improve user account UI
  1. Link at top should say "Your Account" when you are logged in
    • when not logged in should say: "Log in via openid"
    • Open Id info on /account/ should move to /account/login/ or be deleted
    • Going to /account/ when not logged in should redirect to /account/login/
  1. When logged in the basic account index page should not give generic information but should reflect fact you are logged in by:
  • Saying something like: "You are logged in as: ..."
  • Showing your apikey or a link to apikey
  • Giving you a logout link

We can think of a bunch of other stuff that could go on their (recent edits, packages you own etc) but these will be separate tickets.

1245263685000000 1250785405000000
#67 enhancement rgrp rgrp v0.10 closed fixed List all of a user's recent edits on their home page

Additional feature related to ticket:66.

cost: 2h

1245263731000000 1250785122000000
#68 enhancement rgrp rgrp v0.9 closed fixed Show affected packages in revision list view

When listing revisions (at /revision/ or in atom feed) show affected packages. Minor but v. useful UI improvement.

Cost: 1h

1245656153000000 1245697554000000
#69 enhancement rgrp rgrp v0.9 closed fixed Change to text-only license field and use external license repo

Switch from license domain object to a simple license field and use license list from new centralised license repo:


  • This will require a migration

Cost: 4h (plus migration ...)

1245687449000000 1246437494000000
#70 enhancement rgrp rgrp v0.9 closed fixed Convert from py.test to nosetests

Cost: 1h

1246434753000000 1247827053000000
#71 enhancement rgrp rgrp v0.10 closed fixed Upgrade to Pylons 0.9.7

Cost: 2h

1246435041000000 1250181211000000
#72 enhancement rgrp rgrp v0.10 closed fixed Integrate new logo

Integrate new logo from http://wiki.okfn.org/ckan/logo into site:

  • In title

Also can do favicon (separate ticket:48)

Cost: 1h

1246441021000000 1251451954000000
#73 enhancement rgrp rgrp closed invalid Put enquiry template in db so it can be edited by admins

Currently stored in the python controller file. This is not the right place and putting it in db will allow editing by admins.

May also want to do this for the footer (also in the controller file).


  • Will need to create a new domain object/db table. Suggest called miscellaneous and consist of key value pairs utilizing JSON type for values.

Cost: 2h.

1247705786000000 1266510385000000
#78 enhancement rgrp rgrp ckan-sprint-2011-10-28 closed fixed Extend login cookie lifetime

When you login you get given a cookie but it is very short (life of your browser session I think).

Work out how to extend to something reasonable (30 days or perhaps forever with logout unsetting cookie).

  1. A quick investigation to see whether this is possible
  2. If possible do it

Cost: ?

1247829310000000 1314877169000000
#81 enhancement rgrp rgrp vdm-0.7 closed fixed Support for sqlalchemy 0.5 1248285433000000 1268487327000000
#82 enhancement rgrp rgrp closed fixed Support diffing of versioned objects

Should have function/facility to get a diff of a version object between 2 revisions. Function should return a dictionary of fields with diffs.


  • Do we deal with m2m relationships (and m2one on the many side)?
  • What is diff?
    • For text fields output of python diff command
    • For non-text field guess just simple +/- for what was there before and now

Cost: 4h (don't think this is a huge request)

1248289499000000 1256565441000000
#83 enhancement rgrp rgrp vdm-0.6 closed fixed Allow "ignored" fields on versioned objects

Allow 'ignored' fields on versioned objects (i.e. attributes which are not 'versioned'). This is not hard to do as we already have most of the necessary mechanisms set up in the Revisioner object.

Cost: 2h

1248339384000000 1267648301000000
#85 enhancement rgrp rgrp closed fixed Convert state from an object to an enumeration

No real benefit of having State object as opposed to a simple text field with enumerated values and this second option is both simpler and more flexible.

Main hassle here is that it requires migration in all projects that use vdm.

If we're going to do this we should do it sooner rather than later.

Cost: 2h (+ 1h for a conversion method)

1248339662000000 1263206391000000
#86 enhancement rgrp rgrp closed fixed Support for stateful dict-like collections

Already support stateful list-like collections and should extend this to dict-like collections.

(This is prerequisite for implementing versioned "extra" (key/value) attributes on packages in CKAN and elsewhere).

1248430798000000 1249050202000000
#87 enhancement rgrp rgrp closed duplicate Multiple download links

Multiple download links, including links to mirrors and multiple formats/versions

1248693302000000 1258470719000000
#88 enhancement rgrp rgrp v0.11 closed fixed Download (link) metadata

Support for download metadata (file size, file formats, version information).

See also: ticket:87 (multiple download links)

1248693385000000 1265891491000000
#92 enhancement rgrp rgrp closed wontfix Add RDFa to package pages 1249049927000000 1297344859000000
#93 enhancement rgrp rgrp v0.10 closed fixed Access control for packages

Should be able to limit ability to a user's ability to do things with packages (read, edit etc). This is a big ticket (it may required splitting) and full details are in separate wiki page: AccessControl.

Cost: 8d

1249055049000000 1253613274000000
#95 enhancement rgrp rgrp closed fixed Add manifest support

Support for listing files (manifest) contained within a package.

Traditional manifests just list the files. Suggest in addition we have support for optional metadata in form of key, value pairs.

1249981842000000 1251454716000000
#96 defect rgrp rgrp closed invalid info command must give up to date information for python-type distributions

(2008-09-10) at present when setup.py is edited info command may not give up to date information if pkg-info (in egg.info) is not rebuilt.

Suggest: info command needs to rebuilds pkg-info in python-type distributions.

1249982410000000 1311176063000000
#97 enhancement rgrp rgrp closed duplicate Do not create a distribution on a path is something already exists there

(2009-03-09) Do not create a distribution at path X if path X already exists and contains material (unless forced via a force option).

Cost: 1h

1249983557000000 1318181317000000
#98 enhancement rgrp rgrp datapkg-0.7 closed fixed Replace use of pastescript templates in PythonDistribution with of something simpler

Replace use of pastescript templates in PythonDistribution? (write) with of something simpler (allowing us to remove dependency on pastescript).

1249983810000000 1297210774000000
#99 enhancement rgrp rgrp closed wontfix Test DbIndex with sqla 0.5

Test DbIndex? with sqla 0.5 (and get it working if it does not work).

Cost: ??

Priority: low because DbIndex? is not currently that important to us (also wonder whether we should try using CKAN code here to stop us reinventing the wheel).

1249985537000000 1297081088000000
#100 enhancement rgrp rgrp closed fixed Convert existing data on disk to a datapkg distribution

(2008-10-29) convert existing directory on disk to a datapkg distribution (PythonDistribution? by default). This would be presented in the CLI as a convert command.


  • Add a metadata file (setup.py), perhaps prompting for input
  • List all existing data in that directory

Cost: 4h

1249986628000000 1318181227000000
#101 enhancement rgrp rgrp closed fixed (Improved) Download support
  1. Given a url download from that url to disk
  2. Given a package use download url to download to disk

Once on disk should uncompress (if necessary).


  • Should download either to tmp directory (defaulted in config) or a specified path on disk
  • In download would like to support as many types of target urls as possible:
    1. Single files (usually compressed filesets but could be individual files)
    2. Index pages listing files to download
    3. Revision control repositories
    4. ...

This will obviously be a significant amount of work. Suggest:

  1. Start off just supporting the first option.
  2. Have something like a plugin system to handle new target types
  3. Reuse existing work (e.g. easy_install and pip handle standard vcs such as svn, hg, git etc)

Cost: 1d

1249988866000000 1267648607000000
#102 enhancement rgrp rgrp closed fixed Switch to using UUIDs for revision ids

This is better for long term sustainability, especially if we want to "push and pull" from unrelated repositories in the future.


  • May wish to retain a number field updated in the usual incremental way (what's the cost/benefit here?)
1250068175000000 1260285104000000
#104 enhancement rgrp rgrp closed fixed View a package at a given version

As a user i want to see a package at "version" X (NB: not revision X).

  • When I visit e.g. /package/read/xyz?version=0.7 I should be shown package at version 0.7 (or a message saying no such version)
  • Implementation:
    • Find revision for this version (search revision history for when version field was last 0.7)
    • Show pacakge at that revision (as in ticket:103)
  • On history page also shows versions in list of revisions associated with the package
1251292672000000 1311181303000000
#107 enhancement rgrp rgrp closed invalid Provide information about uploading material

Often people who are registering resources want to make the associated material available. We should:

  • Provide a dedicated upload page giving instructions as to upload process
    1. Explain we don't store the data itself on CKAN. Suggest uploading to a store somewhere and then linking using download_url (that is its purpose)
    2. Upload to
      • Talis CC for RDF
      • archive.org
      • grid.okfn.org
  • link to this page from next to download_url item on new package page

In long run (now ticket:186) we may automate this by providing a ckan upload facility which caches the data and then reuploads it to relevant service (disadvantage is "we" are the owner of the data on that service ...)

1251466274000000 1296341644000000
#109 enhancement rgrp dread closed fixed Tag search in the REST API

Similar to ticket:108 but for tags:


For tags search is extremely simple since you can only search by name.

Possible Extras

  • Allow "exotic" ordering of results e.g. ordering by number of packages with that tag.
  • Return this number with tag list.
1251976297000000 1291829457000000
#111 enhancement rgrp dread v0.10 closed fixed Create user object

Object properties:

  • id (uuid)
  • apikey (uuid) -- migrated from the apikey table
  • name (username = openid)

/account is being renamed to /user in the wui.

1252315994000000 1252331626000000
#112 enhancement rgrp dread v0.11 closed wontfix Test db schema created via migration scripts

'paster db upgrade' should result in the same database as 'paster db create' on a clean system. In particular, all tests should pass.

Note: equivalent of paster db upgrade isn't being run from tests at the moment (we haven't been able to get this to work).

1252316495000000 1265294069000000
#124 enhancement rgrp rgrp v1.0 closed fixed Display Generic Package Attributes in WUI

Split out from ticket:43

1253709702000000 1254735558000000
#129 enhancement rgrp dread ckan-backlog closed invalid Secure db access by channelling query generation through authz module

Controllers and templates should not access db objects directly - they should do all access via authz module giving username. They are handed by a query that has already been filtered by the packages they are authorized to read.

(Additional idea to be discussed: When they request a package object, they are handed an copy of the db object - disconnected from the database - so it the db object can't be changed.)

A couple of tests can be reenabled when this is done: ckan.tests.functional.test_authz.TestUsage?.test_admin_list_deleted ckan.tests.functional.test_authz.TestUsage?.test_search_deleted

1253886136000000 1267719162000000
#132 defect rgrp dread closed fixed Security hole - read package/group list (REST)

Using REST interface you can list packages and groups without authorization being checked.

Can be fixed using more advanced query to check authz.

1254389493000000 1273254514000000
#133 defect rgrp dread closed fixed Security hole - search package/group (WUI & REST)

Using WUI or REST interface you can search packages and groups without authorization being checked.

On the REST interface you can also read all the attributes of the packages using the 'all-fields' option.

Can be fixed using more advanced query to check authz.

1254390168000000 1273253977000000
#134 defect rgrp dread v0.11 closed fixed admin interface is only available to sysadmins 1254735314000000 1255430998000000
#135 enhancement rgrp dread v0.11 closed fixed sysadmins defined in the db 1254735368000000 1265293940000000
#136 enhancement rgrp dread v0.11 closed fixed User has publicly viewable page

A user's 'home page' is at: user/<user.id> e.g. user/28394723982-03849472

Step 1:

  • Current user home page with recent edits

Step 2: Readonly

  • Number of edits
  • Number of Packages they are admin of

How do we do a nicer URL for the home page - can we use their openid login?

Follow on tickets: ticket:138 and ticket:142

1254741650000000 1255169466000000
#137 enhancement rgrp dread closed duplicate User has editable home page
  • Generic text box for markdown about the user 'About'

Model's user table reflects these:

  • 'about' attribute
1254741703000000 1254741830000000
#138 enhancement rgrp dread v1.0 closed fixed User has editable home page
  • Generic text box for markdown about the user 'About'

Model's user table reflects these:

  • 'about' attribute
  • 'created' attribute is a default=datetime.now() - so when user was created

Need edit page for this.

Only user should be able to edit it.

Follows on from ticket:136 and ticket:142

Cost: 2h

1254741789000000 1258466074000000
#139 defect rgrp rgrp v0.11 closed worksforme Ensure you cannot add same tag twice to a package

Seems some package have ended up with same tag twice: http://www.ckan.net/package/fred2dot0

Check whether this is still possible and if it is fix it ...

Cost: 2h

1254768552000000 1255188974000000
#144 enhancement rgrp dread v0.11 closed duplicate Most popular packages listed on homepage

Based on number of views.

Related to ticket:143.

1255010391000000 1265284457000000
#145 enhancement rgrp dread v0.11 closed fixed Group shows its administrators

When viewing a group you see a list of the users who have admin rights to it. (Akin to owners / moderators)

1255010403000000 1265294041000000
#154 enhancement rgrp dread v0.11 closed wontfix Package form guidance

Give guidance on what to put in 'author' and 'maintainer' fields (e.g. name? URL?)

Suggestion from Jonathan Gray

1255621572000000 1257535066000000
#163 enhancement rgrp dread v0.11 closed fixed Regularly put CKAN RDF on Talis CC

Related to: ticket:90 Link to RDF version of CKAN data on Talis Connected Commons ticket:164 Creating RDF data from CKAN

Regularly re-upload the CKAN RDF data to Talis CC.

In the long run may wish to only re-convert packages changed since the last upload. However given relatively smaller size of full dataset this optimization is probably not yet required.

Cost: ? (1d+ depending on e.g. how easy integration with Talis CC is)

1256052587000000 1265891374000000
#165 enhancement rgrp dread closed invalid Use 'tag:' instead of 'tags:' for wui package search

Because people might try and do "tags:gov sweden" when "tag:gov sweden" makes more sense (sweden is searched for in all fields in these cases).

But in REST i/f search allow "tag"="gov" OR "tags"="gov sweden" in parameters.

1256200526000000 1311181391000000
#168 enhancement rgrp dread closed duplicate Show admins for a group in group view 1256291481000000 1257414795000000
#170 enhancement rgrp dread v0.11 closed fixed Paginate search results



Results are capped at 20, but can't see past first page.

1256313584000000 1265891157000000
#171 enhancement rgrp rgrp datapkg-0.7 closed fixed Create consolidated config for CLI

Create consolidated set of config by merging config from .datapkgrc and command line options and use that instead of mixture of command line options and other stuff ... (likely to be less buggy!)

1256488011000000 1297210925000000
#172 enhancement rgrp rgrp v0.11 closed fixed Build ckan documentation using sphinx and upload

Use python sphinx to build documenation in ./doc and then upload it somewhere publicly accessible.

NB: improving the documentation is another matter (as is integrating e.g. existing api docs).

Upload location (these are docs for CKAN codebase/concept not the ckan service at ckan.net so good not to associate it too closely with ckan.net):

1256489019000000 1257532331000000
#173 enhancement rgrp dread v0.11 closed fixed Diffing WUI

Use vdm diff functionality (see ticket:82) to implement diffing of packages between versions in WUI.

In package history you should be able to select to revisions and show the diff.

Estimated cost: 12h

1256565412000000 1265293968000000
#174 defect rgrp dread v0.11 closed fixed Packages search broken for 'only openly licensed'

the "only openly licensed packages" tick box seems to return blank page every time - as do queries for only openly licensed and only downloadable packages. The "only downloadable packages" tick box by itself seems to work fine. E.g. try searching for 'science'.

Raised by Jonathan Gray

1256650867000000 1265891093000000
#175 enhancement rgrp dread v0.11 closed fixed Creation date

'created' attribute on User, Group and Rating

datetime object: default=datetime.datetime.now()

See example on revision

Requires migrate script

1256754070000000 1265291037000000
#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
#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
#183 enhancement rgrp rgrp closed worksforme Browse packages by rating

At moment order packages by title.

1257534606000000 1290604779000000
#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
Note: See TracReports for help on using and creating reports.