{22} Trac tickets (2647 matches)
Results (2301 - 2400 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#1421 | defect | dread | dread | ckan-sprint-2011-10-28 | closed | fixed | Tag cloud recipe broken |
home page doesn't have c.facets setup. Only affects 1.5 branch - ok 1.4.3.1. Was broken in cset:05f60f2d26e8. |
1319638575000000 | 1319639311000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1422 | enhancement | dread | dread | closed | fixed | Remove proxy & etag caching |
Rufus decided this was more trouble than it was worth. Removes ckan/lib/cache.py |
1319639663000000 | 1319645722000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1424 | enhancement | dread | ckan-backlog | new | Openness notice should be clearer |
ckan-discuss discussion suggests changes to the 'openness' indicator ( http://lists.okfn.org/pipermail/ckan-discuss/2011-October/001786.html ) Dataset view page:
|
1319648089000000 | 1319648089000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1425 | enhancement | zephod | dread | closed | fixed | Dataset delete button |
From Jonathan gray: At the moment to delete a package you have to go to 'state' and change from 'active' to 'deleted'. For me this was not very obvious, and someone recently wrote to me about this too. Its a small issue - but unless you know what 'state: active' refers to, its not obvious what this means, nor that this is where to go if you want to delete a package. From UI perspective this could be replaced by either a trash can or some text that says 'delete', perhaps with some prompt that explains what happens when you delete a package - explaining that non-admins won't be able to see it, and how you purge, etc. |
1319649860000000 | 1330085282000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1426 | defect | dread | dread | ckan-sprint-2011-10-28 | closed | invalid | Validation errors cause 409 not 400 response |
Validation error is incorrect arguments, so should be a "400 Bad Request" response. "409 Conflict" is for when there is a conflict creating two resources with the same identifier. Yet we get 409 for all validation errors. |
1319708619000000 | 1319709236000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1427 | enhancement | dread | dread | ckan-sprint-2011-10-28 | closed | fixed | Tags validation needs to limit length to 100 characters |
The tag name is limited in length in the db table to 100 characters. If you try and create a longer one you get an exception. This should cause a ValidationError? and tell the user this sensibly. |
1319708698000000 | 1319709925000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1428 | defect | dread | dread | ckan-sprint-2011-11-07 | closed | fixed | config options not used or documented |
Need to ensure config options in the deployment.ini_tmpl match up with doc/configuration.rst. Remove any unused ones too. |
1319803594000000 | 1319804773000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1431 | defect | dread | dread | ckan-v1.5 | closed | fixed | Captcha field - foreign chars cause exception |
During registering a user, the user inputs foreign chars into the captcha field. URL: http://thedatahub.org/user/register ... Module ckan.lib.captcha:22 in check_recaptcha << remoteip=client_ip_address, challenge=recaptcha_challenge_field, response=recaptcha_response_field)) f = urllib2.urlopen(recaptcha_server_name, params) data = f.read() >> response=recaptcha_response_field)) Module urllib:1267 in urlencode << for k, v in query: k = quote_plus(str(k)) v = quote_plus(str(v)) l.append(k + '=' + v) else: >> v = quote_plus(str(v)) UnicodeEncodeError: 'ascii' codec can't encode character u'\xea' in position 0: ordinal not in range(128) |
1320078849000000 | 1320084104000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1434 | enhancement | seanh | dread | ckan-v1.8 | closed | fixed | Add i18n strings from extensions |
Decide which extensions are important. |
1320145648000000 | 1341245889000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1437 | defect | dread | dread | ckan-sprint-2011-11-07 | closed | fixed | JSONP parameter in Action API |
Action API needs JSONP support - be able to return responses encapsulated in a function of a supplied name. This is important for remote sites running javascript to interact with a CKAN site. Specifying the callback parameter is the way we've achieved JSONP with the RESTful and Search APIs. It should work like this: curl http://test.ckan.net/api/action/package_show?callback=jsoncallback -d '{"id": "fd788e57-dce4-481c-832d-497235bf9f78"}' Or maybe the callback should be specified in the payload in the context or data_dict? (My understanding is that CORS is similar - when more browsers support it, can we drop JSONP?) |
1320161088000000 | 1320173795000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1438 | enhancement | dread | ckan-future | new | Action API - parameter discovery/checking |
Many actions in the Action API require parameters. What params are needed should be listed and checked. Because currently, if you get them wrong you simply get a useless 500 error. Currently they are listed in the docs, extracted from the code manually. So you could GET /action/api/package_list to receive not only the help text, but a list of arguments. And if you send an extra or missing argument then an intelligent error message can be returned. implementationHow about some sort of decorator on the action function: @logic_params(id, offset, limit) def get_package_list(context, data_dict): ... This would do the param checking, and is there a way to extract these params from the function? Or do a registration of the logic function? I'd certainly like to keep the list of the list of params for the function with the function, for ease of reading the code. Another good thing would be to pass in the params named as themselves, rather than having them contained in the data_dict. |
1320161890000000 | 1338205050000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1439 | enhancement | dread | ckan-backlog | new | Action API discoverablility |
A good service API needs to be discoverable, so you are not always having to refer to the documentation html. Maybe /api/action should return a list of actions available? (Currently this returns a 404.)
/api/action/{action_name} should also return the help text / parameters allowable. (Currently this returns 400 error) |
1320161970000000 | 1325474974000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1440 | defect | dread | dread | ckan-sprint-2011-11-07 | closed | fixed | 'paster db load' doesn't update search index |
paster db load ckan.pgdump will load in the database but not update the search index, no we're using SOLR. implementationWe can't tack on 'rebuild' to this command, because it needs a 'db upgrade' first. I'm tempted to make 'db load' do the upgrade and rebuild all in one command. |
1320232415000000 | 1320235084000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1441 | defect | dread | dread | closed | fixed | Use local ckan logo image |
Using local image rather than the same image at assets.okfn.org reduces dependency on another server that may be down, slow or remote. James agrees. |
1320234597000000 | 1320235062000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1442 | defect | dread | dread | ckan-sprint-2011-11-07 | closed | fixed | You can't GET then POST a dataset as new |
If you try to GET a dataset, purge it then POST it again, it fails checking authz for the group: Module ckan.controllers.api:278 in create << (register, subregister)) try: response_data = action(context, data_dict) location = None if "id" in data_dict: >> response_data = action(context, data_dict) Module ckan.logic.action.create:240 in package_create_rest << api = context.get('api_version') or '1' check_access('package_create_rest', context, data_dict) dictized_package = package_api_to_dict(data_dict, context) >> check_access('package_create_rest', context, data_dict) Module ckan.logic:129 in check_access << # log.debug('Valid API key needed to make changes') # raise NotAuthorized logic_authorization = new_authz.is_authorized(action, context, data_dict) if not logic_authorization['success']: msg = logic_authorization.get('msg','') >> logic_authorization = new_authz.is_authorized(action, context, data_dict) Module ckan.new_authz:16 in is_authorized << auth_function = _get_auth_function(action) if auth_function: return auth_function(context, data_dict) else: raise ValueError(_('Authorization function not found: %s' % action)) >> return auth_function(context, data_dict) Module ckan.logic.auth.create:115 in package_create_rest << return {'success': False, 'msg': _('Valid API key needed to create a package')} return package_create(context, data_dict) def group_create_rest(context, data_dict): >> return package_create(context, data_dict) Module ckan.logic.auth.create:15 in package_create << else: check2 = check_group_auth(context,data_dict) if not check2: return {'success': False, 'msg': _('User %s not authorized to edit these groups') % str(user)} >> check2 = check_group_auth(context,data_dict) Module ckan.logic.auth.create:90 in check_group_auth << groups = set() for group_dict in group_dicts: id = group_dict.get('id') if not id: continue >> id = group_dict.get('id') AttributeError: 'unicode' object has no attribute 'get' (using RESTful Model API) The reason is the POST is expecting the group to be expressed as a dict, not the list of names that GET returns. |
1320263318000000 | 1320275623000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1443 | defect | dread | dread | ckan-sprint-2011-11-07 | closed | fixed | language detection |
If language detected doesn't match any of the offered CKAN languages, you get the default language, but see an error flash up for every page, saying: Could not change language to 'None': IOError: [Errno 2] No translation file found for domain: 'ckan' Affects 1.5b only. |
1320425588000000 | 1320432511000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1444 | defect | dread | dread | ckan-future | closed | wontfix | Language detection defaults to en_us? |
Using curl you always get English, even if ckan.locale_default=de. Find out why. (1.5b) Maybe we should disable locale detection for this release if lots of people's browsers don't have it set correctly (e.g. chinese with us internet explorer) |
1320432634000000 | 1340190852000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1447 | defect | kindly | dread | ckan-backlog | assigned | disk space leakage |
Periodically we see some CKAN servers fall over because they run out of disk space. We need to find out if there is a common cause and fix it. One problem in the past has been file handles running out when creating lots of tiny files in the data directory. Another problem has been several enourmous backups being created every day - pdeu on eu25. |
1320666843000000 | 1340727330000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1452 | enhancement | dread | dread | closed | wontfix | Offer detected browser language, rather than auto-switch |
There are issues with setting the site's language according to the browser detection:
I suggest the site should have a default language saved in the config. The browser language *should* be detected, and that prompts a flash message offering to change to that language. And if you change language that is saved in the cookie (as we currently do). Then do some testing to see if this suits people. |
1320682652000000 | 1340190587000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1454 | enhancement | dread | dread | ckan-sprint-2011-11-21 | closed | fixed | postgres search code/data removal |
We made SOLR the main and only supported way to do CKAN search three months ago (#1275), but I notice that we still have remnants of the postgres full-text search hanging around:
The presence of these still create sqlalchemy warnings and add to our db, (& db backups etc), so it would be good to get rid of them if we are not using them. John says this can probably be removed |
1320838999000000 | 1320849527000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1455 | defect | johnglover | dread | ckan-sprint-2011-12-05 | closed | fixed | Search results when 'all_fields' don't include 'extra' fields |
When you do a search like this: http://thedatahub.org/api/search/package?q=tauberer+census&all_fields=1 the "extra" fields (e.g. "triples", "shortname") get missed off the results. The docs say it should be a "full record" and I don't see any reason why this is missed off. This is a problem because search all_fields is the only way for clients and front-ends to get packages in bulk. They end up (like lodcloud) doing thousands of requests to get packages individually. The full record is: http://thedatahub.org/api/rest/dataset/2000-us-census-rdf {"count": 1, "results": [{"res_description": ["Download", "XML Sitemap", "SPARQL enpdoint", "Example (RDF/XML)"], "name": "2000-us-census-rdf", "license": "Non-OKD Compliant::Creative Commons Non-Commercial (Any)", "author": "Joshua Tauberer", "author_email": "http://razor.occams.info/", "ckan_url": "http://thedatahub.org/dataset/2000-us-census-rdf", "notes": "2000 U.S. Census converted into over a billion RDF triples.\n\nPopulation statistics at various geographic levels, from the U.S. as a whole, down through states, counties, sub-counties (roughly, cities and incorporated towns)\n\nNotes: also found in the of SPARQL Endpoints.\n\nFrom home page:\n\n> * For the detailed Census statistics, you'll have to download the raw Census data files from the Census Bureau, my Perl script and the patch file below and run it yourself because the files are too big for me to offer as a download!\n> \n> * The data and scripts can be reused under Creative Commons Attribution-NonCommercial-ShareAlike.\n", "entity_type": "package", "site_id": "www.ckan.net", "download_url": "http://www.rdfabout.com/demo/census/", "indexed_ts": "2011-11-01T12:52:36.034Z", "url": "http://www.rdfabout.com/demo/census/", "state": "active", "title": "2000 U.S. Census in RDF (rdfabout.com)", "groups": ["lod", "lodcloud"], "res_format": ["", "meta/sitemap", "api/sparql", "example/rdf+xml"], "license_id": "cc-nc", "revision_id": "fcbad0de-79ea-41bd-8e01-eb832a05b732", "res_url": ["http://www.rdfabout.com/demo/census/", "http://www.rdfabout.com/sitemap.xml", "http://www.rdfabout.com/sparql", "http://www.rdfabout.com/rdf/usgov/geo/us/ny"], "id": "551ec435-f198-4d52-9b56-ec0b0be6aec9", "tags": ["census", "data", "demographics", "deref-vocab", "format-dc", "format-geonames", "format-politico", "format-rdf", "geographic", "linkeddata", "lod", "lodcloud.nolinks", "no-license-metadata", "no-provenance-metadata", "no-vocab-mappings", "population", "published-by-third-party", "rdf", "statistics", "us"]}]} |
1320858265000000 | 1324474466000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1471 | enhancement | seanh | dread | ckan-v1.8 | closed | fixed | Be compatible with new ubuntu release in April |
Nils flagged up that Ubuntu launches another LTS in April which we should probably move to. This ticket is to get the ball rolling with what we do. We can always include in our package the exact package versions of deps that we want, but it is good to be in line with the release if possible. Here's how to see the packages included with it: http://packages.ubuntu.com/search?keywords=python-pylons&searchon=names&suite=all§ion=all Pylons 0.9.7 -> 1.0-2 Requires a small amount of work SQLAlchemy 0.7.3-2 OK Babel 0.9.6-1 OK Genshi 0.6-2 Perfect Another alternative is to move to another web framework, especially minding that Pylons is not being further developed. |
1321552345000000 | 1340810270000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1473 | defect | dread | dread | ckan-sprint-2011-11-21 | closed | fixed | max name length validators missing |
Max length of package name and version field is 100 characters, but the validators seem to enforce this, although in the web interface the javascript limits typing in these fields, so it just affects the API really. |
1321631452000000 | 1321872717000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1479 | defect | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | Can't edit a user with a unicode email address |
Exception: Module ckan.controllers.user:98 in read << try: user_dict = get_action('user_show')(context,data_dict) except NotFound: h.redirect_to(controller='user', action='login', id=None) >> user_dict = get_action('user_show')(context,data_dict) Module ckan.logic.action.get:488 in user_show << check_access('user_show',context, data_dict) user_dict = user_dictize(user_obj,context) if not (Authorizer().is_sysadmin(unicode(user)) or user == user_obj.name): >> user_dict = user_dictize(user_obj,context) Module ckan.lib.dictization.model_dictize:189 in user_dictize << result_dict['display_name'] = user.display_name result_dict['email_hash'] = user.email_hash result_dict['number_of_edits'] = user.number_of_edits() result_dict['number_administered_packages'] = user.number_administered_packages() >> result_dict['email_hash'] = user.email_hash Module ckan.model.user:59 in email_hash << if self.email: e = self.email.strip().lower() return hashlib.md5(e).hexdigest() def get_reference_preferred_for_uri(self): >> return hashlib.md5(e).hexdigest() UnicodeEncodeError: 'ascii' codec can't encode character u'\u044e' in position 17: ordinal not in range(128) |
1321960486000000 | 1321961592000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1480 | enhancement | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | Munge functions in util |
munge_title_to_name, munge_tag v. useful for client software importing things into CKAN. I want it for ONS. |
1321965837000000 | 1321978546000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1481 | defect | johnglover | dread | ckan-sprint-2011-12-05 | closed | fixed | License not shown if no resources |
The license is not displayed any more, unless there are resources e.g. http://test.ckan.net/dataset/dtest#section-basic-information is OGL, but that's not shown. |
1321983266000000 | 1323169343000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1484 | defect | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | Creating package with duplicate tags causes exception |
e.g. curl http://localhost:5000/api/action/package_create -d '{"name":"test5", "tags":[{"name": "tag6"}, {"name": "tag6"}]}' -H 'Authorization:tester' Also broken in Web UI (adding a package). Affects API and Web UI in 1.5 and I think all versions from 1.4.1 |
1322052046000000 | 1322059006000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1488 | enhancement | dread | dread | ckan-sprint-2011-11-21 | closed | fixed | List of installed extensions - add to the status_show |
Add the list of extensions install (config's ckan.plugins) to status_show logic action (See #1087) |
1322130555000000 | 1322241966000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1489 | enhancement | dread | ckan-backlog | assigned | Updating example theme/extension |
ckanext-example needs updating for CKAN 1.5:
About: 'ckanext-exampletheme' was created in Spring 2011 as an example CKAN extension that showed how to customise the look & operation of CKAN. This moved to github and renamed 'ckanext-example'. |
1322137920000000 | 1324292384000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1491 | defect | seanh | dread | closed | fixed | Visible strings need internationalisation |
Sean spotted that some strings need internationalising, such as flash messages. Generally all strings that appear on the web front-end should be internationalised. Particular places that need i18n:
Note: there are some exceptions, such as in i18n.py, very obscure error messages and stuff that only appears on the API. NB: there is a cost in making a string internationalisable (all our volunteers have to translate it), so we should not be too zealous. We should also look at the i18n/ckan.pot to see if any of the existing strings can be reused. |
1322481000000000 | 1330020630000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1492 | defect | kindly | dread | closed | wontfix | Interference between extra and relationship fields in API |
From Jan Kučera <elquenor@…>
|
1322481496000000 | 1340034528000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1493 | defect | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | 'search-index rebuild/clear' doesn't work if no ckan.site_id |
You can't delete things from the SOLR search index if the ckan.site_id and ckan.site_url are blank. Should assert that one of these are set up. |
1322484422000000 | 1324474360000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1497 | enhancement | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | Suppress benign warnings |
We really shouldn't have lots of benign stuff printed on stderr when we run every command. It confuses users and hides important stuff. |
1322569640000000 | 1322569805000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1499 | enhancement | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | list/read/delete packages on the command-line |
It would be useful to be able to manipulate packages using the paster command-line interface. In particular listing, reading and deleting packages. Seeing which packages were deleted too. |
1322591656000000 | 1322591888000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1500 | defect | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | Slug API calls tidy up |
|
1322600285000000 | 1323166918000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1504 | defect | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | Action API given blank data causes exception |
This is what caused the exception: curl http://localhost:5000/api/action/package_search -d='{"q": "osm"}' The problem is the content-type is formencoding, the '=' is the first character of the request, and so internally the data_dict is set to ' ', which needs to be a dictionary. |
1322756748000000 | 1324035928000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1505 | defect | dread | dread | ckan-sprint-2011-12-05 | closed | fixed | SearchError and SearchQueryError cause exception in Action API |
This query caused ckan to except because ckan/controllers/api.py doesn't catch SearchError? and SearchQueryError?: curl http://localhost:5000/api/action/package_search -d '{"sort": "metadata_modified"}' |
1322758968000000 | 1324474577000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1509 | defect | dread | assigned | Mis-dated old revisions of datasets |
e.g. http://thedatahub.org/dataset/osm%402011-07-12T12%3A16%3A47.590358 gives: This is the current revision of this dataset, as edited at 2011-07-12 12:16. but it should say the date 2011-07-12 (which is the data being displayed). The problem is looking at PackageRevision?, when it might be a tag or extra. |
1323090398000000 | 1340190814000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1513 | defect | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | Logged in/out problems |
Richard Cyganiak: I often see a problem where half the system thinks that I'm logged in, while the other half insists I'm not. Logout then login again may fix it. David Read: I think I've seen it several times that the "My Account" link is given (suggesting you're logged in) but when you click it it asks you to log in, which means you weren't. |
1323100353000000 | 1328205099000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1514 | defect | dread | ckan-v1.6 | closed | duplicate | Modifying user name loses connection with revisions |
If you edit your user name, the number of revisions you made returns to 0. This is because in the Revision object, the user's name is stored, rather than the user's ID. rgrp: We can reconnect that pretty easily (and have a longer term solution that involves not using the usernames but the userids in in the Revision objects so we don't hvae this problem in future!) |
1323100659000000 | 1323279018000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1520 | task | dread | ckan-sprint-2011-12-19 | closed | fixed | Disable name changing |
Because of #1514 we should just disable name changing, until #1514 is done. |
1323169663000000 | 1323280999000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1529 | enhancement | dread | dread | ckan-sprint-2011-12-19 | closed | fixed | Display user name when logged in |
Currently when you log in it says "logged-in". Most sites show your user-name and this is helpful when you have more than one account or human using the computer. |
1323252086000000 | 1324318628000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1532 | defect | dread | ckan-sprint-2011-12-19 | closed | fixed | Registration with OpenID has misleading error message |
The log-in page says "Login using Open ID" and gives instructions for signing up. YET this is only available to users who've already added openid to their account. If you have not done this and then sign-in via OpenID (which is successful from the OpenID end) then you are told "Login failed. Bad username or password." in a flash message. Proposed solution (i don't know if this is possible):
Alternatives:
|
1323276392000000 | 1323956027000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1535 | enhancement | dread | ckan-backlog | new | Plump for auth header of: X-CKAN-API-KEY |
When using the API, the apikey needs to be supplied in a header called 'Authorization'. Because some proxys / deployments use this header for other things, a configurable header was provided as an alternative, with default "X-CKAN-API-KEY". Rufus suggests having *one* way for this. a) making this not configurable any more b) making X-CKAN-API-KEY the default (keep Authorization allowed, but not documented, for backwards compatibility) |
1323279082000000 | 1339774019000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1536 | defect | dread | dread | ckan-sprint-2011-12-19 | closed | fixed | Group deletion doesn't work |
In the Web interface and API, an administrator can set the 'state' field of a group to 'deleted' but this change is ignored in the save/submit and it doesn't get deleted. |
1323346766000000 | 1330020599000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1542 | enhancement | dread | ckan-backlog | new | Buttons to purge spam datasets and groups |
A sysadmin should be able to easily examine a suspect group or package, determine if it was created by a spammer (as opposed to being a legitimate object that has been graffitied by a spammer) and purge it. The existing two-stage revision delete is currently unreliable and perhaps too laborious. Olav and Richard have needs along this line. |
1323364930000000 | 1339774000000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1544 | task | dread | ckan-backlog | new | delete old git branches |
We have 150 odd branches (git branch -a) - most of them old - we should prune them. At very least, branches that have been merged in should be deleted. Look at old branches that haven't been merged in and wonder why. May be of some use: git branch --merged git branch --no-merged |
1323702610000000 | 1323702610000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1548 | enhancement | dread | dread | ckan-sprint-2011-12-19 | closed | fixed | Simplfy inheritance in functional tests |
It's hard to understand what's going on with the functional tests because there is so much going on in inherited classes. Would be better to be explicit in constructors, even if it involves cut & paste. |
1323859687000000 | 1323888271000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1552 | enhancement | dread | dread | ckan-sprint-2011-12-19 | closed | fixed | Be able to set password on the command line when creating users |
(instead of using the prompt) - needed for deployment |
1324056178000000 | 1324056240000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1553 | defect | aron.carroll | dread | demo phase 5 | closed | fixed | Upload handles non-logged in user badly |
When you install ckanext-store (Storage extension) then CKAN displays 'Upload a file' button in the dataset/resource edit tab. If you are not logged in, then this feature doesn't work, but there is nothing to indicate this. The button should be disabled. Furthermore, it lets you think you are starting the upload process, the spinner spins, it says 'Uploading...' and stays like that for a long while. This is a problem CKAN 1.4.3(ish) - 1.5.1 (current version) when you install the current ckanext-storage. |
1324056405000000 | 1343226756000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1575 | enhancement | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | tag punctuation lost in ca.ckan.net import |
Last week I imported ca.ckan.net datasets into thedatahub.org, but the tags seem to have lost their dashes, underscores and dots. |
1324316860000000 | 1326808657000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1577 | defect | rgrp | dread | ckan-backlog | new | Can't upload file with foreign chars in filename |
Looks like uploading a file with foreign characters fails due to encoding reasons. URL: http://thedatahub.org/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ%C3%AD-%C4%8Cesk%C3%A9-republiky-_-P%C5%99%C3%ADprava-rozpo%C4%8Dtu.pdf 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 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:123 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 ckanext.storage.controller:2 in auth_form Module ckan.lib.jsonp:26 in jsonpify << Very much modelled after pylons.decorators.jsonify . """ data = func(*args, **kwargs) return to_jsonp(data) >> data = func(*args, **kwargs) Module ckanext.storage.controller:301 in auth_form << method = 'POST' authorize(method, bucket, label, c.userobj, self.ofs) data = self._get_form_data(label) return data >> authorize(method, bucket, label, c.userobj, self.ofs) Module ckanext.storage.controller:79 in authorize << if method != 'GET': # do not allow overwriting if ofs.exists(bucket, key): abort(409) # now check user stuff >> if ofs.exists(bucket, key): Module ofs.remote.botostore:53 in exists << if bucket is None: return False return (label is None) or (label in bucket) def claim_bucket(self, bucket): >> return (label is None) or (label in bucket) Module boto.s3.bucket:87 in __contains__ << def __contains__(self, key_name): return not (self.get_key(key_name) is None) def startElement(self, name, attrs, connection): >> return not (self.get_key(key_name) is None) Module boto.s3.bucket:144 in get_key << response = self.connection.make_request('HEAD', self.name, key_name, headers=headers, query_args=query_args) # Allow any success status (2xx) - for example this lets us # support Range gets, which return status 206: >> query_args=query_args) Module boto.s3.connection:388 in make_request << if isinstance(key, Key): key = key.name path = self.calling_format.build_path_base(bucket, key) boto.log.debug('path=%s' % path) auth_path = self.calling_format.build_auth_path(bucket, key) >> path = self.calling_format.build_path_base(bucket, key) Module boto.s3.connection:88 in build_path_base << def build_path_base(self, bucket, key=''): return '/%s' % urllib.quote(key) class SubdomainCallingFormat(_CallingFormat): >> return '/%s' % urllib.quote(key) Module urllib:1222 in quote << safe_map[c] = (c in safe) and c or ('%%%02X' % i) _safemaps[cachekey] = safe_map res = map(safe_map.__getitem__, s) return ''.join(res) >> res = map(safe_map.__getitem__, s) KeyError: u'\xed' CGI Variables AUTH_TYPE 'cookie' CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.3' HTTP_ACCEPT_ENCODING 'gzip,deflate,sdch' HTTP_ACCEPT_LANGUAGE 'en-US,en;q=0.8' HTTP_CACHE_CONTROL 'max-age=259200' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE 'thedatahub_net=27a7f095fcca1ea6b36df996d595e3278b16f4538862bf7f88d49e2000b9246547c8fd0e; auth_tkt="f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode"; auth_tkt="f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode"; ckan_user=elenaibp; ckan_display_name="Elena Mondo"; ckan_apikey=decd48b1-49ee-4250-bff4-98ccca9c02a5; hide_welcome_message=1; __utma=119670349.1809834699.1323782464.1324293066.1324298316.4; __utmb=119670349.3.10.1324298316; __utmc=119670349; __utmz=119670349.1323782464.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)' HTTP_HOST 'thedatahub.org' HTTP_REFERER 'http://thedatahub.org/dataset/edit/budget-library-czeck-republic' HTTP_USER_AGENT 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7' HTTP_VIA '1.1 localhost (squid/3.0.STABLE19)' HTTP_X_FORWARDED_FOR '87.114.74.190' HTTP_X_REQUESTED_WITH 'XMLHttpRequest' PATH '/usr/local/bin:/usr/bin:/bin' PATH_INFO '/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ\xc3\xad-\xc4\x8cesk\xc3\xa9-republiky-_-P\xc5\x99\xc3\xadprava-rozpo\xc4\x8dtu.pdf' PATH_TRANSLATED '/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ\xc3\xad-\xc4\x8cesk\xc3\xa9-republiky-_-P\xc5\x99\xc3\xadprava-rozpo\xc4\x8dtu.pdf' REMOTE_ADDR '193.34.146.142' REMOTE_PORT '55419' REMOTE_USER u'elenaibp' REMOTE_USER_DATA 'userid_type:unicode' REMOTE_USER_TOKENS [''] REQUEST_METHOD 'GET' REQUEST_URI '/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ%C3%AD-%C4%8Cesk%C3%A9-republiky-_-P%C5%99%C3%ADprava-rozpo%C4%8Dtu.pdf' SCRIPT_FILENAME '/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py' SCRIPT_URI 'http://thedatahub.org/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ\xc3\xad-\xc4\x8cesk\xc3\xa9-republiky-_-P\xc5\x99\xc3\xadprava-rozpo\xc4\x8dtu.pdf' SCRIPT_URL '/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ\xc3\xad-\xc4\x8cesk\xc3\xa9-republiky-_-P\xc5\x99\xc3\xadprava-rozpo\xc4\x8dtu.pdf' SERVER_ADDR '193.34.146.146' SERVER_ADMIN '[no address given]' SERVER_NAME 'thedatahub.org' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '<address>Apache/2.2.14 (Ubuntu) Server at thedatahub.org Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.14 (Ubuntu)' WSGI Variables application <beaker.middleware.CacheMiddleware object at 0x7f22601c7dd0> beaker.cache <beaker.cache.CacheManager object at 0x7f22601c7b50> beaker.get_session <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f22601c7a90>> beaker.session {'_accessed_time': 1324298703.071357, '_creation_time': 1324293077.4139669} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.listener_host '' mod_wsgi.listener_port '80' mod_wsgi.process_group 'ckan.net' mod_wsgi.reload_mechanism '1' mod_wsgi.script_reloading '1' mod_wsgi.version (2, 8) paste.cookies (<SimpleCookie: __utma='119670349.1809834699.1323782464.1324293066.1324298316.4' __utmb='119670349.3.10.1324298316' __utmc='119670349' __utmz='119670349.1323782464.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)' auth_tkt='f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode' ckan_apikey='decd48b1-49ee-4250-bff4-98ccca9c02a5' ckan_display_name='Elena Mondo' ckan_user='elenaibp' hide_welcome_message='1' thedatahub_net='27a7f095fcca1ea6b36df996d595e3278b16f4538862bf7f88d49e2000b9246547c8fd0e'>, 'thedatahub_net=27a7f095fcca1ea6b36df996d595e3278b16f4538862bf7f88d49e2000b9246547c8fd0e; auth_tkt="f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode"; auth_tkt="f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode"; ckan_user=elenaibp; ckan_display_name="Elena Mondo"; ckan_apikey=decd48b1-49ee-4250-bff4-98ccca9c02a5; hide_welcome_message=1; _ _utma=119670349.1809834699.1323782464.1324293066.1324298316.4; __utmb=119670349.3.10...)|utmcmd=(none)') paste.registry <paste.registry.Registry object at 0x7f226194df50> paste.throw_errors True pylons.action_method <bound method StorageAPIController.auth_form of <ckanext.storage.controller.StorageAPIController object at 0x7f2261dad990>> pylons.controller <ckanext.storage.controller.StorageAPIController object at 0x7f2261dad990> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext object at 0x7f2261daddd0> pylons.routes_dict {'action': u'auth_form', 'controller': u'ckanext.storage.controller:StorageAPIController', 'label': u'2011-12-19T124447/Ministerstvo-financ\xed-\u010cesk\xe9-republiky-_-P\u0159\xedprava-rozpo\u010dtu.pdf'} repoze.who.identity <repoze.who identity (hidden, dict-like) at 139785645747120> repoze.who.logger <logging.Logger instance at 0x7f225e23c098> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin 139785625065680>, 'friendlyform': <FriendlyFormPlugin 139785618095248>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f2260874c10>, 'auth_tkt': <AuthTktCookiePlugin 139785625065808>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f2260874c90>} routes.route <routes.route.Route object at 0x7f22601a1090> routes.url <routes.util.URLGenerator object at 0x7f2261dadf50> webob._parsed_query_vars (GET([]), '') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multiprocess' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f2261da9af8> wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7f2261dadf50>, {'action': u'auth_form', 'controller': u'ckanext.storage.controller:StorageAPIController', 'label': u'2011-12-19T124447/Ministerstvo-financ\xed-\u010cesk\xe9-republiky-_-P\u0159\xedprava-rozpo\u010dtu.pdf'}) |
1324317659000000 | 1325473564000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1585 | enhancement | dread | closed | fixed | Security fix |
(details embargoed until 31/1/2012) |
1324473465000000 | 1340633128000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1586 | enhancement | toby | dread | ckan-v1.7 | closed | duplicate | 'Sort by' field for package search |
We default to sort packages search results by "search rank", but we can change it to be "name", "title", "metadata_modified" date, "metadata_created" date. It works in the API now, so let's have (say) a drop-down in the Web UI for this. Follows on from #191. |
1324479588000000 | 1337079419000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1591 | enhancement | icmurray | dread | ckan-sprint-2012-01-23 | closed | fixed | Upgrade CKAN 1.5 instances |
CKAN 1.5 installations need to be upgrade to 1.5.1. Working methodically through the CKANs on http://datacatalogs.org/group/ckan : At 1.5:
Other versions:
Now deleted from datacatalogs.org:
|
1324487658000000 | 1328789470000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1596 | enhancement | dread | ckan-future | new | Refactor authz roles |
Suggestions from rgrp:
(This ticket is split off from #1065) |
1324549888000000 | 1338205019000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1597 | enhancement | dread | ckan-sprint-2012-01-23 | closed | fixed | Tag search - filter by group |
I want to browse tags, but filtered for a particular group. Currently our tag API doesn't allow for filtering by group. This is important for improving groups as communities within a site #1521. It would be easy to do this by adding an option to filter by a group. BUT are there any other use cases that would warrant a more complete faceted tag search? -- BTW I can currently draw a tag cloud for a group - I can get the top tags used in a group like this: curl http://thedatahub.org/api/action/package_search -d '{"q":"groups:country-ca", "facet.field":"tags", "rows":"0"}' but it only contains the top 20 tags. |
1324550492000000 | 1326821156000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1604 | enhancement | dread | ckan-backlog | new | Get ckanext-moderatededits working with CKAN 1.5+ templates |
ckanext-moderatededits requires an old and possibly development version of CKAN. It would be good to update it for later CKAN versions. According to the README, you need CKAN from branch feature-1141-moderated-edits-ajax but the changelog suggests this branch went into version 1.4.2. So it possibly works with 1.4.2 and 1.4.3(.1). But CKAN 1.5 has revamped templates, so the genshi stream filters definitely don't work. BTW history_ajax/read_ajax calls have been deprecated in CKAN since 1.5.2a and will need fixing up to use the Action API too as part of this. |
1325352429000000 | 1325352429000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1606 | enhancement | dread | ckan-backlog | new | metadata license config option |
Add a config option to choose the metadata licence. Set default to Open Database License. Currently the dataset edit form says "Important: By submitting content, you agree to release your contributions under the Open Database License." This is hard-coded, but not suitable for when DGU uses the CKAN form - they use the OGL. |
1325501130000000 | 1339773981000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1607 | enhancement | icmurray | dread | ckan-v1.7 | closed | fixed | [super] Data.gov.uk Maintenance Refactor and UKLP Development Support |
A ticket to collect all of the changes needed for CKAN to become the 'data' tab on DGU. Design doc: https://docs.google.com/document/d/19h9bA1G4cQkv031m8jNCu6FEB3a8qpXUmdPAguM-Ofs/edit?hl=en_GB The design doc is the authoritative source of tasks. This ticket acts as a synopsis. Current sprint (2012-02-20):
Plus, brought forward from last sprint:
Overview of tasks: see the design doc. |
1325503348000000 | 1337159969000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1613 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | wontfix | Post-dataset-edit URL has #section |
Affects 1.5, 1.5.1, 1.5.2a |
1325685555000000 | 1326813924000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1623 | enhancement | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | Dump to exclude deleted objects |
The database dump currently contains all Packages and their associated objects, even those that have been set to state=deleted. We should exclude these from the dump now. Dump = paster db simple-dump-csv/json reasoningThe dumps are designed for end-users to be able to run scripts on the mass of data. Since end-users don't see state=deleted packages then they shouldn't need them in the dump. In fact their presence in the dump probably confuses them. Admins get the full database anyway in the backup pg_dump. We only included them in the user dump because it was designed before use of state=deleted was established. Time estimate: 2h |
1326118987000000 | 1326892264000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1626 | enhancement | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | 'About CKAN' page update |
thedatahub.org/about contains info that is very general to the CKAN and really quite technical. The text should be changed to be both specific to thedatahub.org and provide the context in a non-technical way. It should be easy to customise the About page to be appropriate for say new-york.ckan.net - a bit of info about who runs it, plus the general stuff about CKAN powering it and it was written by OKF to further open data. |
1326205236000000 | 1326215877000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1627 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | favicon broken |
On thedatahub.org the favicon doesn't display. i.e. the CKAN logo should appear in the browser's tab. Original ticket #48 |
1326207102000000 | 1326890614000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1628 | defect | dread | ckan-sprint-2012-02-06 | closed | wontfix | get ckanext-dgu working with ckan 1.5.1 |
johnglover said: I can confirm that even with the mapping fix, the ckanext-dgu dgu_form plugin template does not work properly with 1.5.1, so should probably not be installed at present. The edit page is ugly but should work (eg: http://dgu-os.okfn.org/dataset/edit/abandoned-vehicles), but the 'add a dataset' page is broken (eg: http://dgu-os.okfn.org/dataset/new) |
1326214762000000 | 1328526967000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1629 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | permissions changed during upgrade to 1.5.1 |
This was seen on datacatalogs. When we upgraded it 1.5 to 1.5.1 we saw some permissions being reset so that it could be spammed. Anonymous and logged in users were given anon_editor and editor permissions. I don't know what the previous config was. Permissions for sysadmins remain unaffected. |
1326215162000000 | 1326823222000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1640 | enhancement | amercader | dread | closed | fixed | Setup publicdata.eu harvester for Serbian CKAN datasets |
Set-up publicdata.eu to harvest datasets at rs.ckan.net (Serbian community CKAN). |
1326370425000000 | 1327340939000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1646 | defect | zephod | dread | ckan-sprint-2012-01-23 | closed | worksforme | Resource navigator options display spuriously |
When viewing a dataset, the "Resources" navigation button contained the Resource titles on the Resource navigator button, instead of in a drop-down mouse-hover menu. |
1326452700000000 | 1327407044000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1651 | enhancement | johnglover | dread | closed | fixed | Explicit link mapper |
In this commit https://github.com/okfn/ckan/commit/1772a5c John Glover set map.explicit=True in ckan/config/routing.py. The reason this was done was to avoid links collecting parameters. e.g. if you were on page /dataset/{id}/resource/{resource_id} then by default all the links on that page generated by url_for (Routes) would include the id and resource_id parameters as well. To avoid this, you had to go through all the links and add id=None and resource_id=None to the url_for parameters. When map.explicit was changed to True, the value of the controller, action, id and any parameters were no longer automatically carried over into the generated links for the page. So previously links within the same controller didn't need to specify the controller (for example), but now they did. So when we did this we also had to fix up links that weren't explicit:
John made the config change on 5/11/2011 which was merged to master https://github.com/okfn/ckan/commit/5a01e67 21/11/2011. The related fixes mentioned were in within the same week. This all went into release 1.5.1. The requirement |
1326709852000000 | 1326711005000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1659 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | Cannot logout if CKAN mounted at non-root url |
If you set WSGIScriptAlias to mount CKAN at a URL other than / then you cannot logout without adjusting the OpenID logged_out_url to match in who.ini config. e.g.
Note: all the other URLs in who.ini should not have the /sub/dir/ - it is just this one that doesn't take account of the mounting point. The solution is to fix-up the repoze.who OpenID plugin to take account of the mounting point. |
1326716302000000 | 1326747205000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1661 | defect | dread | ckan-backlog | assigned | Wrong Routes version installed by CKAN package |
Jaakko Louhio reported that the wrong Routes version got installed during CKAN's package install. He is using Ubuntu 10.04 and he believes it install Routes 1.12.3 instead of what we use which is 1.11. |
1326718061000000 | 1339773949000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1662 | defect | dread | closed | wontfix | OpenID not compatible with mounting CKAN at non-root URL |
Mounting CKAN at a non-root URL was made to work properly here: #1659 Unfortunately OpenID doesn't play nicely and would require some work to get working. |
1326730366000000 | 1326730414000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1668 | defect | dread | ckan-backlog | new | repoze version discrepency |
There's a discrepency in repoze.who versions between the source and package installs:
We get a test failure [1] with the 1.0b3 version (from the ubuntu 10.04 python-repoze.who-plugins package). But we've not noticed any problems on s057 instances (br, no, ie etc) which have the package versions of repoze.who. The reason the package install uses the earlier packaged versions rather than the ones we'd like is that repoze uses all sorts of horrendous import hacks, making it too difficult to put into our 'ckan-conflict' source package. James suggests we 'do something horrible like dynamically patch repoze on CKAN import'. [1] http://buildbot.okfn.org/builders/builder-ckan/builds/1371/steps/shell/logs/stdio ERROR: ckan.tests.functional.test_user.TestUserController?.test_user_create_unicode |
1326801746000000 | 1326801746000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1679 | enhancement | dread | ckan-backlog | new | Default roles problem |
The 'editor', 'anon_editor' and 'reader' roles are intended to have immutable actions. This was designed to prevent their names being subverted - e.g. an editor should always be able to edit! It also meant that when we add Actions (e.g. DELETE-PACKAGE) then it can be added sensibly to these roles in an upgrade just by changing the defaults table (ckan/model/authz.py). The problem is that this immutability is only enforced on 'db upgrade'. So you can happily change the editor role using the paster command and it works, right up until you do an upgrade and realise permissions are different. We should stop the paster commands being able to edit these roles. Or get rid of the immutability completely. Views? |
1326823042000000 | 1339773923000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1682 | enhancement | dread | dread | ckan-v1.6 | closed | duplicate | [super] Translatability for EC |
We need to be able to translate:
Timescale to complete this - Mar/Apr?. Related work to interface with:
|
1326911899000000 | 1330038786000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1683 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | Dataset search results - last item out of order |
On each page of package search results, all the items are neatly sorted apart from the last item of the page. SOLR gets the sorting of the results incorrect. This is a known issue: https://issues.apache.org/jira/browse/SOLR-1777 affecting SOLR 1.4 only (which comes with Ubuntu 10.04) It is highlighted in CKAN test ckan/tests/functional/test_pagination.py:TestPaginationPackage of commit 39096ed54bda86d043521b08b2e14fc5e283a0ff which fails most of the time it is run (passes intermittently). |
1326971864000000 | 1326976925000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1688 | enhancement | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | API for changing the permissions on an object |
We need an API for changing the authorization (permissions) on a model object. This was neglected in #1253 because of various changes to authz were looming. But six months later it still hasn't been done. Suggest this is just moving _add_user_object_role from ckan/lib/base.py to the logic layer, but no doubt it will be more complicated. Estimate: 3 days |
1327061809000000 | 1328289101000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1689 | enhancement | kindly | dread | assigned | List deleted datasets in API |
The admin extension allows deleted datasets to be viewed, but there is no equivalent in the API. The package_list API call filters to just 'state=active' datasets. 'state' could be a parameter on the package_list call
|
1327062214000000 | 1340190040000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1695 | enhancement | dread | dread | closed | fixed | Relationships - improvements |
Suggested by Richard Cyganiak in http://lists.okfn.org/pipermail/ckan-discuss/2012-January/001977.html
|
1327323280000000 | 1330085001000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1708 | defect | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | SOLR configuration lost |
The SOLR url, user and password defined in the CKAN config file are ignored and the default SOLR url is used. This causes:
To reproduceThis bug is only visible if your SOLR instance is not at the default place. To quickly reproduce this problem, setup your machine as a SOLR multicore instance and run: "paster db clean && paster create-test-data && paster serve development.ini". It quits with the error: "solr.core.SolrException?: HTTP code=400, reason=Missing solr core name in path" Code affected
|
1327493428000000 | 1327580995000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1709 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | Simple_search fails with all packages |
The home page always shows the total number of packages as 0, because the query is '*:*' and SQL search doesn't know how to handle it. Also, simple_search configuration is not documented. Also, no tests for sql search. |
1327498366000000 | 1327659722000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1710 | enhancement | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | 'Announce' email list for thedatahub |
We want to make email announcements to users of thedatahub.org. The most simple way to do this is to get a dump of the email addresses and subscribe/invite them to a mailman list. Different ways to do it:
Something more advanced in the future could be:
|
1327579259000000 | 1327583922000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1718 | defect | aron.carroll | dread | closed | fixed | Deprecated JS properties used |
I get this warning when viewing the home page: event.layerX and event.layerY are broken and deprecated in WebKit. They will be removed from the engine in the near future. CKAN: latest master Browser: Chrome Ubuntu Minor, but worth checking? |
1327665842000000 | 1340703280000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1719 | defect | rgrp | dread | ckan-sprint-2012-02-06 | closed | fixed | Broken links for non-Gravatar use icons - 0.25d |
Super ticket: #1506 e.g. http://thedatahub.org/user The users with Gravatar have their nice user icons, but the majority of users (without Gravatars) have 'broken link' symbols. Same problem wherever users are shown, such as the dataset history pages. Broken on 1.5.2b - currently on thedatahub.org. |
1327938788000000 | 1328541630000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1725 | defect | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | Tag autocompletion and commas don't mix |
If you use tag autocompletion, it automatically adds a comma after the tag. This is fine if you are going to add another tag, but not fine if it is the last one. If you don't manually remove the final comma than you get form validation error "Tag string: Tag "" length is less than minimum 2" Affects only version 1.5.2a. |
1328006709000000 | 1328204489000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1735 | enhancement | zephod | dread | ckan-sprint-2012-02-20 | closed | wontfix | "Unsaved changes" warning briefly when you click "Save" |
Super ticket #1744 If you edit a dataset, simply add a tag and click on "Save" then you get the message "You have unsaved changed. Make sure to click 'Save Changes' below before leaving this page." inserted whilst the submission takes place. (This is because the click moves focus away from the tag field). This (reasonably common) edge-case could usefully be squashed. Also note typo: "unsaved changed" |
1328009420000000 | 1328609804000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1783 | defect | dread | dread | ckan-sprint-2012-02-20 | closed | fixed | Locale change exception when unicode in URL |
If the current page URL has unicode in it (e.g. u'/tag/biocombust\xedveis') then I'm not sure how why it isn't more encoded, but we are seeing links such as http://beta.dados.gov.br/dados/locale?locale=hu&return_to=/dados/tag/biocombust%C3%ADveis&hash=7fd941b5ba1a28bc84406c4191bf07b45a42a251 which cause an exception when the foreign character is passed to ckan.lib.hash.get_message_hash(). |
1328611485000000 | 1328612744000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1787 | enhancement | dread | ckan-future | new | [super] Improve RESTful API |
This could be v3 of the RESTful interface. |
1328702082000000 | 1328702082000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1790 | enhancement | dread | ckan-future | new | Click to delete tags, rather than have all existing tags in the tag text box |
From Pablo: Editing the tags field is clumsy when there are too many tags. Could show existing effectively as tags (like delicious), then allow clicks to delete. New tags added via text box. |
1328888674000000 | 1328888674000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1791 | defect | dread | dread | ckan-sprint-2012-02-20 | closed | fixed | Changing locale on /dataset/new causes exception |
When you are on the /dataset/new page and you try and change locale then you get a 500 error. This is because it adds the 'cache' parameter, to ensure any proxy cache in the chain does not just send the cached page. |
1329134556000000 | 1329138315000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1796 | enhancement | ross | dread | ckan-future | closed | fixed | Get rid of lxml dependency |
lxml is used in CKAN core in two places:
Both of these could be done with xml.dom built into Python and would save us a sizeable and slightly problematic dependency. lxml is needed by these extensions: ckanext-inspire, ckanext-harvest, ckanext-csw & ckanext-wordpresser, so we'd have to add this to their requirements. |
1329244440000000 | 1340635557000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1798 | defect | dread | closed | fixed | API search in non-q fields has exception for unicode characters |
You get an exception if you use the API to search packages and specify a non-ascii character in a field other than q. For example: http://catalogue.data.gov.uk/api/search/package?title=%E2%80%93 This "N-dash" (Unicode character 2013) causes this exception: Module ckan.controllers.api:460 in search << if ver in u'12': # Otherwise, put all unrecognised ones into the q parameter params = convert_legacy_parameters_to_solr(params) query = query_for(model.Package) results = query.run(params) >> params = convert_legacy_parameters_to_solr(params) Module ckan.lib.search.query:38 in convert_legacy_parameters_to_solr << for search_key in non_solr_params: value_obj = legacy_params[search_key] value = str(value_obj).replace('+', ' ') if search_key == 'all_fields': if value: >> value = str(value_obj).replace('+', ' ') UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 30: ordinal not in range(128) This problem affects CKAN 1.5 and 1.5.1 only. |
1329395420000000 | 1329395560000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1799 | defect | dread | dread | ckan-sprint-2012-03-05 | closed | fixed | To login as a different user or register, you need to logout first |
When you are logged in, you cannot login as a different user before first logging out. (This is a restricting in repoze.who, which gives priority to an existing recognised identity over another one you supply.) Yet, the CKAN login form appears when you try to do something you're not allowed to, even if you are logged in already. You login with a different identity and nothing happens - you remain as the first identity - this is incorrect. (It is also a little confusing to be sent to the log-in page, although we do have a flash message explaining, and you might want to relogin as a superuser if you can.) Whilst in this area, it would be worth fixing the problem for developers where you are logged in, do "paster db clean" and then try to log in - AuthTkt? recognises your old cookie but the User object doesn't exist, so you get an error logging in. In this instance we should tell people to log-out. |
1329402820000000 | 1330002176000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1801 | enhancement | dread | ckan-backlog | closed | fixed | No links to password reset |
You can reset your password (#1186) but you have to know the URI (/user/reset) - there is no link to this page! |
1329405290000000 | 1343144718000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1802 | enhancement | dread | dread | ckan-sprint-2012-03-05 | closed | fixed | Investigate CKAN deployment on Windows |
See how possible it is to run CKAN on a Windows server. Plan:
|
1329409512000000 | 1329830097000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1804 | defect | toby | dread | ckan-sprint-2012-03-05 | closed | fixed | CKAN mounted at URL - changing language problem |
e.g. http://189.9.137.65/dados/ clicking on Deutsch link is http://189.9.137.65/dados/locale?locale=de&return_to=%2Fdados%2F&hash=1dc17c315c419df850da0dd3599eefa9da76fbeb and redirect goes to http://189.9.137.65/dados/dados/?__cache=97995106 so /dados/dados/ when it should be /dados. Affects CKAN 1.6b only (not yet released). |
1329484956000000 | 1330347185000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1827 | enhancement | dread | ckan-backlog | new | 'Register' link should be hidden if you not allowed to register |
I have just deny visitors the create-user permission: sudo -u ckanstd paster --plugin=ckan roles deny reader create-user -c /etc/ckan/std/std.ini sudo -u ckanstd paster --plugin=ckan roles deny anon_editor create-user -c /etc/ckan/std/std.ini and after restarting, the register link is *not* hidden, but now when you access the register page, it shows you this message "Unauthorized to create a user" (when not logged in). But anyway that is an improvement. |
1329924939000000 | 1339773730000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1829 | defect | dread | dread | ckan-sprint-2012-03-05 | closed | fixed | Changing back to English prints the flash message in the previous non-English language |
On the homepage click "francais" and then "English". The flash message reads "Le langage a été fixé à: français" when it should say "The language is now: English". |
1330000660000000 | 1330001990000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1830 | enhancement | dread | dread | ckan-sprint-2012-03-05 | closed | fixed | OpenID disablable |
Allow OpenID to be disabled as a login option. Currently (CKAN 1.6) there is a config option openid_enabled which stops the login option being displayed, but:
|
1330002137000000 | 1330089912000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1832 | enhancement | dread | ckan-backlog | assigned | dataset purge API |
Purging datasets (deleting them fully, not just changing the state to 'deleted') is important for users testing dataset creation over the API on a test CKAN instance. Without this, they need to resort to more difficult methods such as:
Requested for NHSIC. Implementation
|
1330077745000000 | 1339773706000000 |