{22} Trac tickets (2647 matches)
Results (101 - 200 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1550 | enhancement | ross | ckan-backlog | assigned | Allow simple auth via the API |
It should be possible to pass userid/username and api key and obtain a response from CKAN for external services that use CKAN auth. Those services shouldn't be talking to the DB directly. |
1324049369000000 | 1346670055000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1557 | enhancement | David Rasnik | jilly mathews | ckan-future | new | Complete Webstore Preview Extension |
Finish any work out standing on web store preview extension to be able to package and release. Ref James and I going through existing features and trying to mention any polishing that needed doing to get exiting features ready for release with projects such as CKAN hosted. |
1324291253000000 | 1324291253000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1558 | enhancement | David Raznik | jilly mathews | ckan-future | new | Publisher Tools |
Summarise final set of requirements for this and finish development and test. Estimated 10 working days. |
1324291573000000 | 1324291573000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1560 | enhancement | David Raznik | jilly mathews | ckan-future | new | Follow extension |
Estimate 2 days to finish dev and test. David can you add any info needed here? |
1324291879000000 | 1324291879000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1561 | enhancement | David Raznik | jilly mathews | ckan-future | new | To do extension |
Can we finish this ready for release on data hub and CKAN Hosted. |
1324291972000000 | 1324291972000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1562 | enhancement | Adria | jilly mathews | ckan-future | new | Finish Geo Spatial |
Estimated 4 weeks of Adria's time. I guess this will need to be broken down into more tickets. This feature is being requested by a number of potential customers and we have some ideas of requirements between Rufus and Jilly for this. This is the most popular new feature we talk about to new clients. |
1324292193000000 | 1324292193000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1564 | enhancement | David Raznik | jilly mathews | ckan-future | new | Structured Data (Data API) |
Basic websotre exists but this may be not what is described yet. CKAN provides a rich API for the data itself, allowing users to query retrieve and use data instantly from datasets in CKAN without needing to download or process it first. |
1324292834000000 | 1324292834000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1565 | enhancement | Rufus Pollock | jilly mathews | ckan-future | new | Admin dashboard finished? |
Is testing complete and ready for release? |
1324293092000000 | 1324293092000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1567 | enhancement | David Raznik | jilly mathews | ckan-future | new | Finish QA extension |
Requires change to celeryd. Estimated 4 weeks. |
1324293599000000 | 1324293599000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1569 | enhancement | David Raznik | jilly mathews | ckan-future | new | Wordpressser |
How much effort will this be to be ready to use? |
1324294056000000 | 1324294056000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1571 | enhancement | rgrp | jilly mathews | ckan-backlog | assigned | [super] Issues Extension |
"Proper" issues extension. Overview
Steps
|
1324294225000000 | 1330863183000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1572 | enhancement | David Raznik | jilly mathews | ckan-future | new | Meta data Harvester |
Need to write custom harvesters for each client. Is it worth having one for data hub? |
1324294509000000 | 1324294509000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1573 | enhancement | David Raznik | jilly mathews | ckan-future | new | Apps and Ideas |
Estimate 2 weeks for someone to finish and test. |
1324294593000000 | 1324294593000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1578 | enhancement | rgrp | ckan-backlog | new | [super] Re-enable and refactor ratings | 1324322443000000 | 1325473015000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1581 | enhancement | mark.wainwright@… | johnglover | ckan-future | new | Blog post about Google Analytics extension for CKAN |
The CKAN Google Analytics extension has been updated to work with the latest version of CKAN, could make for a nice blog post. Can ping John Glover in January for any details required. Key link is: http://thedatahub.org/analytics/dataset/top though this should probably move to be under stats (e.g. http://thedatahub.org/stats/usage) |
1324402800000000 | 1325474274000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1584 | enhancement | johnglover | johnglover | ckan-backlog | new | QA report improvements - 2.5d |
Super: #1594
|
1324459433000000 | 1338981975000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1588 | enhancement | johnglover | johnglover | ckan-backlog | new | QA - Give SPARQL endpoints a 4 star rating |
Super: #1594 From Richard Cyganiak on the CKAN Discuss list: Besides considering the media type of resources, it would also make sense to check for the presence of a SPARQL endpoint. SPARQL endpoints are recorded for more than 300 datasets on the Data Hub using the pseudo-type "api/sparql". A few more are recorded with the format "SPARQL". I suggest that datasets with such resources should also be considered for the fourth star. |
1324480405000000 | 1325475178000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1589 | enhancement | johnglover | johnglover | ckan-backlog | new | QA - Give 5 star rating to datasets with link metadata |
Super: #1594 From Richard Cyganiak on the CKAN Discuss list: Regarding the fifth star (is the dataset linked to others?). This cannot be automatically determined just by looking at the format. It either requires inspection of the actual data, or information about links in the metadata. As you're probably aware, we've established conventions for recording information on data links in CKAN [1], as part of the work of the lodcloud group on the Data Hub. Link information is captured for hundreds of datasets. I would claim that we have the majority of four-star datasets covered there, and hence you can determine if they should get the fifth star by checking for the presence of a links:xxx field. |
1324480600000000 | 1325475095000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1596 | enhancement | dread | ckan-future | new | Refactor authz roles |
Suggestions from rgrp:
(This ticket is split off from #1065) |
1324549888000000 | 1338205019000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1598 | enhancement | rgrp | ckan-backlog | new | Reinstate Ratings |
Ratings were disabled approximately a year ago because:
Both problems are solvable and it would be nice to have this feature reinstated.
|
1325177524000000 | 1325474818000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1635 | enhancement | seanh | seanh | ckan-backlog | new | Email notifications (e.g. for activity streams) |
CKAN should be able to send email notifications to users. Maybe have a notifications table in the db, and a server-side job that runs periodically and consumes rows from this table, mailing them to the users. One thing that we may want to send users notifications of is activity stream events. So the activity streams code would have to add rows to the notifications table for the mailer job to consume. But remember that email notifications feature is separate from activity streams - we may want to send notifications of other things as well. Need to implement (at least some of) #1634 before this can be implemented, in order to have something to send notifications about. Analysis here: http://ckan.okfnpad.org/27 |
1326304587000000 | 1355141157000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1642 | defect | pudo | ckan-backlog | new | Extra link generators generate garbled HTML |
I had a package descriptions with URLs that contain "group:foo". This produces garbled output as the system tries to generate two sets of links: the outer link and an inner link. Need to fix the parser. Text: Webdienst basierende Bereitstellung von Geobasisdaten der Freien und Hansestadt Hamburg. Folgende Geobasisdaten werden als WebMapTileService? (WMT-S) für die Dauer des Wettbewerbs netzbasiert unter der Creative Commons Lizenz zur Verfügung gestellt: Digitale Orthophotos 40 cm Auflösung (Layer: apps4d_DOP40), Digitale Stadtkarte (Layer: apps4d_DISK), Digitale Regionalkarte (Layer: apps4d_DIRK), Digitale Karte 1:5000 (Layer: apps4d_DK5). Metadateneinträge zu den Daten im PortalU:
One fix is quoting the URLs |
1326382171000000 | 1339773967000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1643 | enhancement | shevski | ckan-backlog | new | Add fixed tags to thedatahub for better browsing |
Similar to publicdata.eu, want to have themed areas such as finance, environment, census, etc and country tags |
1326393293000000 | 1326393293000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1644 | enhancement | shevski | ckan-backlog | new | Order default dataset page by most downloaded resources on thedatahub |
Instead of alphabetically as we do currently, alternatively by most viewed datasets |
1326393542000000 | 1326393542000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1647 | enhancement | shevski | ckan-backlog | new | add links to ckan discuss & dev to thedatahub |
In the footer as well as more clearly & directly on the About page |
1326673852000000 | 1326707383000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1652 | enhancement | kindly | ross | ckan-backlog | assigned | How we intergrate with Drupal Multiligual? |
|
1326709894000000 | 1340187535000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1667 | enhancement | seanh | seanh | ckan-future | new | Add an extension point for rendering activity streams |
Currently rendering of activity stream events to HTML works by looking up a rendering function in a dictionary that maps activity types ('new package', 'changed group', etc.) to rendering functions that take an activity stream event and return the rendered HTML. There needs to be an extension point where extensions can register their own rendering functions for particular activity types. |
1326796151000000 | 1338204295000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1684 | enhancement | ross | ckan-backlog | assigned | Remove all config from ckanext-archiver |
ckanext-archiver currently has a settings file (and a default) and it should be passed in all relevant information from the context. Remove all settings (ARCHIVE_DIR and MAX_CONTENT_LENGTH and others) and pass them in from CKAN. |
1326983821000000 | 1346670037000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1697 | enhancement | rgrp | ckan-backlog | new | A Configurable list of states for a Dataset |
Currently have 'active' and 'deleted' suggest also:
(Do we need both). Also write out workflows related to these. |
1327400630000000 | 1338204189000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1717 | enhancement | shevski | ckan-backlog | new | [super] Search UX improvements |
|
1327603981000000 | 1330088539000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1740 | enhancement | seanh | ckan-future | new | Get rid of `from module import ...` |
It's really bad to do from module import * and CKAN has a lot of them. I suggest a three-pronged approach:
We should also get rid of most or all of the from module import foo and from module import foo, bar statements. I think the right thing to do is just import module and then use module.foo in your code. But if you find yourself doing module.foo.bar then you may have a code smell. |
1328094369000000 | 1328094884000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1745 | enhancement | rgrp | ckan-v1.9 | new | Dataset search UX improvements as of Jan 2012 |
Changes to make search both more exploratory and more satisfying to use
Probably would involve to pure JS and HTML implementation. ImplementationProbably require
|
1328224941000000 | 1340033358000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1747 | enhancement | seanh | ckan-backlog | new | Expire old activities |
Currently the activity streams database tables just get longer and longer over time. Do we want to eventually delete the oldest activities, to keep the length of the table within limits? |
1328446589000000 | 1339773859000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1748 | enhancement | seanh | seanh | ckan-future | new | Make activity streams conform to http://activitystrea.ms/ standard |
At the very least we should make our JSON output conform to their spec: |
1328450784000000 | 1338204337000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1749 | enhancement | seanh | ckan-future | assigned | Allow creating activity details through API |
Currently the activity_create() logic action function only lets you create top-level activity stream items, and not their related activity details. It should handle activity details via nested dicts. |
1328465406000000 | 1338213933000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1750 | enhancement | seanh | ckan-backlog | new | Move ckan/lib/activity.py into the model |
Move ckan/lib/activity.py moved to into the model - say ckan/model/activity_extension.py, because it's so tightly knit with the model code, whereas most of the lib code is used in the controllers. |
1328465888000000 | 1339773840000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1778 | enhancement | seanh | seanh | ckan-future | assigned | Replace classmethod's with module-level functions |
In many places we have @classmethods where simple module-level functions would do (and would be more idiomatic in Python), e.g. the get() classmethods in the model/ classes. Doing it with module functions lets us type module.function() instead of module.Class.method(). In many cases we're importing classes directly with from module import Class and then doing Class.method(), but from module import foo is bad style: http://docs.python.org/dev/howto/doanddont.html |
1328543614000000 | 1340623743000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1782 | enhancement | zephod | rgrp | ckan-future | new | Improvements to datasets page UX (Feb 2012) |
|
1328609441000000 | 1338205232000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1785 | enhancement | seanh | seanh | ckan-v1.9 | accepted | Replace 'Revisions' page with site-wide activity stream |
Replace the /revision page with a /activity page showing a site-wide activity stream of all activities in the site. Or perhaps the site-wide activity stream can go somewhere on the front page of the site instead? |
1328632458000000 | 1340724312000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1787 | enhancement | dread | ckan-future | new | [super] Improve RESTful API |
This could be v3 of the RESTful interface. |
1328702082000000 | 1328702082000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1789 | enhancement | seanh | ckan-backlog | new | Implement a tag_update() logic action function |
So users can rename a tag and/or move it between vocabularies using the API. Currently we have create_tag() and delete_tag(), but if you were to 'update' a tag by deleting it and then recreating it all the datasets that had that tag will have lost it and you'll have to re-add it to them all. What should happen to datasets that have the tag, if the tag gets moved between vocabularies? All the datasets just keep the tag with the new vocabulary? This will become a problem if/when we support 'radio button'-style vocabularies (where each dataset can only have one tag from the vocabulary). |
1328805413000000 | 1339773812000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1800 | refactor | seanh | ckan-future | new | Tidy up *_list() and *_search() functions in ckan/logic/action/get.py |
For consistency all the *_list() functions should list objects only and not accept an optional search query. There should be *_search() functions whenever search is needed. Currently it is inconsistent, e.g. package_list() and resource_list() do not accept a search query option and there are package_search() and resource_search(), but user_list() does accept a query and there is no user_search(). tag_list() also accepts a query, and there is also a tag_search() that apparently duplicates the search functionality. |
1329405129000000 | 1338204886000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1815 | task | amercader | amercader | ckan-future | new | Reenable Sparql endpoint on publicdata.eu |
Estimate: ? The 4store Sparql endpoint has been down for a long time. It needs to be reenabled and we need to check that the necessary informtion is pushed when creating /editing a dataset. |
1329757723000000 | 1338204641000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1818 | enhancement | amercader | amercader | ckan-future | new | Spatial metadata editor |
Estimate 2.5d Right now users need to manually enter a geojson value in the 'spatial' extra field in order to define a geometry for a dataset. We need a map widget on the edit form that allows users to draw the geometry on top of a map. This will be based on the draw functions offered by OpenLayers? [1], [2]. Things to take into account:
[1] http://openlayers.org/dev/examples/draw-feature.html [2] http://openlayers.org/dev/examples/modify-feature.html |
1329763941000000 | 1338203195000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1823 | enhancement | rgrp | ckan-backlog | new | Spring clean bin directory |
Huge number of accumulated (and likely unnecessary) scripts in /bin directory. |
1329773331000000 | 1338203554000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1824 | enhancement | seanh | ckan-future | new | Add vocabulary pages |
For a free tag foo you can visit the page at /tag/foo and see a list of all the datasets that have the tag foo, and when the tag appears on dataset view pages etc. it's linked to this tag page. We should do the same thing for vocabulary tags. A tag bar in vocabulary baz should be hyperlinked to a page /tag/baz/bar, or perhaps /vocab/baz/bar. |
1329845089000000 | 1338204958000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1831 | enhancement | ross | ckan-backlog | assigned | Login with email address |
Users should be able to log in using either their username, or their email address, both of which are unique. Will require a change to UsernamePasswordAuthenticator? in ckan.lib.authenticator.py and possible a useful User.by_email in the user model if it doesn't already exist. |
1330073906000000 | 1346670504000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2197 | defect | zydio | ckan-backlog | assigned | Storage Metadata API: add/update not working with local file storage (Pairtree) |
If OFS is configured with Pairtree to use a local file storage, all POST requests to add/update metadata ( /api/storage/metadata/{label} ) will fail. This is due to the use of BotoOFS specific private methods in StorageAPIController.set_metadata(), eg: self.ofs._require_bucket(bucket), self.ofs._get_key(b, label), self.ofs._update_key_metadata(k, metadata) ... those methods can't be found in POTFS and this causes errors. The API should use only OFSInterface methods, or should conditionally make calls based off the actual type of self.ofs. PS: I did set "ckan" as "Component" in the ticket because storage has been integrated back into the core in CKAN 1.6 |
1330421377000000 | 1346662128000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2200 | enhancement | seanh | seanh | ckan-future | new | Add vocabulary_id option to tag_show() logic action function |
Currently tag_show() only works with free tags, it's not possible to get a tag_show for a vocabulary tag. |
1330533678000000 | 1338204900000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2203 | enhancement | kindly | rgrp | ckan-v1.9 | assigned | Data Viewer support for PDF |
|
1330860293000000 | 1348568961000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2234 | enhancement | seanh | ckan-future | assigned | Write a CKAN extension for pulling items from RSS/Atom feeds into CKAN templates |
You configure the extension with some RSS and/or Atom feeds, it automatically reads items from these feeds and makes them available in the template context, you write a custom template to e.g. display 'news' items from a Wordpress blog on your front page. This extension might be simpler and less fragile than ckanext-wordpresser, and also more generally useful. Details
Suggested
|
1331902755000000 | 1346669567000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2235 | enhancement | rgrp | ckan-future | new | Group drop down on dataset edit should use chosen and sort groups by name | 1331907357000000 | 1338204726000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2244 | enhancement | toby | toby | ckan-future | new | clean up auth |
|
1332177771000000 | 1338205402000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2247 | enhancement | zephod | ckan-backlog | new | Resource preview glitch in some browsers |
From Ira: Preview for google spreadsheets are not displaying correctly for me in Firefox v.10.0.02, fine in Chrome. http://i.imgur.com/KJaqz.png |
1332246614000000 | 1332246614000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2257 | enhancement | toby | toby | ckan-v1.9 | new | cleanup template vars |
look at reducing what is pulled into templates eg ckan.lib.helpers ensure that these changes don't break existing extensions etc |
1332513307000000 | 1340097071000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2258 | enhancement | rgrp | ckan-future | new | Customizable contributor agreement |
|
1332751549000000 | 1338204747000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2265 | enhancement | dread | ckan-future | new | 'More Like This' for a dataset |
When viewing a dataset, it would be nice to show a couple of 'Related Datasets'. i.e. ones that are similar. SOLR has a feature for finding documents similar to a particular document, called 'More Like This'. We would like this for DGU. |
1332865220000000 | 1339771350000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2268 | enhancement | thejimmyg | amercader | ckan-backlog | new | UKLP Use same schema as form for harvested records |
Datasets created via the harvesting (UKLP ones) and the ones created via the form use a different schema. That could lead to problems. We need to discuss the best approach. |
1333108606000000 | 1333108606000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2277 | refactor | icmurray | icmurray | ckan-backlog | new | Use the new atom feeds in IATI |
Atom feeds have been implemented in core in #1593. The IATI-specific implementation can now be removed when IATI move to CKAN >= 1.6.1 |
1333386628000000 | 1333386628000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2279 | enhancement | rgrp | rgrp | ckan-v1.8 | new | Write tutorial for our DataStore API / Data Explorer |
Unfortunately ES is a little bit complex / opaque to newcomers. Need to write a simple tutorial walking through this. This is documentation / example only (no code!) |
1333482263000000 | 1338205426000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2282 | enhancement | toby | toby | ckan-future | new | log api calls for users |
This was part of #2251 but is now it's own ticket. we need clarity on this. The use cases so far have been possible limiting api calls for users. so we want to monitor the user or ip address what about the api calls? do we want to record all calls or just some? do we want to record the type of call and to what level of detail? recording the url just seems to specific to me. |
1334074725000000 | 1338210829000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2284 | enhancement | ross | ckan-backlog | assigned | Local queries/views/viz in Related stuff. |
From #2204 not sure how much we have thought through using this for storing queries / views / visualizations coming from our data viewer. In particular, wonder if this necessitates some kind of support for arbitrary json data ... ### Comments In the simplest form, right now all I need to store is store the url to the resource plus hashbang config for recline. That would be super easy ... |
1334218700000000 | 1346669513000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2287 | enhancement | seanh | ckan-future | new | Consistent datetime and time period strings localization |
Find all places where date, times and time periods are rendered as strings in CKAN. Make them all go through the same code path (e.g. the helper function in helpers.py) with localization support. For example, on the user index page right now there are time period strings like "less than 1 month" that currently do not get translated (and the way they're implemented doesn't look i18n-friendly). ISO date format everywhere might be a good idea. Need to consider local timezone issues. Python standard library and Babel may have useful helpers for this. Should the local timezone displayed be a global setting per CKAN instance? Or should it change depending on the location of the user who is viewing the page? |
1334254123000000 | 1339411445000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2291 | enhancement | kindly | rgrp | ckan-v1.9 | new | DataStorer incorrectly attempts to store JSON in DataStore |
This was marked as json format (and is JSON) but appears to have been imported as a quasi-CSV. Either this hsould not be imported at all or it should be imported as JSON ... (which is straightforward to do). Assigning to David for triage and review. |
1334431147000000 | 1340636737000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2294 | defect | kindly | rgrp | ckan-v1.9 | assigned | Unauthorized action on Data API gets 302 rather than 401 or similar |
Well known issue that 401 *in API* end up with 302 redirect to login page (which makes no sense and is very confusing for clients). Fix this by ensuring that error messsages on API get passed through correctly. Minor because affect is annoying but not terminal |
1334432104000000 | 1340624003000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2298 | enhancement | icmurray | icmurray | ckan-v1.9 | new | Add sort-by controls to the search results page |
Sort-by functionality was exposed through the package controller in [1]. But no controls were added to the search-page.
The above commit is in the release-1.6.1 branch, so this work is dependant upon release-1.6.1 from being merged into master. [1] https://github.com/okfn/ckan/commit/8685c6000d1cb211928b4dbc63990fb72d884f8c |
1334569162000000 | 1340635947000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2301 | enhancement | seanh | seanh | ckan-future | new | Replace old-style string formatting with format() method (at least in strings marked for translation) |
Some strings in CKAN are passed to gettext with more than one %s in them, this is no good as translators may need to change the order of substituted words. Strings should not use the old style % substitution, they should use the new format method in Python 2.6+, e.g.: 'This {food} is {adjective}.'.format(food='spam', adjective='absolutely horrible') http://docs.python.org/release/2.6.8/tutorial/inputoutput.html#fancier-output-formatting We should probably only change strings that are marked for translation and that contain multiple %s, don't want to make too much work or cause too many strings to change and need to be re-translated. |
1334579264000000 | 1340635812000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2310 | enhancement | icmurray | icmurray | ckan-backlog | new | Refactor the search-query construction in feeds.py |
The feeds controller, used to construct atom feeds, duplicates code found in the package controller's search action (in order to construct the custom feed). Refactor this to remove duplication. |
1334592091000000 | 1337159386000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2320 | enhancement | rgrp | ckan-v1.9 | new | Introduce new state: archived |
Some datasets become obsolete: e.g. http://datahub.io/dataset/uncdb Do not want to delete them but want them marked as archived or deprecated or something. |
1335211949000000 | 1340624119000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2321 | enhancement | rgrp | ckan-v1.9 | new | Use resource names/titles in URLs |
Would make them much nicer but requires:
|
1335236412000000 | 1340624174000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2324 | enhancement | amercader | ckan-v1.9 | new | Link API docs to relevant version not just latest |
The link to the API docs in the footer always points to the latests docs, which may not be correct for the particular CKAN version. Also, remove the 'API' link (to /api/1) as pointless and misleading |
1335351532000000 | 1345199411000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2326 | enhancement | toby | toby | ckan-future | new | dataset permalinks |
create permalinks eg \dataset\~a5-DQ\nice-name ~XXXXX defines the permalink the nice-name is ignored
Once this is implemented we can decide when we will use permalinks vs the normal urls. |
1335371946000000 | 1338212799000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2328 | enhancement | rgrp | ckan-v1.9 | new | Link to Catalog API for each Dataset, Group and Tag |
At the moment no way for a normal user to find JSON versions of this material. Would it be worth adding back a link somewhere on the page? |
1335442501000000 | 1340624331000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2329 | enhancement | rgrp | ckan 2.0 | assigned | Add back in RSS/Atom links on relevant pages |
E.g. on dataset page, on revision page, on user page and on search results. |
1335442540000000 | 1346664271000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2333 | enhancement | rgrp | ckan-v1.9 | new | Introduce new resource type datastore |
This is a resource that is *just* in the datastore. At the moment there are hacky ways to do this (create resource with meaningless URL etc) but we should do this properly:
|
1335651360000000 | 1340624473000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2334 | enhancement | kindly | rgrp | ckan-v1.9 | assigned | Improved data import |
Placeholder for thinking about this ...
|
1335651662000000 | 1340624538000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2335 | defect | seanh | seanh | ckan-v1.9 | assigned | Unicode characters don't work in CKAN ini files |
You get a UnicodeDecodeError?, looks like it tries to decode the ini file as ascii. This is a problem because someone might try to set their site description to something with an umlaut in it, for example. |
1335789726000000 | 1340624635000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2336 | enhancement | seanh | seanh | ckanbuild | accepted | Move Jenkins' install script into ckan core so it can be versioned | 1335792914000000 | 1340639637000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2337 | enhancement | seanh | seanh | ckan-v1.9 | assigned | Sort out ini file confusion in docs |
For example if you follow the source install instructions then you have development.ini, then when you go onto Post-Installation Setup it talks about std.ini. People don't realise that these files are the same. Either fix the docs or fix CKAN to use same ini file names in package and source installs/ |
1335797876000000 | 1340624600000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2341 | enhancement | seanh | seanh | ckan-v1.9 | accepted | Fix Jenkins issue when testing branches that contain model changes | 1335876396000000 | 1340639472000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2342 | enhancement | seanh | seanh | ckan-v1.9 | accepted | Fix Jenkins issue when testing branches with different solr schema versions | 1335876445000000 | 1340639494000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2348 | enhancement | ross | ckan-future | assigned | Java client library for CKAN |
Start a Java library for interacting with the CKAN Action API. Currently requires support for Groups, Tags, Resources, and Search. An example app would be very useful. |
1335879980000000 | 1346670024000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2350 | enhancement | icmurray | icmurray | ckan-v1.9 | new | Hooks in package controller for validating form data |
When the validation schema was moved from the package controller into the logic layer, the schema's role was changed from that of processing a form and validating data; to just validating data. Whilst is makes sense to have a schema for validating data as it comes in and leaves the logic layer; there's no longer the hook available to PackageController? subclasses to do form validation/processing. Add a hook into _save_new() and save_edit() prior to the logic-layer call which subclasses can then override. NB - form processing/validation *is* different to validating data. For example, many data can be inferred from a user's input; or there may be aspects of the form that need to be filled in, but do not make sense to pass as data into the logic-layer, eg. agreeing to T&Cs.
|
1335881761000000 | 1340635966000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2357 | enhancement | aron.carroll | aron.carroll | demo phase 5 | accepted | Create build script for front-end resources |
Should minify and concatenate JavaScript? and CSS as part of #2354 |
1335886181000000 | 1343220524000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2362 | enhancement | toby | kindly | ckan-v1.9 | accepted | Improve plugin documentaion, including examples. |
Improve documentation for plugins and add examples. Could use ckanext-example as a base. |
1335888791000000 | 1342085420000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2363 | enhancement | toby | kindly | ckan-v1.8 | new | Documentation of best caching practice. |
Need better documentation on best practices in making page loads faster for non logged in users. |
1335889017000000 | 1340099794000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2370 | enhancement | seanh | seanh | ckan-v1.9 | assigned | Add examples of all config settings in default config file |
The default config file should contains examples (maybe commented out) for all config variables. Makes it easier to edit the config. For example openid_enabled is not in there. |
1336042237000000 | 1340624662000000 |