{22} Trac tickets (2647 matches)
Results (2001 - 2100 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2956 | enhancement | shevski | johnmartin | ckan 2.0 | assigned | Allow for resource editing in CKAN 2.0 |
On the edit dataset page... there needs to be a way for users to be able to see all the resources associated to the dataset and edit them individually. |
1349277100000000 | 1349346442000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2961 | enhancement | dominik | dominik | ckan 2.0 | assigned | Preview plugin endpoint |
Users could write ckan extensions that offer previews for a certain datatype. Advantages:
Questions to answer:
As far as I can see, this should be fairly easy to implement by following these instructions: http://docs.ckan.org/en/latest/writing-extensions.html#writing-a-plugin-interface |
1349696367000000 | 1350577990000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2962 | enhancement | dominik | ckan-backlog | new | Search across multiple ckan instances |
Could be done by:
|
1349736622000000 | 1349736622000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2966 | enhancement | seanh | ckan 2.0 | new | 'Add' button text is wrong when editing organization members |
e.g. if I just changed a member's capacity I am not adding anything 'save' is better maybe |
1350296149000000 | 1350296149000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2971 | enhancement | seanh | ckan 2.0 | new | "Are ytou sure you want to delete this member?" should say which member |
when deleting members from groups and orgs |
1350296840000000 | 1350296840000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2972 | enhancement | seanh | ckan 2.0 | new | Remove any imports of authz.py and delete file |
it is no longer used |
1350297442000000 | 1350297442000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2973 | enhancement | seanh | ckan 2.0 | new | Move new_authz.py into logic/auth/__init__.py |
Makes sense to keep all auth stuff under logic/auth. Also decide which functions from new_authz.pu should be marked private with _. Also decide which functions from new_authz.py are really helpers for the auth functions in get.py, update.py and delete.py, and should maybe moved to another file, e.g. logic/auth/helpers.py |
1350297545000000 | 1350297545000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2974 | enhancement | seanh | ckan 2.0 | new | General of all auth functions |
From Toby: A general cleanup of all auth functions (in logic/auth) to check their fitness, error messages, etc. |
1350297612000000 | 1350297612000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2975 | enhancement | seanh | ckan 2.0 | new | Tests for auth functions and new actions |
From Toby: tests around the auth functions and new actions - probably needs an improved testing mechanism and things like test data creation on via actions |
1350297660000000 | 1350297660000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2976 | enhancement | seanh | ckan 2.0 | new | Polish group and organization member pages |
From Toby: A little polish to the member pages and probably a little hardening of the controller and logic actions |
1350297709000000 | 1350297709000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2977 | enhancement | seanh | ckan 2.0 | new | Fix user autocomplete on group and organization member pages |
From Toby: @johnmartin the user autocomplete on member add needs fixing it gets data but does not understand what to do with it |
1350297749000000 | 1350297749000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2978 | enhancement | seanh | ckan 2.0 | new | Tests for permissions for organizations and groups |
From Toby: checking the logic around the who can do what from the user stories - via some tests may be a good approach |
1350297806000000 | 1350297806000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2979 | enhancement | seanh | ckan 2.0 | new | Requesting membership to groups and organizations |
From Toby: The requesting membership user stories and implementation remain needed |
1350297844000000 | 1350297844000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2980 | enhancement | seanh | ckan 2.0 | closed | wontfix | Add new groups and organizations functionality into legacy templates |
From Toby: add the functionality to legacy templates |
1350297883000000 | 1350560252000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2988 | enhancement | seanh | ckan 2.0 | new | UI functional tests for CKAN 2.0 |
Afaik the new CKAN 2.0 frontend has no functional tests |
1350298935000000 | 1350298935000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2989 | enhancement | seanh | ckan 2.0 | new | "Add dataset to organization" should auto-select the organization |
'Add dataset to organization' button, when you get through to the third stage of the new dataset form the organization you came from is not selected. I don't see any option to choose the group when adding or updating a dataset, but if I add a dataset via the "Add dataset to group" button on a group's page, then the dataset seems to get added to that group. (And I can also add/remove existing datasets by editing the group.) I wonder if organizations should work the same way, instead of having an Organization drop-down when creating or updating a dataset. The add dataset page needs to somehow indicate that you're adding a dataset to a certain group or organization though, doesn't currently. |
1350299052000000 | 1350299052000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2990 | enhancement | seanh | ckan 2.0 | new | Fix descriptions of groups and organizations on /groups and /organizations pages | 1350299091000000 | 1350299091000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2991 | enhancement | seanh | ckan 2.0 | new | Add blocks to header.html template |
Currently if you want to customise the header.html template you have to copy the whole thing, it isn't broken up into blocks like other templates are. |
1350385820000000 | 1350385820000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2992 | enhancement | johnmartin | new | Delete resource should send me back to edit dataset page | 1350407956000000 | 1350407956000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2994 | enhancement | seanh | ckan 2.0 | new | Add dataset and user popovers throughout the site |
If you hover the mouse over a dataset or user in an activity stream, you now get a popover with some info about that dataset or user and a follow/unfollow button. These popovers should appear wherever datasets or users are listed, throughout the site. |
1350483964000000 | 1350483964000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2995 | enhancement | seanh | ckan 2.0 | new | Popovers for resources, groups, organizations, tags... |
If you hover the mouse over a dataset or user in an activity stream, you now get a popover with some info about that dataset or user and a follow/unfollow button. It would be nice to add similar popovers for other types of object in CKAN, e.g. resources, groups, organizations, tags... |
1350484041000000 | 1350484041000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2996 | enhancement | seanh | ckan 2.0 | new | Fix behaviour of View Profile button in user popover when already on user's profile |
The user popovers that appear when you hover the mouse over a user in an activity stream include a View Profile button that takes you to that user's profile page. If you are already on that user's profile page then it simply reloads the same page, but it sends you to the Datasets tab if you were on another tab. Possible solutions: Don't show button if already on user's page? Button just makes popover disappear, if already on user's page? Button does reload the page, but reloads the same tab (datasets, followers, activity stream) that you were on. Marking this low priority |
1350484238000000 | 1350484238000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2997 | enhancement | seanh | ckan 2.0 | new | Add activity streams to dataset pages |
Add an activity stream tab to dataset pages, like we have on user profile pages. Dataset activity streams are already implemented in the backend. |
1350484306000000 | 1350484306000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2998 | enhancement | seanh | ckan 2.0 | new | Add activity streams to group pages |
Before we do this we should implement smarter group activity streams (i.e. what activities should appear in a group's activity stream?) and following of groups. |
1350484394000000 | 1350484394000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2999 | enhancement | seanh | ckan 2.0 | new | Add activity streams to organization pages |
Before we do this we need to merge the organizations branch into master, we need to implement smarter activity streams for organizations, and we need to implement following of organizations. |
1350484457000000 | 1350484457000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3000 | enhancement | seanh | ckan 2.0 | new | Add number of followers to dataset pages |
User profile pages now show some interesting stats about the user: num. datasets, num. edits and num. followers. Would be nice to add some similar info to dataset pages. At least num. followers can be done (already implemented in backend). |
1350484560000000 | 1350484560000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3003 | enhancement | amercader | ckan-v1.8 | new | New pg databases should be created with UTF8 encoding rather than system default |
Just to track @tauberer patch on Github. Probably going to 1.8.1 |
1350639199000000 | 1350639199000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3005 | enhancement | seanh | seanh | ckan 2.0 | new | Add following/unfollowing of groups: model, API, frontend, tests | 1351013744000000 | 1351013744000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3006 | enhancement | seanh | ckan-v1.8.1 | new | Update translations from Transifex |
There are some new translations already on the CKAN 1.8 resource on Transifex already (e.g. 100% Norwegian translation I think). We should at least pull these from Transifex for 1.8.1, and may as well do a call for translations too. |
1351506144000000 | 1351506144000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3007 | enhancement | seanh | ckan 2.0 | new | Adding a dataset creates multiple activities |
Adding a new dataset creates multiple activity stream activities, e.g. seanh created the dataset foo, seanh add the resource bar to the dataset foo, and seanh updated the dataset foo are all created when I add a new dataset. I wonder if these can be collapsed into a single activity. |
1351516507000000 | 1351517019000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3008 | enhancement | seanh | ckan 2.0 | closed | fixed | Add tests for dashboard activity stream auth |
We need to test that only logged in users can see their own dashboard activity streams, and they can only see their own dashboard activity streams not those of other users. |
1351600860000000 | 1355141103000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3009 | enhancement | seanh | seanh | ckan 2.0 | closed | fixed | On-site notification of new dashboard activity |
We want a "bubble" with a number in it to appear in the top-right of the site next to your user name when you're logged in, telling you how many new activity stream items you have in your dashboard activity stream. There's a github issue for this here: |
1351615762000000 | 1353949938000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3010 | enhancement | seanh | ckan 2.0 | new | Pin images don't appear in data explorer |
When minified files are in use (set debug = false in ini file) the pin images for points don't show up in the data explorer map view when viewing a resource with geolocation data. set debug = true will fix the problem by using unminified files instead but also turns on a bunch of debug stuff you wouldn't want on a production site. middleware.py, around line 73, is where the decision to turn minified files on or off based on the debug setting is made. This can be hacked on a production site to run with unminified files but otherwise run on production mode thereby getting around the issue with the pins. But that doesn't fix the underlying bug. |
1351705506000000 | 1351705506000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3011 | enhancement | johnglover | johnglover | ckan 2.0 | new | Recline fixes and updates for CKAN 2.0 |
Fixes and updates to Recline / Datapreview for CKAN 2.0. |
1352288455000000 | 1352288455000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3012 | enhancement | toby | toby | new | data.gov auth | 1352393409000000 | 1352393409000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3017 | enhancement | johnglover | johnglover | ckan 2.0 | new | New stable branch for the demo server | 1352819088000000 | 1352819088000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3020 | enhancement | seanh | new | Update CKAN coding standards | 1353096711000000 | 1353096711000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3021 | enhancement | johnmartin | johnmartin | accepted | Logout doesn't work without JS |
Essentially, the functionality should be as follows:
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3023 | enhancement | amercader | amercader | new | New methods on IPackageController to provide access to the data_dict |
Extension hooking into the edit and create methods of the IPackageController interface receive the package object. This may not include all the fields that came from the form. The new extension points will pass the validated data_dict so extensions can have access to it |
1353603657000000 | 1353603657000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3024 | enhancement | seanh | closed | fixed | Add activity stream tab to dataset read page | 1353949986000000 | 1355141087000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3025 | enhancement | amercader | amercader | new | Add requests to core requirements |
Because yes please |
1354052124000000 | 1354052124000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3026 | enhancement | amercader | amercader | new | Support icons on nav_named_link |
nav_named_link won't include the nice icon even when passing the icon keyword param. |
1354301516000000 | 1354301516000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3027 | enhancement | kindly | kindly | new | solr for 2.0 |
change mm support solr 3 and 4 add *_date field |
1354587729000000 | 1354587729000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3028 | enhancement | seanh | seanh | ckan 2.0 | new | Feature: dashboard activity stream filtering | 1355141244000000 | 1355141244000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3030 | enhancement | toby | new | clean up helper functions | 1355834038000000 | 1355834038000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#34 | defect | somebody | zool | closed | worksforme | Page Not Found - returns with 200 rather than 404 as it should | 1163008961000000 | 1253781550000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#35 | defect | rgrp | rgrp | v0.4 | closed | fixed | IP Address for non-logged in users is always 127.0.0.1 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 127.0.0.1 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#142 | defect | pudo | dread | closed | fixed | Update User object with additional fields such as 'nickname' |
Suggested fields:
just go in extras - may be better to have its own field as useful to search on this ) Related changes (probably separate tickets):
Related to ticket:136 and ticket:138. |
1255010314000000 | 1289219098000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#146 | defect | pudo | rgrp | closed | worksforme | Problem when an admin user logs in between commencing editing and saving |
Reason (conjecture): the form we use for package editing is now dependent on whether you have admin privileges (we allow editing of state by admins). When you login the old form is now incorrect and this results in the formalchemy fieldset breaking. |
1255013773000000 | 1291829862000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#159 | defect | dread | rgrp | v0.11 | closed | fixed | Searching for tags:... resulting in lots of tags being found |
Search of form: tags: ... behaves differently depending on whether there is a leading space:
Let's fix this. Cost: 0.5h |
1256030097000000 | 1256060264000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#161 | defect | dread | rgrp | v0.11 | closed | fixed | Tag listing is incorrect |
E.g. http://ckan.net/tag/read/postcodes this has no-postcode listed but when you look at that package 'postcodes' isn't a tag ... I suspect this may be to do with search using deleted tags as I think no-postcode had postcodes as a tag at some point earlier ... |
1256030925000000 | 1258573607000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#167 | defect | dread | dread | v0.11 | closed | fixed | REST interface you can't update multiple tags |
Only first tag is updated. |
1256209993000000 | 1265891178000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#179 | defect | dread | rgrp | v1.0 | closed | fixed | Restore 404 and 500 messages in WUI |
Cost: 0.5h (?) Conjecture this went missing in cset:a35db862a841 |
1257412668000000 | 1265305549000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#190 | defect | pudo | dread | closed | fixed | Package comments |
Cost 7 days When viewing a package, users can read user comments and leave their own. Users need to be logged in to leave a message. Comments appear immediately. A mechanism for deleting unwanted comments is provided to an authorized user. Comments are sorted with the most recent first. Comments are available for read, creation and deletion in both the Web UI and over the REST API. The admin for the package and a superuser can delete unwanted comments, both on the package page and a collation of all comments on their user page. Users can delete their own comments(?) Need to consider whether over the REST API we encourage the use of a 'frontend user' APIKEY which can be used to leave comments for another, actual user. Example at bottom of package page: Leave a comment:
Comments:
Implementation details:Comments table is with columns:
|
1258387105000000 | 1280820852000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#194 | defect | rgrp | dread | v0.11 | closed | fixed | Check star ratings aren't influenced by search engine crawlers |
rel=nofollow or robots.txt ? |
1258471512000000 | 1265284389000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#196 | defect | dread | dread | v1.0 | closed | fixed | RDF URI to resolve on CKAN |
Provide RDF version of a package at the RDF URI: http://ckan.net/package/rdf/32000-naples-florida-businesses-kml See email on OKFN help: For the information to be Linked Data, the following URI (from the api.talis.com SPARQL call) should be resolvable to RDF, or an RDFa enhanced HTML page. |
1258727988000000 | 1265389771000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#199 | defect | rgrp | casbon | closed | fixed | Fix failing tests and provide documentation on how to run tests in datapkg |
As of 80:099bdc5b07a6 datapkg has 4 test fails and 1 test error. There is no documentation on how to run them, so I am using 'python setup.py test'. datapkg.tests.test_cli.TestCLI.test_ckan ... FAIL datapkg.tests.test_cli.TestCLI.test_walkthrough ... FAIL datapkg.tests.test_index.TestDbIndex.test_get ... /Users/james/Documents/virtualenvs/okfn/src/datapkg/datapkg/index.py:97: SADeprecationWarning: Use session.add() self.session.update(pkg) FAIL datapkg.tests.test_index.TestDbIndex.test_get_when_loaded_as_new_and_init_not_called ... /Users/james/Documents/virtualenvs/okfn/src/datapkg/datapkg/tests/test_index.py:57: SADeprecationWarning: Use session.expunge_all() self.index.session.clear() FAIL |
1259087361000000 | 1267649255000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#200 | defect | rgrp | rgrp | closed | invalid | PythonDistribution write method should write all available metadata |
Current write method just creates a bare bones package and does not write any of the available metadata other than name. |
1259229583000000 | 1311176118000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#222 | defect | nickstenning | dread | closed | fixed | UI Review - Package history |
Package history page package/history/mypackagename
|
1260880198000000 | 1282909280000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#231 | defect | pudo | rgrp | ckan-v1.3 | closed | fixed | Make group versioned |
Make group object revisioned/versioned.
|
1262853923000000 | 1288516929000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#240 | defect | johnbywater | rgrp | v1.0 | closed | fixed | Do not allow creation of PackageResource object without a url |
Currently it is possible (v0.11) to have a PackageResource? object without a url. This should be impossible to do (either at creation time or via modification). |
1265399747000000 | 1272383770000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#241 | defect | rgrp | dread | v1.0 | closed | fixed | License doesn't preview correctly |
4 failing tests, including 2 in misc/package_saver and 2 in functional/test_package. |
1265625546000000 | 1270569769000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#242 | defect | pudo | rgrp | v1.1 | closed | fixed | Miscellaneous tidying up (v0.11) |
Dumping ground for various minor and miscellaneous items (mainly refactorings):rgrp
done:
|
1265715103000000 | 1280823876000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#243 | defect | rgrp | dread | closed | worksforme | Repetition of number of packages in a group |
http://ckan.net/group/publicdomain has: "There is 16 package in this group. There are 16 packages in this group." |
1265750250000000 | 1266837796000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#244 | defect | rgrp | dread | closed | fixed | Several links preceded by link URL |
e.g. Text on ckan.net home page: "All material available under an /licenseopen license" Also seen on the package edit page: "/user/loginClick here to sign in" I believe this is due to the i18n additions from Benoit. Maybe needs new Genshi. Maybe best to work round in the meantime. |
1265750419000000 | 1271248968000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#259 | defect | rgrp | dread | v1.0 | closed | fixed | isitopen enquiry broken |
Pressing the 'make an enquiry' link on the package read page gives 404. (Also links should also be changed from isitopen.ckan.net to isitopendata.org) Example link is: http://isitopen.ckan.net/enquiry/create/?ckan_package=zeno which gets forwarded to: http://www.isitopendata.org/enquiry/create/?ckan_package=zeno which gives 404 |
1267012666000000 | 1273596153000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#261 | defect | dread | rgrp | v1.0 | closed | fixed | License does not work through REST API |
Presence of license_id field in JSON input show below breaks REST API (with weird error about int not being subscriptable as if license_id field is being subscripted). Using normal license field does not cause breakage but has no effect. (Also think we should remove license_id from the API since there is no guarantee this cross system compatible since locally generated on install). ourjson = '''{ "maintainer" : "Applications Division", "version" : "1999-01-01", "license_id" : 9, "name" : "geogratiswaterfraction1km_v100", "author_email" : "...", "author" : "Dissemination Branch", "tags" : [ "GeoGratis", "Canada", "GCMD", "Hydrosphere", "Ground Water", "Surface Water", "Hydropattern", "Earth Science", "Land Surface", "Land Cover", "Landscape" ], "extras" : { "License" : "http://geogratis.ca/geogratis/en/licence.jsp", "Ministry" : "Natural Resources Canada", "Level of Government" : "Federal" }, "maintainer_email" : "[email protected]", "notes" : "This product is a raster coverage", "url" : "http://geogratis.cgdi.gc.ca/geogratis/en/collection/metadata.do?id=67", "title" : "Geogratis - 1-km Water Fraction From National Topographic Data Base Maps, Canada" } ''' def test_15_random(self): offset = '/api/rest/package' import urllib tmpjson = simplejson.dumps(simplejson.loads(self.ourjson)) postparams = urllib.urlencode({tmpjson: 1}) res = self.app.post(offset, params=postparams, status=[200], extra_environ=self.extra_environ) model.Session.remove() |
1267134778000000 | 1267207776000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#264 | defect | dread | rgrp | v1.0 | closed | fixed | Investigate why there are revisions with no associated packages |
Revision.packages should not include all changes so why are we getting revisions with no associated changes? See e.g. http://ckan.net/revision/read/814e39e1-2540-4449-90d1-ac9a92ab40fb? Investigate and fix. NB: if this is bugfix this should go against stable or metastable branch if at all possible and then be merged into default. Cost: 1.5h (?) |
1267605428000000 | 1272390013000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#267 | defect | johnbywater | rgrp | vdm-0.7 | closed | fixed | Diffs for object that is created in that revision |
Currently this raises an exception because there is no package/package_revision in existence at from_revision. |
1268041383000000 | 1272960518000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#268 | defect | rgrp | dread | closed | duplicate | Select groups in Package edit form | 1268068896000000 | 1285070682000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#274 | defect | rgrp | rgrp | closed | fixed | Allow searching by any extra field |
At the moment only support a very limited set of extra fields (see docs for details). Should support arbitrary extra fields (note no need to put these in special full text index though ...) Cost: 1h |
1269034562000000 | 1287402800000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#275 | defect | dread | rgrp | closed | fixed | Add forms renderer for JsonType fixing bugs in admin interface |
This will solve e.g. issues in formalchemy admin interface (which is due to lack of renderer for Json type) Cost: 0.5h from ckan.model.types import JsonType forms.FieldSet.default_renderers[JsonType] = formalchemy.fields.TextFieldRenderer |
1269122740000000 | 1281002082000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#276 | defect | dread | rgrp | v1.0 | closed | fixed | Resources in Package form seen multiple times upon preview |
Create a new package with a name 'blah' and resource format 'blah'. Hit preview. There is an error because of the lack of resource url, but in the resource input boxes, there are now four resources with format 'blah'. |
1269255399000000 | 1272996237000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#278 | defect | dread | dread | v1.0 | closed | fixed | Spaces in extra field keys |
If the key to an extra field has a space in it then various form code doesn't work. Either need to disallow spaces or cope with them. |
1269520845000000 | 1271173752000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#280 | defect | dread | dread | v1.0 | closed | fixed | Disappearing extra fields |
When I edit a package on no.ckan.net with lots of extra fields, lots of them completely disappear. Metastable branch. |
1270209684000000 | 1271173769000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#284 | defect | johnbywater | rgrp | v1.0 | closed | fixed | Move tag/read/xxx to simple tag/xxx like package and group |
Also put in redirect from old locations (see examples with plurals in routing.py) Estimated cost: 20m Actual cost: 40m |
1270664552000000 | 1271852451000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#288 | defect | dread | dread | v1.0 | closed | fixed | Foreign and escaped characters in extras fields |
These don't work. |
1271171899000000 | 1271173777000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#290 | defect | johnbywater | dread | v1.0 | closed | fixed | Revision API - docs |
doc/api.rst needs to cover the new Revision REST interface. |
1271268759000000 | 1271636910000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#291 | defect | rgrp | dread | closed | worksforme | Investigate search options encoding |
On ckan.net there is this unchecked-in 'temporary hack'. It seems to be to do with foreign characters in search options. See what its doing and if necessary, put check it in. diff -r 813ad8b5de0b ckan/lib/search.py --- a/ckan/lib/search.py Mon Mar 01 22:23:36 2010 +0100 +++ b/ckan/lib/search.py Thu Apr 15 19:11:42 2010 +0200 @@ -63,6 +63,9 @@ def query(self, options): '''For the given search options, returns a query object.''' self._options = options + # temporary hack! + if self._options.q: + self._options.q = self._options.q.encode('utf8') general_terms, field_specific_terms = self._parse_query_string() if not general_terms and \ |
1271351670000000 | 1273254895000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#292 | defect | dread | dread | v1.0 | closed | fixed | PackageResources are created new on every package edit |
When you edit a package, all of its resources are deleted and a fresh set created. This causes all history of them to be lost. |
1271755964000000 | 1272286005000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#293 | defect | johnbywater | dread | v1.0 | closed | fixed | REST PackageResource update causes exception |
This is caused by editing a package with resources over the REST interface. Exception: URL: http://de.ckan.net/api/rest/package/destatis Module weberror.errormiddleware:162 in __call__ << __traceback_supplement__ = Supplement, self, environ sr_checker = ResponseStartChecker(start_response) app_iter = self.application(environ, sr_checker) return self.make_catching_iter(app_iter, environ, sr_checker) except: >> app_iter = self.application(environ, sr_checker) Module repoze.who.middleware:107 in __call__ << wrapper = StartResponseWrapper(start_response) app_iter = app(environ, wrapper.wrap_start_response) # The challenge decider almost(?) always needs information from the >> app_iter = app(environ, wrapper.wrap_start_response) Module beaker.middleware:73 in __call__ << self.cache_manager) environ[self.environ_key] = self.cache_manager return self.app(environ, start_response) >> return self.app(environ, start_response) Module beaker.middleware:152 in __call__ << headers.append(('Set-cookie', cookie)) return start_response(status, headers, exc_info) return self.wrap_app(environ, session_start_response) def _get_session(self): >> return self.wrap_app(environ, session_start_response) Module routes.middleware:130 in __call__ << environ['SCRIPT_NAME'] = environ['SCRIPT_NAME'][:-1] response = self.app(environ, start_response) # Wrapped in try as in rare cases the attribute will be gone already >> response = self.app(environ, start_response) Module pylons.wsgiapp:125 in __call__ << controller = self.resolve(environ, start_response) response = self.dispatch(controller, environ, start_response) if 'paste.testing_variables' in environ and hasattr(response, >> response = self.dispatch(controller, environ, start_response) Module pylons.wsgiapp:324 in dispatch << if log_debug: log.debug("Calling controller class with WSGI interface") return controller(environ, start_response) def load_test_env(self, environ): >> return controller(environ, start_response) Module ckan.lib.base:51 in __call__ << # available in environ['pylons.routes_dict'] try: return WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> return WSGIController.__call__(self, environ, start_response) Module pylons.controllers.core:221 in __call__ << return response(environ, self.start_response) response = self._dispatch_call() if not start_response_called: self.start_response = start_response >> response = self._dispatch_call() Module pylons.controllers.core:172 in _dispatch_call << req.environ['pylons.action_method'] = func response = self._inspect_call(func) else: if log_debug: >> response = self._inspect_call(func) Module pylons.controllers.core:107 in _inspect_call << func.__name__, args) try: result = self._perform_call(func, args) except HTTPException, httpe: if log_debug: >> result = self._perform_call(func, args) Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method""" __traceback_hide__ = 'before_and_this' return func(**args) def _inspect_call(self, func): >> return func(**args) Module ckan.controllers.rest:145 in update << fs = ckan.forms.group_fs_combined fs = fs.bind(entity, data=request_fa_dict) validation = fs.validate_on_edit(entity.name, entity.id) if not validation: response.status_int = 409 >> validation = fs.validate_on_edit(entity.name, entity.id) Module ckan.forms.package:385 in validate_on_edit << temp_name = orig_pkg_name self.data['Package-%s-name' % record_id] = u'something_unique' validation = self.validate() if temp_name: # restore it >> validation = self.validate() Module formalchemy.forms:175 in validate << if self.readonly: raise Exception('Cannot validate a read-only FieldSet') return AbstractFieldSet.validate(self) def sync(self): >> return AbstractFieldSet.validate(self) Module formalchemy.forms:104 in validate << success = True for field in self.render_fields.itervalues(): success = field._validate() and success # run this _after_ the field validators, since each field validator # resets its error list. we want to allow the global validator to add >> success = field._validate() and success Module formalchemy.fields:763 in _validate << try: value = self._deserialize() except validators.ValidationError, e: self.errors.append(e) >> value = self._deserialize() Module formalchemy.fields:1354 in _deserialize << if self.is_composite_foreign_key: return self.query(self.relation_type()).get(python_pk(self.renderer.deserialize())) return self.renderer.deserialize() >> return self.renderer.deserialize() Module formalchemy.fields:183 in deserialize << if self.field.is_collection: return [self._deserialize(subdata) for subdata in self._serialized_value()] return self._deserialize(self._serialized_value()) def _deserialize(self, data): >> return self._deserialize(self._serialized_value()) Module formalchemy.fields:167 in _serialized_value << if self.field.is_collection: return self._params.getall(self.name) return self._params.getone(self.name) def deserialize(self): >> return self._params.getone(self.name) Module formalchemy.base:63 in getone << if v is None or isinstance(v, basestring) or isinstance(v, cgi.FieldStorage): return v return v[0] def getall(self, key): v = dict.get(self, key) >> return v[0] TypeError: 'int' object is unsubscriptable Thanks to Friedrich for spotting this. |
1271756102000000 | 1271940083000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#300 | defect | rgrp | dread | v1.0 | closed | fixed | Resource ordering issue |
Failing test: ckan.tests.models.test_resource.TestResourceLifecycle?.test_03_reorder_resources Not clear how visible this is to the user. Related to ticket:292 |
1272285994000000 | 1272384474000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#303 | defect | dread | dread | v1.0 | closed | fixed | Package history & diff & feed to show changes to tags, extras and resources |
Currently a package's history page (/package/history/xyz) and related feed only shows changes to the core package i.e. ones which create a PackageResource?. This doesn't include changes to tags, extras and resources. These need to be added. There is the complication that the 'diff' function doesn't currently work beyond PackageResource?. Unless this is quick and simple to fix, I suggest we let the diff remain slightly broken for now. Rufus suggests alongside the existing methods: pkg.all_revisions() pkg.diff() we have ones which also include the related objects (tags, extras, resources): pkg.all_revisions_full() pkg.diff_full() You could have a function which returned these related objects. Ideas: revobjlist = [ self, resources, extras ] list of tuples: (revobj, changed_revobjs) list of tuples: (revobj, {objtype: [changed_revobjs]}) tuple: (rev1, {Package: [ object_id, object_id], PackageTag: [object_id, object_id2] ...} |
1272370659000000 | 1272989728000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#304 | defect | johnbywater | johnbywater | v1.0 | closed | fixed | Previewing package with resource with missing url is broken |
Intended outcome: See resource url validation error when previewing package with a resources that has no url. Recurring Error: URL: http://127.0.0.1:5000/package/new File 'pyenv-ckan/lib/python2.5/site-packages/weberror/evalexception.py', line 431 in respond app_iter = self.application(environ, detect_start_response) File 'pyenv-ckan/lib/python2.5/site-packages/repoze/who/middleware.py', line 107 in __call__ app_iter = app(environ, wrapper.wrap_start_response) File 'pyenv-ckan/lib/python2.5/site-packages/beaker/middleware.py', line 73 in __call__ return self.app(environ, start_response) File 'pyenv-ckan/lib/python2.5/site-packages/beaker/middleware.py', line 152 in __call__ return self.wrap_app(environ, session_start_response) File 'pyenv-ckan/lib/python2.5/site-packages/Routes-1.10.3-py2.5.egg/routes/middleware.py', line 130 in __call__ response = self.app(environ, start_response) File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/wsgiapp.py', line 125 in __call__ response = self.dispatch(controller, environ, start_response) File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/wsgiapp.py', line 324 in dispatch return controller(environ, start_response) File 'pyenv-ckan/src/ckan/ckan/lib/base.py', line 50 in __call__ return WSGIController.__call__(self, environ, start_response) File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/controllers/core.py', line 221 in __call__ response = self._dispatch_call() File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/controllers/core.py', line 172 in _dispatch_call response = self._inspect_call(func) File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/controllers/core.py', line 107 in _inspect_call result = self._perform_call(func, args) File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/controllers/core.py', line 60 in _perform_call return func(**args) File 'pyenv-ckan/src/ckan/ckan/controllers/package.py', line 216 in new clear_session=True) File 'pyenv-ckan/src/ckan/ckan/controllers/package.py', line 357 in _render_edit_form edit_form_html = fs.render() File 'pyenv-ckan/src/ckan/ckan/forms/builder.py', line 13 in render return render(self.form_template) File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/templating.py', line 663 in render format=format, namespace=kargs, **cache_args) File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/templating.py', line 546 in render **options) File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/plugin.py', line 110 in render File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/core.py', line 179 in render File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 60 in encode File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 425 in __call__ File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 592 in __call__ File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 698 in __call__ File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 532 in __call__ File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/core.py', line 283 in _ensure File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 569 in _include File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/markup.py', line 245 in _match File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 543 in _exec File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 533 in _eval File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 520 in _eval File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 286 in _eval_expr File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/eval.py', line 180 in evaluate File 'pyenv-ckan/src/ckan/ckan/templates/package/form_fields.html', line 52 in <Expression u'h.literal(field.render())'> ${h.literal(field.render())} File 'pyenv-ckan/lib/python2.5/site-packages/FormAlchemy-1.3.4-py2.5.egg/formalchemy/fields.py', line 1217 in render return self.renderer.render(**opts) File 'pyenv-ckan/src/ckan/ckan/forms/common.py', line 311 in render return render('package/form_resources') File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/templating.py', line 663 in render format=format, namespace=kargs, **cache_args) File 'pyenv-ckan/lib/python2.5/site-packages/Pylons-0.9.7-py2.5.egg/pylons/templating.py', line 546 in render **options) File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/plugin.py', line 110 in render File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/core.py', line 179 in render File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 60 in encode File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 425 in __call__ File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 592 in __call__ File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 698 in __call__ File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/output.py', line 532 in __call__ File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/core.py', line 283 in _ensure File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 569 in _include File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/markup.py', line 245 in _match File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 543 in _exec File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 510 in _eval File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 520 in _eval File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/base.py', line 286 in _eval_expr File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/eval.py', line 180 in evaluate File 'pyenv-ckan/src/ckan/ckan/templates/package/form_resources.html', line 14 in <Expression u"res['id'] if res else ''"> <td><input name="${c.id}-${i}-id" type="hidden" value="${res['id'] if res else ''}" /></td> File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/eval.py', line 335 in lookup_item File 'pyenv-ckan/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg/genshi/template/eval.py', line 405 in undefined UndefinedError: {'url': u'a', 'hash': u'a', 'description': u'a', 'format': u'a'} has no member named "id" How to reproduce:
|
1272379550000000 | 1272447296000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#305 | defect | johnbywater | johnbywater | v1.0 | closed | fixed | Search result pagination is broken |
Expect to page through results. Only page 1 is shown, all other pages fail to display. Reproduce by searching for something common and browsing to the second page. |
1272468229000000 | 1272994804000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#307 | defect | rgrp | rgrp | datapkg-0.7 | closed | fixed | datapkg upload command |
Support uploading a distribution somewhere.
Depends on ticket:306 |
1272474224000000 | 1288027815000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#309 | defect | pudo | dread | closed | fixed | Tag list shows unused tags |
Deleted tags are visible on the /tag page and are searchable. Delete tags are ones that were in use once and then discarded, so this includes ones which are not used on any packages any more, including misspelling, mistakes, and deprecated tags. It would makes sense to remove them. Example tag that is viewed at /tag and searchable: http://ckan.net/tag/2rand[0 |
1273247648000000 | 1280743432000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#310 | defect | dread | rgrp | v1.1 | closed | fixed | Commit message box looks wrong in edit page since edit style overhaul |
Suggest move this below the label and make full width of screen and only 3/4 rows high (more like a wiki site).
|
1273348714000000 | 1279300525000000 |