{22} Trac tickets (2647 matches)

Results (1101 - 1200 of 2647)

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Id Type Owner Reporter Milestone Status Resolution Summary Description Posixtime Modifiedtime
#1822 enhancement kindly kindly ckan-sprint-2012-03-05 closed fixed Weight mulilingual searches correctly

Dismax query across languages. Titles and selected languages, weighted more highly.

1329772080000000 1330990127000000
#1826 enhancement kindly kindly ckan-sprint-2012-03-05 closed fixed weight queries so that title is more important than rest of body

Currently everything is considered equally when doing a normal search. Use dismax when there is not a fielded search to get round this. This is part of the work for #1822 as the dismax option is needed for multilingual search.

1329924260000000 1330990247000000
#2203 enhancement kindly rgrp ckan-v1.9 assigned Data Viewer support for PDF
  • Boot viewer for format/mimetype: application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf
  • propose we use pdf.js - https://github.com/mozilla/pdf.js
  • We could also try iframing for browsers with native support but this seems more complex
1330860293000000 1348568961000000
#2229 enhancement kindly kindly ckan-sprint-2012-03-19 closed fixed Cleanup plugin system after some test failed to run.

The logic test did not have init. This caused lots of tests to fail because there were mock extensions that ran automatically in them. Fix plugin system so this can work.

1331721611000000 1332163408000000
#2233 enhancement kindly kindly ckan-sprint-2012-03-19 closed fixed Make package show, use custom json schema

There is a disrepency between what we put in and get out when using a custom form/api. Narrow this gap by making sure package_show shows the correct serilization.

1331865349000000 1332178421000000
#2237 enhancement kindly kindly ckan-sprint-2012-03-19 closed fixed Make way to split up tests and run tests with different db. 1331938496000000 1332178352000000
#2249 enhancement kindly kindly ckan-sprint-2012-04-02 closed fixed Fix google spreadsheet to work with DataStore.

Need google spreadsheet app to work with the new datastore. This should simplify it a lot.

1332330242000000 1338205316000000
#2250 enhancement kindly kindly ckan-sprint-2012-04-02 closed fixed Setup nginx and datastore on ecportal 1332330570000000 1338205361000000
#2291 enhancement kindly rgrp ckan-v1.9 new DataStorer incorrectly attempts to store JSON in DataStore

See http://thedatahub.org/dataset/ecb13156-cf11-4e91-b51c-f287d154276e/resource/5db67915-40cb-467e-9d72-194ea4973670

This was marked as json format (and is JSON) but appears to have been imported as a quasi-CSV. Either this hsould not be imported at all or it should be imported as JSON ... (which is straightforward to do).

Assigning to David for triage and review.

1334431147000000 1340636737000000
#2294 defect kindly rgrp ckan-v1.9 assigned Unauthorized action on Data API gets 302 rather than 401 or similar

Well known issue that 401 *in API* end up with 302 redirect to login page (which makes no sense and is very confusing for clients).

Fix this by ensuring that error messsages on API get passed through correctly.

Minor because affect is annoying but not terminal

1334432104000000 1340624003000000
#2327 enhancement kindly kindly ckan-sprint-2012-04-30 closed fixed Upgrade solr schema to version 1.4
  • Add Ascii folding filter to text fields.
  • Add capacity field for public, private access.
  • Add title_string so you can sort alphabetically on title.
  • Fields related to analytics, access and view counts.
  • Add data_dict field for the whole package_dict.

Actual implementation of data_dict adding will be added later.

1335374973000000 1338205397000000
#2331 defect kindly rgrp ckan-sprint-2012-05-29 reopened Search should AND terms not OR terms

Appears current default search in CKAN ORs terms rather than ANDing them (i.e. adding more terms increasing number of items found rather than reducing it).

Not sure when this crept in or if it has been there for a long time.

1335637485000000 1356474344000000
#2334 enhancement kindly rgrp ckan-v1.9 assigned Improved data import

Placeholder for thinking about this ...

  • Allow users to configure info for CSV import (e.g. separators, quotes etc)
1335651662000000 1340624538000000
#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
#2406 defect kindly markw ckan-v1.9 new Errors in source install doc

There are a few errors or unclarities in the source install doc - see

http://lists.okfn.org/pipermail/ckan-dev/2012-May/002203.html http://lists.okfn.org/pipermail/ckan-dev/2012-May/002204.html

1337595093000000 1340636804000000
#2415 defect kindly markw ckan-v1.9 new Confusing message on attempting to register new account with upper case

On registering a new account, if you try to use a capital letter in your 'Login', you get the unhelpful error message:

"The form contains invalid entries: Name: Url must be purely lowercase alphanumeric (ascii) characters and these symbols: -_"

What does 'Name' or 'Url' have to do with anything? It means 'Login must be ...'

But even better would be to make the login case-insensitive and allow capitals to be entered.

1337779189000000 1341268304000000
#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
#2425 enhancement kindly seanh ckan-sprint-2012-06-25 closed fixed Get rid of CKAN's flup dependency 1337946421000000 1340117561000000
#2426 enhancement kindly seanh ckan-v1.9 new Get rid of CKAN's formalchemy dependency 1337946462000000 1340616095000000
#2427 enhancement kindly seanh ckan-v1.9 new Reduce cruft installed into CKAN's virtualenv due to Pylons 1337946507000000 1341268323000000
#2473 enhancement kindly kindly ckan-v1.9 assigned Make datstorer store field ordering in _meta field

Recline views should have a default table order, being the same as the csv that was imported.

1338293492000000 1340636871000000
#2524 enhancement kindly kindly ckan-ecportal new If there are no translation files for selected language fall back to default lang.

If a user selects a language there are no mo files for then an error is raised. Revert to default language instead.

1339609048000000 1340117608000000
#2530 enhancement kindly rgrp ckan-v1.9 new DataHub purge fails on some revisions

See http://datahub.io/ckan-admin/trash and try to purge revisions (*not* datasets). It will fail on some of the revisions with errors like:

Problem purging revision 391db9e8-df57-4e0e-8fe6-d4e0c2318344: (IntegrityError?) update or delete on table "revision" violates foreign key constraint "group_extra_revision_revision_id_fkey" on table "group_extra_revision" DETAIL: Key (id)=(391db9e8-df57-4e0e-8fe6-d4e0c2318344) is still referenced from table "group_extra_revision". 'DELETE FROM revision WHERE revision.id = %(id)s' {'id': u'391db9e8-df57-4e0e-8fe6-d4e0c2318344'}

1339750498000000 1341268280000000
#2548 enhancement kindly ross datahub-july assigned Object ownership for groups/package

Requirements

We need to be able to easily determine who the owner of a dataset or group is. Datasets and Groups should have an Owner, who may change over time but is a specific user within the CKAN instance. It should be easy for CKAN components to determine the user and for the initial version we should ignore the can of worms labelled 'ownership transfer'.

At this point migration is likely to be the biggest issue, and would suggest that it is acceptable that the last user to edit a dataset be set as the current owner.

More tickets should arise as a result of this work where we may be able to optimise some queries to use the new feature.

Interface

None

User Stories

None

Tasks

[ ] Analysis/Clarification?

[ ] Tests

[ ] Migration

[ ] Code/Schema? changes

[ ] Documentation

Estimates

1340017331000000 1340706539000000
#2571 enhancement kindly toby demo phase 1 closed fixed implement logic.action.create.resource_create()

This function is incomplete

If you want I can do this but I need guidance over how to do this properly. ie would I go through lib.dictization.model_save.package_resource_list_save() which looks wrong to me as I'd need the package. resource_dict_save() seems better but to be honest the total lack of docstrings etc makes me feel ill.

1340102259000000 1340369783000000
#2574 enhancement kindly toby demo phase 1 closed fixed look at package states

we want to be able to add new datasets but not have them indexed or seem by people

is the vdm.state the place to do this

1340115771000000 1342092416000000
#2580 enhancement kindly toby demo phase 1 closed fixed create resource validation

david I've got the add resource working but it is happy to add empty resources which implies that it isn't doing validation correctly.

I'm not sure what the validation rules are so hard to test this - I'm coming through as an api call

let me know if i can help

1340285208000000 1342092353000000
#2674 defect kindly shevski demo phase 5 assigned Data preview not loading on s031

Not loading for all resources as far as I can tell; e.g. http://s031.okserver.org:2375/dataset/afghanistan-election-data/resource/f6331f99-51f6-44d9-95b9-b20f3b74f360

Fine on demo.ckan.org

1342435102000000 1344349324000000
#2708 enhancement kindly toby ckan-v1.9 new limit extra data for package/group show

contextpackage_limits? = { 'tags': 5, <- get first 5

'extras': 0, <- get all

}

only get what you ask for have to be explicit

contextgroup_limits? = {} only main item

start with datasets/groups expand if we like it

1342622420000000 1342622420000000
#2729 enhancement kindly shevski ckan-backlog new searching for tags:[tag] works but tag:[tag] doesn't

which is confusing since you can only search for one tag like this at a time. I.e. tags:economics,cvs or tags:economics, csv or tags:economics+CSV doesn't work for example; therefore tag:economics, should also work!

http://s031.okserver.org:2375/dataset?q=tags%3Aeconomics&sort=relevance+asc

1342951109000000 1342951176000000
#2790 enhancement kindly toby demo phase 4 new logic.action.user_show is slow

This is a very slow call it would benefit from the sort of speed-ups that package-search received

for me locally this is taking 6 seconds for rufus using the datahub data I have. I think a lot of this is the dataset retrival/dictization

can we just grab json blobs from solr?

also is it possible to specify a sort order/paging?

I've put this as a demo-theme ticket as it is an big issue on the demo we are at 25 second page loads - which i can get down to about 8.8 secs so this is the main pain point now

1343852483000000 1345023734000000
#2877 enhancement kindly rgrp assigned Bugs with datastore v2

In progress

  1. [major] q does not seem to work reliably. e.g. using the setup from this gist https://gist.github.com/1930806 and doing a ?q=DE yields no results (does not work with "q=de" either)
    • q=second does work ...
  2. [major] q does not work with 2 values (see below)
  3. Query on search with limit 0 results in total of 0 (should either be null or correct total). Queries with other limits yield correct total AFAICT
    • Also weird fact that limit is returned but as as as string - should it not be an integer
  4. Types on fields: could these not be canonical and as per recline (or is it important to allow exact sql types ...)

Multiple query values

Try a query such as: "second UK" and you will get 500 error:

http://localhost:5000/api/3/action/datastore_search?resource_id=4f1299ab-a100-4e5f-ba81-e6d234a2f3bd&q=second%20UK

ProgrammingError: (ProgrammingError) syntax error in tsquery: "second UK" 'select "_id", "id", "date", "x", "y", "z", "country", "title", "lat", "lon", count(*) over() as "_full_count"\n from "4f1299ab-a100-4e5f-ba81-e6d234a2f3bd" where _full_text @@ to_tsquery(%s) limit 100 offset 0' (u'second UK',)

Suggestions

Filter support: should think in more detail about this (may want to follow recline style)

Simple filters in query parameters would be nice too ...

1345250002000000 1346320395000000
#2935 enhancement kindly kindly ckan 2.0 closed fixed Make recline work with new datastore 1348042459000000 1350578067000000
#3027 enhancement kindly kindly new solr for 2.0

change mm support solr 3 and 4 add *_date field

1354587729000000 1354587729000000
#2446 enhancement johnmartin aron.carroll demo phase 4 assigned Create demo dataset history/comparison page

This is a low priority for the demo site.

Discussion:

https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62414120/comments

Implementation:

http://s031.okserver.org:2375/dataset/history/adur_district_spending

1338210738000000 1352658819000000
#2451 enhancement johnmartin aron.carroll demo phase 5 assigned Create demo user list page

Discussion:

https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62268474/comments

Implementation:

http://s031.okserver.org:2375/user

1338211213000000 1352658902000000
#2457 enhancement johnmartin aron.carroll demo phase 4 assigned Create demo tags list page

This includes the tag page as well for now.

Discussion:

https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62998445/comments

Implementation:

http://s031.okserver.org:2375/en/tag

1338211735000000 1352658878000000
#2471 enhancement johnmartin ross closed invalid ckan.org bug

If you go to http://ckan.org/features/geospatial/ there is a problem with the pop up tag shown (and zoomed in) - missing status and description.

1338229749000000 1352206679000000
#2562 enhancement johnmartin aron.carroll demo phase 5 closed invalid Demo theme tag improvements

Tags should be implemented in two sections.

  • Custom predefined tags using vocabularies
  • Provide suggestions, auto completion then fallback to free text
1340035714000000 1352206599000000
#2599 enhancement johnmartin aron.carroll demo phase 4 closed fixed Test in IE

can we promote this to phase 3?

1340717662000000 1346756230000000
#2616 enhancement johnmartin aron.carroll demo phase 5 closed invalid Improve display of split stages in demo

Currently stages of the same colour blur together, these could do with a nice divider.

1340875108000000 1352206282000000
#2631 enhancement johnmartin aron.carroll demo phase 5 closed fixed Style activity stream in user profile 1341826342000000 1352205778000000
#2641 enhancement johnmartin amercader demo phase 5 assigned Adapt spatial widgets to new theme

Dataset extent map and spatial filter need to adapted to the new theme, as they are not showing up now

1341846147000000 1352658854000000
#2658 enhancement johnmartin aron.carroll demo phase 5 closed invalid On Demo change 'Groups' to 'Publishers' everywhere

Can we do this as a localisation?

1342008495000000 1352205894000000
#2676 enhancement johnmartin shevski demo phase 5 closed fixed no way to browse through related items on dataset page

Need to add JS (presumably?) to the related app box on dataset page: http://s031.okserver.org:2375/dataset/gold-prices to allow user to scroll through when multiple related items exist

1342435678000000 1352205920000000
#2697 enhancement johnmartin shevski demo phase 5 assigned create dataset validation

Includes: missing fields, existing field checks (i.e. whether a name/dataset already exists with that name) during input (i.e. no need to submit form to check)

1342620035000000 1346235925000000
#2704 enhancement johnmartin shevski demo phase 5 closed fixed add list of resources to edit dataset page sidebar

when editing a dataset (e.g. here: http://s031.okserver.org:2375/en/dataset/edit/afghanistan-election-data) add sidebar list of resources for user to click & browse through taking you to the relevant resource edit pages

1342620986000000 1352205939000000
#2705 enhancement johnmartin shevski demo phase 5 closed fixed add link to edit dataset page from edit review page

e.g. on http://s031.okserver.org:2375/en/dataset/afghanistan-election-data/resource_edit/f6331f99-51f6-44d9-95b9-b20f3b74f360

& ensure consistant with sidebar of edit dataset page

1342621122000000 1352205954000000
#2711 enhancement johnmartin toby demo phase 5 closed fixed bin/less dies for toby

it would be nice if this didn't fall over when the dir is removed maybe a linux only issue?

1342631508000000 1352205968000000
#2714 defect johnmartin shevski demo phase 5 closed fixed XLS preview not working

see http://demo.ckan.org/dataset/vif-2012-population-totals/resource/e7b8401a-c410-4902-9e5a-6dbd78834873

what XLS previews do we support?

1342706454000000 1352206138000000
#2741 enhancement johnmartin toby demo phase 4 closed fixed admin index styling

http://localhost:5000/ckan-admin

you need to be an admin

paster sysadmin add <username> -c dev.ini

we need to get links to other admin pages etc - I think this will want to be flexible so extensions can add extra links etc - but that can come later

1343124308000000 1352205988000000
#2742 enhancement johnmartin toby demo phase 5 closed fixed admin authz styling

http://localhost:5000/ckan-admin/authz

you need to be an admin

paster sysadmin add <username> -c dev.ini

like #2741 we need other admin links

you may want to make the inputs use your form macros - I've just done a basic port

also we will need to get all the tables done but looks like we need to get auth groups working for that

1343124423000000 1352206081000000
#2785 enhancement johnmartin aron.carroll demo phase 5 assigned Allow resources to be re-ordered

Not sure where this functionality should be added, possibly in one of the sidebar widgets when editing a resource?

Ira, what are your thoughts?

1343816523000000 1346235916000000
#2806 enhancement johnmartin shevski demo phase 4 closed fixed way to read full group description

e.g. currently no way to read full description for the 'data explorer examples' group here:http://s031.okserver.org:2375/group/data-explorer

Can we add a 'read more' link that expands and contracts the sidebar box or similar?

1344254292000000 1352206005000000
#2903 enhancement johnmartin johnmartin demo phase 5 closed wontfix Two search boxes

I think the architecture on the search page is a bit odd. Not sure I like that there is a doubling up of the search box (e.g. one in the header and one in the body of the search results page)

Needs some thought

1346853712000000 1352206813000000
#2907 enhancement johnmartin johnmartin demo phase 5 closed fixed Demo header

The user login / avatar with in the header really should be within another topbar, as it goes against convention to have the user information within the normal header.

1346930925000000 1352206307000000
#2916 enhancement johnmartin ross ckan 2.0 closed fixed User management in orgs needs autocomplete

The user management in organizations ( http://localhost:5000/organization/users/NAME ) should autocomplete names in the dropdown box so that only valid usernames are added to the table.

1347451792000000 1347970727000000
#2917 enhancement johnmartin ross ckan 2.0 new Organization admins can delete themselves

Organization administrators can delete themselves from the user management pages. We should disable this on the front-end as well as the back-end.

1347451843000000 1347455636000000
#2918 enhancement johnmartin ross ckan 2.0 closed fixed Can't remove users from organizations

When you remove someone, without adding them, the text box at the bottom (which should probably autocomplete) is empty, and this causes problems on the server.

Ideally when you add a user (select from the autocomplete) it would add another row to the table, defaulting the user to editor and setting the names to user{{X}}name and user{{X}}capacity where X is $('tr').size()

1347455572000000 1347970735000000
#2940 enhancement johnmartin johnmartin ckan 2.0 closed fixed Edit different resources from edit dataset pag

We need a nice way to be able to get to editing the different resources that are associated to a dataset.

1348580812000000 1350560926000000
#2941 enhancement johnmartin johnmartin ckan 2.0 closed fixed Add follower support back into CKAN 2.0

Add the views and functionality of following users and groups into 2.0

1348584670000000 1350560915000000
#2954 enhancement johnmartin johnmartin ckan 2.0 closed fixed Flickering on resource view when changing between views

From the google doc: When I move between grid, graph and map view mode (or click on filters) the whole data explorer flickers (jumps up & down slightly) for a few moments before settling. This is happening on all resources for me and when you initially open launch the page: http://demo.ckan.org/dataset/afghanistan-election-data/resource/f6331f99-51f6-44d9-95b9-b20f3b74f360. Only in Chrome, working fine in Firefox.

1349268916000000 1350578030000000
#3015 enhancement johnmartin johnmartin ckan 2.0 closed invalid Dropdowns don't work without JavaScript

Essentially the default bootstrap dropdowns don't work properly without JavaScript? which is a little bit of an issue with JS not working.

1352805553000000 1353410072000000
#3016 enhancement johnmartin johnmartin ckan 2.0 new CKAN 2.0 template tweaks

Just a ticket to keep track of a few suggested template changes.

1352813417000000 1352813417000000
#3018 enhancement johnmartin johnmartin ckan 2.0 new Load more in activity streams

Activity streams should be able to load more than 15 items within them. Suggest the default amount of loading is around 30 and then click to load more.

1352900051000000 1355140950000000
#3021 enhancement johnmartin johnmartin accepted Logout doesn't work without JS

Essentially, the functionality should be as follows:

  • Add logout link that has .js-hide attached to it within the header that isn't hidden within a dropdown

See http://plus.google.com/ (when logged in) with and without JS to see an example of the actual sign-out working without JS

1353410350000000 1353411968000000
#833 enhancement johnlawrenceaspden rgrp ckan-v1.4-sprint-6 closed fixed [super] Administrative dashboard extension

Create an admin dashboard as /ckan-admin/ allowing for admin operations and overview.

Possible features:

  • Purge revisions (or sets of revisions) and purge objects #1076
  • Set roles for users #1075
  • Put system into particular modes e.g. wiki mode (anyone can add, edit packages by default), data portal (only sysadmins or members of a special Editor group can create and edit packages)
    • WONTFIX
  • Overview of activity
    • WONTFIX - already have revision log

Currently have an admin section using the formalchemy admin controller to provide basic editing of model objects. This can still be used but located at /admin/model/.

https://bitbucket.org/okfn/ckanext-admin

Tickets

Notes

Here's putting into restricted mode (plus creating a dedicated authz group so that others can admin sysadmin simply through that group):

# first remove permissions from roles
# this is hacky but have to do it because we hardcode assignment of 
# role permissions on package on package create (see model/authz.py)
paster roles deny editor edit
paster roles deny editor create-authorization-group
paster roles deny editor create-group
paster roles deny editor create-package
paster roles deny reader create-package
# make superuser group
# create authz group administrators / Administrators (if not exists)
paster rights make agroup:administrators admin system
1290765921000000 1303236364000000
#854 defect johnlawrenceaspden dread ckan-v1.4-sprint-6 closed fixed Tests for authorization_group

The coverage tool (run by buildbot in the ckan build) reports that only 24% of lines of ckan.controllers.authorization_group are run in tests and 38% of ckan.forms.authorization_group. This suggests a need for more tests.

1291723815000000 1304351843000000
#1031 enhancement johnlawrenceaspden rgrp ckan-v1.4-sprint-4 closed fixed User lookup API

Add an api for searching users. This is needed for any kind of ajax autocomplete (needed for anywhere we want to add users).

  • API location: /api/util/user/lookup?q=querystr&limit=10
  • Return json objects containing {id: ..., name: ..., fullname: ...}
  • Put in a module called controllers/apiv2/user.py
1299780419000000 1300101520000000
#1036 defect johnlawrenceaspden johnlawrenceaspden ckan-v1.4-sprint-4 closed fixed Add tests for three functions in ckan/model/user.py

create a new test file ckan/model/test_user.py

add tests for the following three functions in ckan/model/user.py

number_of_edits, number_administered_packages, search

merged in in changeset 0046f83aedcf

1300127840000000 1301304575000000
#1075 enhancement johnlawrenceaspden rgrp ckan-v1.4-sprint-6 closed fixed Administrative dashboard - Edit Authorization related to System object

Roles on System object are important because admin role on system equates to being a 'sysadmin' (i.e. able to do anything).

  • Make users sysadmin (either as separate action or as part of editing roles on system object)
  • /authz subpage for editing roles on system object
    • Add and update user roles
    • Add and update authz group roles
    • List actions associated to roles at top of page (extra points for checkbox table with editability)
  • Document on http://wiki.ckan.net/Authorization what roles on System object 'mean' esp sysadmin role on System

Related Tickets

  • super ticket: #833
  • authz lib improvement and authztool refactor #1050
1302279799000000 1303227982000000
#1076 enhancement johnlawrenceaspden rgrp ckan-v1.4 closed fixed Improve revision and package purge system

Purging Revisions

  • Delete button displayed on:
    • /revision/list
    • (/package/history)
      • /package/history is problematic because html does not allow nested forms and we already have form for doing diff/comparison.
    • /revision/{id}
  • Delete button submits to delete action on revision and changes revision state to 'deleted'.
    • undelete button now displayed and revisions are marked as deleted in some way (e.g. greyed out?)
  • Sysadmins then visit /ckan-admin/trash which lists all revisions with deleted state. There is a large button: "Empty trash" (irreversible). Click button purges all revisions with deleted state.

Purging Packages

  • Put into deleted state.
  • Listed on /ckan-admin/trash
  • Separate Empty trash button which deletes all associated revisions.
    • Should be separate from Empty trash for revisions

Current system

  • Single purge link on revision listing if a sysadmin which permanently purges the revision and all associated changes (without confirmation atm!)
1302283442000000 1303236302000000
#1081 defect johnlawrenceaspden johnlawrenceaspden closed fixed can't remove user from authz group

I've found that if I make an authorization group I sometimes can't remove myself from it. I've no idea why. I can add and remove other users. I'll investigate, just making a note of it here.

1302541056000000 1303489474000000
#1083 defect johnlawrenceaspden johnlawrenceaspden ckan-v1.5-sprint-1 closed fixed userobjectroles added twice can't be deleted

the add_user_to_role/remove_user_from_role functions are asymmetrical in that the add function is happy to add the same role twice but the remove asserts that it's only in the table once and crashes if that's not true.

an attempt has been made to guard against this, but fails, I think because the add functions rely on the caller committing the change to the db.

same problem affects corresponding authorization_group functions

I'll try to sort this out. Making a note here.

1302550660000000 1305537827000000
#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
#318 defect johnglover wwaites ckan-sprint-2011-10-28 closed fixed Insufficient validation of resource URIs

The CKAN instance on data.gov.uk serves invalid URIs out of its API.

For example the following can be found,

http://uk.sitestat.com/homeoffice/rds/s?rds.hosb0509tabsxls&ns_type=pdf&ns_url=[http://www.homeoffice.gov.uk/rds/pdfs09/hosb0509tabs.xls]

In this URI, the : and / characters after the ? in the query part are invalid according to section 3.4 of RFC2396

Also URIs are not stripped of whitespace at the end.

This causes problems when other software with a more correct interpretation of what a valid URI is attempts to consume data from CKAN. In this instance the Talis triplestore complains about such URIs.

"Be liberal in what you accept and conservative in what you send" would seem apt.

Actions

  • Validation of urls as part of form entry or data loading
    • Need to consider situation where this should happen out-of-band (i.e. we allow load even with invalid data and then flag bad dates in separate validation process). In general doubtful that we should do this here because url invalidity is such a big deal
  • This code should support analysis of existing data so we can go through existing database and find invalid urls
    • Also useful to have this so we can do out of band validation
1274302723000000 1349778662000000
#816 enhancement johnglover cygri ckan-sprint-2011-10-28 closed fixed Autocomplete for the resource format field

The field for entering the format of a resource should have autocomplete, populated from all the values that have already been entered in this field for any resource.

This would help improve data quality and consistency.

1289996574000000 1319812324000000
#842 enhancement johnglover rgrp ckan-v1.4-sprint-7 closed fixed Todo list CKAN extension

An extension that provides a todo list feature on CKAN so that people can register and find things to do.

Extension name: ckanext-todo

User Story

Package page

As a user I come to a package:

  • Have a todo count at that top that takes you down to the todo list (which may say nothing todo)
  • At the bottom is a section of the package display titled "ToDo?" where I see a list of all toDos for the package most recent at the top
    • If I am logged in
      • See a form for "Add to do" at the top of the todo section and can add one straight away
      • I see a "now resolved" button next to each which goes green when you hover.

When clicked the todo fades away.

  • Not logged in: I see a button that says "login to add todo"

Todo list page

When a user comes to todo overview at /todo

At top list all todo categories with counts (or a progress bar). Click on category name or bar takes you down page to list for that category.

Category list has a list of todo items (ul with li items with class todo) - link to package relevant to the todo.

Implementation

The Todo form

  • One of the fields is category -> autocomplete the category (not constrained) (lowercase, no spaces, .-_ allowed)
  • Add a description
  • Submit, the todo gets added via AJAX to the list at the top as the most recent todo

Model:

todo table

  id (autoincrement integer)
  package_id
  todo_category_id (required)
  description (required)
  created=NOW()
  resolved=null (unresolved) or a datetime (datetime of resolution)
  creator=user
  resolver=user

todo_category table
  id
  name

Prepopulate with: broken-resource-link, no-author, bad-format, add-description

API at /api/2/todo

  • GET / POST / PUT ...

/api/2/todo?package=package_id_or_name&category=...&resolved=0/1

  • support limit (?)

/api/2/todo/category -> return list of todo categories

  • No GET / PUT / POST (these are auto-created by creation of todo)

Optional Extras (Will not be done atm)

  • Integrate todo tags (e.g. list packages tagged with a todo.{xxx} on Todo List page ...
1291467708000000 1305646487000000
#888 enhancement johnglover rgrp ckan-sprint-2011-10-28 closed fixed Improvements to the dataproxy and the data API

First version of dataproxy and data API working (ticket:698) but have identified a variety of important improvements. (Should split these into sub-tickets ...):

For dataproxy:

  • Testing for dataproxy
    • Can start by using known good remote urls (moving forward could switch to providing/mocking these locally)
  • Remove content-lenght for csv requirement: just read the first x rows (up to some configurable maximum)
  • Google docs style row/column selections
  • Use the swiss library - https://bitbucket.org/okfn/swiss
    • Support google docs spreadsheets (format = service/gdocs/ccc or gdocs/ccc or gdocs/spreadsheet)
  • Handle redirects for content-length?
  • Ignore resource type if not recognized and fall-back to trying to identify from extension (or mime-type?)

For dataapi:

  • Ensure we pass on resource format as part of redirect i.e. /api/data/{id} -> {dataproxy}?url={resource-url}&type={resource-type}
1293649783000000 1311773103000000
#891 task johnglover pudo ckan-sprint-2011-11-07 closed fixed Resource download worker daemon

Superticket: #1397

Write a worker daemon to download all resources from a CKAN instance to a local repository.

Questions

  • Do we only want to download openly licensed information? ANS: no, we do everything (though do need to think about this re. IP issues)
  • Should we have clever ways to dump APIs? ANS: no.
  • Do we respect robots.txt even for openly licensed information? ANS: No (we're not crawling we're archiving)
  • Use HTTP/1.1 Caching headers? ANS: if not changed since we last updated don't bother to recache.
    • Complete support for ETags
    • Expires, Max-Age etc.
  • Check

Functionality

  • Download files via HTTP, HTTPS (will not do FTP)

Process:

  1. [Archiver.Update checks queue (automated as part of celery)]
  2. Open url and get any info from resource on cache / content-length etc
    1. If FAILURE status: update task_status table (could retry if not more than 3 failures so far). Report task failure in celery
    2. Check headers for content-length and content-type ...
      • IF: content-length > max_content_length: EXIT (store outcomes on task_status, and update resource with size and content-type and any other info we get?)
      • ELSE: check content-type.
        • IF: NOT data stuff (e.g. text/html) then EXIT. (store outcomes and info on resource)
        • ELSE: archive it (compute md5 hash etc)
      • IF: get content-length and content-length unchanged GOTO step 4
  3. Archive it: connect to storage system and store it. Bucket: from config, Key: /archive/{timestamp}/{resourceid}/filename.ext
    • Add cache url to resource and updated date
    • Add other relevant info to resource such as md5, content-type etc
  4. Update task_status

Optional functionality

  • If result object is HTML, search for references to "proper data" (CSV download pages etc.)
  • Download from POST forms (accepting licenses or weird proprietary systems)
  • Support running on Google Apps Engine to save traffic costs.

Existing work

1294052979000000 1320149841000000
#892 enhancement johnglover pudo ckan-sprint-2012-01-09 closed fixed Make stored data available in WUI - 0.5d

Once we have storage, make the data available in the following ways:

  • Now have a cached_url field can show in the frontend ...
  • Add a [<a href="${cached_url}">cached</a>] link to right of real url on resource listing on dataset page.
  • On resource page: will not add it yet.
    • At the moment no clear place to pu this given nice big download button (could put in list of items on left but that does not seem right and note that it will turn up in big list of info at bottom)
  • Add test (?)
  • Deploy
1294053293000000 1324402480000000
#936 enhancement johnglover rgrp ckan-v1.4-sprint-6 closed fixed Follow / watch package extension

As a (logged-in) User I want to watch (follow) a package, that is register my interest about a package. (Similar to watch/follow features in github/bitbucket/wikis).

NB: this is as much (if not more) about showing what packages are interesting to people as giving info to 'watchers'.

Need to finalize terminology (github uses watch for repos and follow for users while bitbucket combines both in 'followers'). Decision: use follow

Implementation

Interface

Become a follower:

  • Follow button on packages (if already watching say 'unfollow')

Package-related changes:

  • Show number of followers on a package
  • List followers of a package at /package/{name}/followers
    • On a separate page

a package User-related changes:

  • List followed packages
    • Either on user's page on a separate 'following' page. (NB: called 'following')
  • Does watching involve notifications (by email)
    • Probably not: you can already subscribe to RSS feed after all and email not that necessary (?)
  • [Future - don't have activity stream yet] Show what packages a user has started/stopped followed on a user's public activity stream on their user page

Nitty-Gritty

  • Want to do this in ajax-y manner
  • API endpoint: /api/2/follower
  • Store data in a new follower table

API

/api/2/follower

follow => PUT / POST
{
   user_id
   object_type
   object_id
}

If this is submitted by a user with user.id != user_id => error (401)

unfollow => DELETE

/api/2/follower/package/{id}
=> list of followers
[
    { safe dictized user }
]

NB: depends on access to a 'safe' dictized user object. Dictization is in nearly done, and current example of doing this by hand is in user API autocomplete method.

Table

Called 'follower'

user_id, table, object_id, created
xxx, package, yyy, ...
xxx, user, yyy, ... [future]

Random Extras

  • What about following users as well
1296339079000000 1303838713000000
#1062 defect johnglover sebbacon ckan-backlog assigned Data preview encoding error

The preview of "Species Misc Turtle Download" at http://ckan.net/package/taxonconcept results in the following error:

Unable to Preview - Had an error from dataproxy: Data Transformation Error (Data transformation failed. Reason: 'utf8' codec can't decode byte 0x8b in position 1: unexpected code byte

1301396143000000 1311773731000000
#1150 defect johnglover timmcnamara ckan-sprint-2011-10-28 closed fixed Non-ASCII chars prevent data preview

Characters outside of ASCII range are not supported within data previews.

Steps to reproduce:

  1. Visit http://ckan.net/package/kivele2010
  2. Click on [preview] for any of the resources
1306019914000000 1311774141000000
#1154 enhancement johnglover nils.toedtmann ckan-sprint-2011-10-28 closed fixed Make ckan robust against solr failure

According to pudo, a ckan with activated solr extension throws a 5xx when solr is unreachable. Instead, it should behave more like a ckan without ckanext-solr when this happens.

1306254472000000 1314287519000000
#1183 defect johnglover nickstenning ckan-sprint-2011-10-28 closed fixed Downloads "Preview" button doesn't preview.

The "Preview" button is a nice idea, but it doesn't seem to actually "preview" anything if the file MIME type would ordinarily cause the browser to download the file. If so, the browser does indeed just download the file.

This is notable in the context of most hosted file services (including Google Storage) which will deliberately serve a MIME type of application/x-some-junk-here in order to force a download.

1307701669000000 1311771069000000
#1203 defect johnglover rolf ckan-backlog new Moderated edits: html code shows as "changed" although it is not

I've installed the Moderated Edits extension (ckanext-moderatededits) and am editing a package imported from IATIregistry.org, with an extra field which contains a bit of HTML.

The editor indicates the field has changed, although the content hasn't (see screenshot). All I can find so far is a minor difference: in the field content, there is a code &#8212 and in the rendered table that is an &mdash;

1309274970000000 1313401579000000
#1259 enhancement johnglover pudo ckan-backlog new "Add a row" for Extras on Package form

The default package form offers 4 empty extras fields. Like the resource section, it should have an "add more" button to add another row.

1312302693000000 1312907056000000
#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
#1274 enhancement johnglover johnglover ckan-sprint-2011-10-28 closed fixed Testing solr search

Copy ckan core postgres package search tests to the ckanext-solr extension and update them so that they use the solr search backend.

1313413202000000 1313429049000000
#1275 enhancement johnglover johnglover ckan-sprint-2011-09-26 closed fixed Move solr search extension to ckan core 1313413597000000 1319812967000000
#1276 enhancement johnglover johnglover ckan-sprint-2011-09-12 closed fixed Apply weighting to search fields in solr

For example:

  • name and title should have a higher weight than the notes field
1313414353000000 1315948394000000
#1277 enhancement johnglover johnglover ckan-sprint-2011-09-12 closed fixed Use solr query parser for search instead of ckan query parser

See http://ckan.okfnpad.org/search for details/discussion

1313414446000000 1315948417000000
#1302 refactor johnglover johnglover ckan-sprint-2011-09-26 closed fixed Move Resource and Tag search code to logic layer

Resource and Tag search is currently still using the old ckan query parser which is unnecessary. Refactor this out and move to the logic layer.

1314886102000000 1317131948000000
#1336 defect johnglover dread ckan-backlog new License fudge

cset:4b59ab34137d ckan/logic/action/get.py:

-            isopen = model.Package.get_license_register()[license_id].isopen()
-            result_dict['isopen'] = isopen
+            try:
+                isopen = model.Package.get_license_register()[license_id].isopen()
+                result_dict['isopen'] = isopen
+            except KeyError:
+                # TODO: create a log message this error?
+                result_dict['isopen'] = False 

This change hides problems with the license server and returns potentially incorrect values for openness.

This has been noted as 'temporary fix' but seems to be forgotten about, since it has been merged to default and gone into release 1.4.3.

I suggest the licenses are cached (I thought this was already the case when CKAN first requests them after start-up?). I suggest failure would return 503.

1315912057000000 1323173073000000
#1342 defect johnglover amercader ckan-sprint-2011-10-10 closed fixed Home controller does not capture SearchError exceptions

If there is a problem with the SOLR connection,the home page just shows a 500 Server error, instead of a notice (the package controller shows a notice when visiting http://localhost:5000/dataset).

Steps to reproduce:

1316001227000000 1318256532000000
#1362 defect johnglover johnglover ckan-sprint-2011-10-10 closed fixed Clearing the database should also clear the search index

When paster db clean is run, the search index should also be cleared.

1317121861000000 1318256546000000
#1363 enhancement johnglover kindly ckan-sprint-2011-10-10 closed fixed Add task_status table to store qa/archiever/webstore information that does not need to be versioned.
table: task_status

id
entity_id
entity_type
task_type
key
value
last_updated
state

unique(entity_id, task_type, key)

example keys:
last_task_id
1317219617000000 1318256600000000
#1371 enhancement johnglover johnglover ckan-sprint-2011-10-10 closed fixed Make logic layer functions for working with task_status table

The background tasks will use the logic API to access the task_status table so new logic layer functions are needed.

1317808776000000 1324037905000000
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Note: See TracReports for help on using and creating reports.