{22} Trac tickets (2647 matches)
Results (401 - 500 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#401 | task | pudo | pudo | closed | fixed | Provide base worker as queue consumer |
We should create and document a basic queue consumer and task processor for CKAN. It will connect to the CKAN update queue, read messages and dispatch them to a consumer function (such as a downloader or an analysis app) |
1281018724000000 | 1286189243000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#402 | task | pudo | pudo | ckan-v1.3 | closed | duplicate | Archiving worker to back up package resources from a CKAN instance |
Write a worker that scans all packages in a ckan instance and uploads the data to storage.ckan.net or another suitable storage system.
The caching worker will consumer update notifications and fetch packages. Extra points for:
|
1281018912000000 | 1296467635000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#403 | requirement | pudo | closed | fixed | Create web service for OFS storage |
Create a thin web service that will allow users to upload files to OFS on S3 without knowing S3 credentials. This could also provide static urls for all stored resources.
|
1281346110000000 | 1287392451000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#404 | requirement | rgrp | pudo | datapkg-0.8 | closed | fixed | Make registries pluggable |
Allow using different indexes, including ckan, file, dcat, ... |
1281346690000000 | 1297072955000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#405 | task | rgrp | rgrp | datapkg-0.8 | closed | fixed | Retrieval options for package resources |
Download Command (was install command) should support the following modes:
|
1281346806000000 | 1297214833000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#406 | requirement | pudo | rgrp | datapkg-0.8 | closed | fixed | Download sub-system |
Factor out current downloader into dedicated download subpackage, abstract interface and make it pluggable so we can have downloaders loaded as per type of resource to download.
And we should support interactive retrieving of resources ... Implementation Ideasfor resources in pkg.resources: # datapkg/hg load_storage_handler(resource.format) |
1281346822000000 | 1296467427000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#407 | requirement | dread | closed | wontfix | Link to Scraperwiki |
As auser browsing a CKAN package which has a resource in a bad format I want tobe alerted to the possibility of scraping it on scraperwiki ImplementationThis should be done in a CKAN extension. It should appear in a side-bar on the package read page. If the package does not have a resource with scraperwiki.com in the url, then it displays this message:
Title: Scrape it |
1281348368000000 | 1330769956000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#408 | requirement | pudo | pudo | ckan-v1.2 | closed | fixed | Integrate CMS via proxying |
Why: CMS are great at creating content and have very good editors and theme support ... Previous workhttp://groups.google.com/group/pylons-discuss/browse_thread/thread/f8969e28b0a007c7
http://knowledgeforge.net/shakespeare/hg/file/677eef9402e6/shakespeare/controllers/template.py
Extreme version:
1 frontend/proxy app which re-themes everything Owned by CKAN:
Everything else proxied. |
1281348581000000 | 1281609572000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#409 | task | rgrp | rgrp | datapkg-0.8 | closed | fixed | Refactor cli to be more 'pluggable' |
|
1281348659000000 | 1297074197000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#410 | requirement | pudo | pudo | ckan-v1.2 | closed | fixed | Latest comments widget on home page |
This would be an extension to the disqus plugin that would patch itself into home/index. |
1281348733000000 | 1281619720000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#411 | requirement | pudo | pudo | ckan-v1.2 | closed | fixed | Deploy and test Varnish on eu3 |
|
1281349275000000 | 1287393033000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#412 | requirement | johnbywater | closed | fixed | Data format for package importing shall be documented |
Requirements:
|
1281430809000000 | 1289822092000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#413 | task | johnbywater | johnbywater | ckan-v1.3 | closed | invalid | Write functional tests for DGU caching | 1281431633000000 | 1294407458000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#414 | task | johnbywater | dread | ckan-v1.2 | closed | fixed | Change the Apache and Varnish ports |
Ask Paul for a new machine for testing. Then one for varnish-live and one for varnish-test. |
1281431639000000 | 1288003770000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#415 | task | dread | ckan-v1.2 | closed | fixed | Chase Talis about loading RDF from CKAN. | 1281431656000000 | 1288003954000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#416 | task | johnbywater | dread | ckan-v1.2 | closed | fixed | Meet Evan at COI at 1 o'clock Tuesday 10th August 2010 (to progress Forms API) | 1281431677000000 | 1281529736000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#418 | task | dread | closed | invalid | With COI, get SOLR working | 1281431691000000 | 1291637919000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#419 | task | johnbywater | johnbywater | ckan-v1.2 | closed | fixed | Meet Paul at COI at 2 o'clock Tuesday 10th August 2010 | 1281431794000000 | 1281529739000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#420 | task | dread | dread | ckan-v1.2 | closed | fixed | Release ckan 1.1 | 1281432518000000 | 1281522091000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#421 | task | dread | dread | ckan-v1.2 | closed | fixed | Upgrade test-hmg.ckan.net to latest ckan 1.1 | 1281432541000000 | 1282909772000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#422 | story | dread | ckan-v1.3 | closed | fixed | Administrator imports meta-data into CKAN |
Requirements:
|
1281433490000000 | 1292586586000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#423 | task | dread | johnbywater | closed | fixed | Add examples to documentation about uploading data | 1281435260000000 | 1282812768000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#424 | task | dread | dread | ckan-v1.2 | closed | fixed | Tell JF the format spec & examples | 1281436534000000 | 1282919429000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#425 | task | johnbywater | johnbywater | ckan-v1.2 | closed | fixed | Document how licenses can be configured in CKAN | 1281436551000000 | 1281605524000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#426 | task | dread | dread | ckan-v1.2 | closed | fixed | Ask list for suggestions improving API docs | 1281436574000000 | 1282925305000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#427 | task | thejimmyg | dread | ckan-v1.4-sprint-3 | closed | fixed | Match licenses from GEMINI document |
|
1281436611000000 | 1299164063000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#428 | requirement | dread | ckan-v1.2 | closed | fixed | Daily dump of DGU CKAN available |
End users want to get hold of a JSON & CSV dump of the DGU data. |
1281703251000000 | 1285757316000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#429 | requirement | dread | ckan-v1.2 | closed | fixed | ONS data is imported daily to DGU | 1281703294000000 | 1285757274000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#430 | task | thejimmyg | pudo | closed | wontfix | Upgrade CKAN to Pylons 1.0 |
Pylons 1.0 has been out for a while and appears to be running stable on a few production sites. It also introduces a few new features, among them the ability to specifiy controllers using the entrypoint mechanism. http://bitbucket.org/pudo/ckanextdeliverance/src/tip/ckanext/deliverance/pylonspatch.py This might be a bit ugly since the default behaviour of some pylons objects, such as tmpl_context, app_globals and redirect has changed. |
1281962485000000 | 1298283075000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#431 | task | pudo | pudo | closed | wontfix | Solr index testing tool |
There seem to be a few conditions under which either queue processing or the indexer fail in their current state. To get a more systematic picture of these failures, we should have a small testing tool to compare the index to the database of a live CKAN instance. |
1281963532000000 | 1295260262000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#432 | defect | dread | dread | ckan-v1.2 | closed | fixed | Creating package over REST gives 500 error |
This occurs when CKAN is run with mod_wsgi (not under paster). This is because of a unicode header being creating in rest.py. |
1282065101000000 | 1282552819000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#433 | defect | wwaites | datapkg-0.8 | closed | fixed | Data package metadata in the Egg |
Still not sure if we shouldn't use the existing setuptools machinery to manage this -- there is already a way to get at the metadata. In any event, I've just made an addition to datapkg that makes it possible to put datapkg_sources as a dictionary in your package's setup.py. Afterwards it is possible to pull the metadata out of the egg. Of course this could easily be changed to save the information in whatever form, indeed if you pass it a string instead of a dictionary it will just write whatever you gave it into the datapkg_sources.spec. The point is, I think that the egg is a good place to stuff this information. For non-python users, it is always possible to simply put up the datapkg_sources.spec somewhere on the web so they can directly retrieve the data files. From the docstring:: This is the implementation for an [egg_info.writers] entrypoint. Datapkg adds an argument to setuptools's setup() function called datapkg_sources. The argument should be a dictionary of the form: .. code-block:: python setup( ..., datapkg_sources = { "cra2009" : "http://www.hm-treasury.gov.uk/d/cra_2009_db.csv" } ) The result of this is that there will be a file in the egg called datapkg_sources.spec that looks like this:: [sources] cra2009=http://www.hm-treasury.gov.uk/d/cra_2009_db.csv How do you get at this data? Simple:: .. code-block:: python import pkg_resources dist = pkg_resources.get_distribution("ukgov_treasury_cra") spec = dist.get_metadata("datapkg_sources.spec") and 'spec' will be the contents of the file as a string. |
1282078660000000 | 1283183647000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#434 | defect | dread | ckan-v1.2 | closed | fixed | Logged in user to si.ckan.net causes genshi exception |
Here's the trace: [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] Error - <type 'exceptions.IndexError'>: list index out of range [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] mod_wsgi (pid=6195): Exception occurred processing WSGI script '/home/okfn/var/srvc/si.ckan.net/py env/bin/si.ckan.net.py'. [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] Traceback (most recent call last): [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/paste/cascade.py", line 130, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return self.apps[-1](environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/paste/registry.py", line 375, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] app_iter = self.application(environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/repoze/who/middleware.py ", line 107, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] app_iter = app(environ, wrapper.wrap_start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/pylons/middleware.py", l ine 214, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] self.app, new_environ, catch_exc_info=True) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/pylons/util.py", line 94 , in call_wsgi_application [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] app_iter = application(environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/weberror/errormiddleware .py", line 156, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return self.application(environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/beaker/middleware.py", l ine 73, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return self.app(environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/beaker/middleware.py", l ine 152, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return self.wrap_app(environ, session_start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/routes/middleware.py", l ine 130, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] response = self.app(environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/pylons/wsgiapp.py", line 125, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] response = self.dispatch(controller, environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/pylons/wsgiapp.py", line 324, in dispatch [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return controller(environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/src/ckan/ckan/lib/base.py", line 73, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return WSGIController.__call__(self, environ, start_response) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/pylons/controllers/core. py", line 221, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] response = self._dispatch_call() [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/pylons/controllers/core. py", line 172, in _dispatch_call [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] response = self._inspect_call(func) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/pylons/controllers/core. py", line 107, in _inspect_call [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] result = self._perform_call(func, args) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/pylons/controllers/core. py", line 60, in _perform_call [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return func(**args) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/src/ckan/ckan/controllers/error.py", line 32, in doc ument [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] ckan_template = render('error_document_template.html') [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/src/ckan/ckan/lib/base.py", line 38, in render [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return render_template() [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/src/ckan/ckan/lib/base.py", line 36, in render_templ ate [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return literal(stream.render(method=method, encoding=None)) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/core.py", line 18 3, in render [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return encode(generator, method=method, encoding=encoding, out=out) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/output.py", line 57, in encode [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] return _encode(''.join(list(iterator))) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/output.py", line 339, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for kind, data, pos in stream: [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/output.py", line 670, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for kind, data, pos in stream: [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/output.py", line 771, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for kind, data, pos in chain(stream, [(None, None, None)]): [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/output.py", line 586, in __call__ [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for ev in stream: [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/core.py", line 288, in _ensure [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for event in stream: [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/template/base.py", line 618, in _include [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for event in tmpl.generate(ctxt, **vars): [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/template/base.py", line 618, in _include [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for event in tmpl.generate(ctxt, **vars): [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/template/base.py", line 605, in _include [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for event in stream: [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/template/markup.py", line 327, in _match [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for event in stream: [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/template/base.py", line 545, in _flatten [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for kind, data, pos in stream: [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/filters/i18n.py", line 177, in _generate [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] for event in msgbuf.translate(gettext(msgbuf.format())): [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/filters/i18n.py", line 1029, in translate [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] parts = parse_msg(string) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] File "/home/okfn/var/srvc/si.ckan.net/pyenv/lib/python2.5/site-packages/genshi/filters/i18n.py", line 1143, in parse_msg [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] parts.append((stack[-1], string)) [Wed Aug 18 11:10:19 2010] [error] [client 89.212.104.197] IndexError: list index out of range ckan: 1e403927f2bb (metastable) genshi: 0.6 lang: slovenian |
1282130515000000 | 1283189807000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#435 | defect | thejimmyg | dread | ckan-v1.4 | closed | wontfix | Switching between ckan instances causes orphaned postgres processes |
Analysis using pg_top reveals orphaed processes: https://trac.dataco.coi.gov.uk/projects/datagov/ticket/460#comment:6 This followed switching ckan instances on the dgu machine. Do these hang around forever clogging up a db server? Can switching between instances be smoothed to avoid this? |
1282147736000000 | 1298284084000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#436 | bug | dread | ckan-v1.2 | closed | wontfix | Investigate exception: resource search JSON |
Here's the dump from 22:10 last night: URL: http://ckan.net/api/search/resource?all_fields=1&offset=0&limit=20&qjson=%3Cspan%20class= Module weberror.errormiddleware:162 in call << traceback_supplement = Supplement, self, environ
Module beaker.middleware:73 in call << self.cache_manager)
Module beaker.middleware:152 in call << headers.append(('Set-cookie', cookie))
Module routes.middleware:130 in call << environSCRIPT_NAME? = environSCRIPT_NAME?[:-1]
Module pylons.wsgiapp:125 in call <<
Module pylons.wsgiapp:324 in dispatch << if log_debug:
Module ckan.lib.base:73 in call << # available in environpylons.routes_dict?
Module pylons.controllers.core:221 in call << return response(environ, self.start_response)
Module pylons.controllers.core:172 in _dispatch_call << req.environpylons.action_method? = func
Module pylons.controllers.core:107 in _inspect_call << func.name, args)
Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method"""
Module ckan.controllers.rest:400 in search << response.status_int = 400
Module simplejson:384 in loads << parse_constant is None and object_pairs_hook is None
Module simplejson.decoder:402 in decode << """
Module simplejson.decoder:420 in raw_decode << obj, end = self.scan_once(s, idx)
JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0) CGI Variables DOCUMENT_ROOT '/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, application/json' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_ACCEPT_LANGUAGE 'en-us,en;q=0.5' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE 'utma=27730403.1245320310.1281386803.1281386803.1282164955.2; utmz=27730403.1282164955.2.2.utmcsr=jira|utmccn=(referral)|utmcmd=referral|utmcct=/browse/PLATFORM-892; utmb=27730403.3.10.1282164955; utmc=27730403' HTTP_HOST 'ckan.net' HTTP_KEEP_ALIVE '300' HTTP_REFERER 'http://jira/browse/PLATFORM-892' HTTP_USER_AGENT 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7' PATH '/usr/local/bin:/usr/bin:/bin' PATH_INFO '/api/search/resource' PATH_TRANSLATED '/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py/api/search/resource' QUERY_STRING 'all_fields=1&offset=0&limit=20&qjson=%3Cspan%20class=' REMOTE_ADDR '64.235.97.218' REMOTE_PORT '20720' REQUEST_METHOD 'GET' REQUEST_URI '/api/search/resource?all_fields=1&offset=0&limit=20&qjson=%3Cspan%20class=' SCRIPT_FILENAME '/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py' SCRIPT_URI 'http://ckan.net/api/search/resource' SCRIPT_URL '/api/search/resource' SERVER_ADDR '10.226.226.118' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.net' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2 Server at ckan.net Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0xa1c13ec> beaker.cache <beaker.cache.CacheManager? object at 0xa1c142c> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0xa1c12ac>> beaker.session {'_accessed_time': 1282165818.0880959, '_creation_time': 1282165818.0880959} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.listener_host mod_wsgi.listener_port '80' mod_wsgi.process_group mod_wsgi.reload_mechanism '0' mod_wsgi.script_reloading '1' mod_wsgi.version (2, 5) paste.cookies (<SimpleCookie: __utma='27730403.1245320310.1281386803.1281386803.1282164955.2' __utmb='27730403.3.10.1282164955' __utmc='27730403' __utmz='27730403.1282164955.2.2.utmcsr=jira|utmccn=(referral)|utmcmd=referral|utmcct=/browse/PLATFORM-892'>, 'utma=27730403.1245320310.1281386803.1281386803.1282164955.2; utmz=27730403.1282164955.2.2.utmcsr=jira|utmccn=(referral)|utmcmd=referral|utmcct=/browse/PLATFORM-892; utmb=27730403.3.10.1282164955; utmc=27730403') paste.parsed_querystring ([('all_fields', '1'), ('offset', '0'), ('limit', '20'), ('qjson', '<span class=')], 'all_fields=1&offset=0&limit=20&qjson=%3Cspan%20class=') paste.registry <paste.registry.Registry object at 0x130ed84c> paste.throw_errors True pylons.action_method <bound method RestController?.search of <ckan.controllers.rest.RestController? object at 0xe9bbe0c>> pylons.controller <ckan.controllers.rest.RestController? object at 0xe9bbe0c> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0xe9bbe8c> pylons.routes_dict {'action': u'search', 'controller': u'rest', 'register': u'resource'} repoze.who.logger <logging.Logger instance at 0xa3cb0cc> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 170067148>, 'auth_tkt': <AuthTktCookiePlugin? 171739788>} routes.route <routes.route.Route object at 0xa102fac> routes.url <routes.util.URLGenerator object at 0x13a5a3cc> webob._parsed_query_vars (GET([('all_fields', '1'), ('offset', '0'), ('limit', '20'), ('qjson', '<span class=')]), 'all_fields=1&offset=0&limit=20&qjson=%3Cspan%20class=') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x12f53530> wsgiorg.routing_args (<routes.util.URLGenerator object at 0x13a5a3cc>, {'action': u'search', 'controller': u'rest', 'register': u'resource'}) |
1282206959000000 | 1288003983000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#437 | bug | dread | ckan-v1.2 | closed | fixed | Buildbot test failures - ascii codec |
On today's buildbot: http://buildbot.okfn.org/builders/buildbot-test/builds/201 2 failures about ascii (ignore other 2) |
1282223640000000 | 1288004009000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#438 | requirement | dread | dread | ckan-v1.3 | closed | invalid | Data importers use minimal processing |
e.g. ONS importer |
1282224383000000 | 1294661079000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#439 | task | dread | closed | fixed | Plan server requirements for DGU |
Using use cases for security etc. Draw diagram to satisfy use cases. Communicate to Paul and therefore TSO. |
1282224452000000 | 1294413903000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#440 | task | dread | dread | closed | duplicate | Write and pass comprehensive performance tests |
Run latest ckan on eu0. Automate some queries and searches. Check load and database connections / processes. |
1282226932000000 | 1294417436000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#441 | requirement | dread | dread | ckan-v1.3 | closed | duplicate | CKAN read-only state |
When performing maintenance on CKAN it may be necessary to make CKAN obviously read-only, telling the users and restricting access to 'edit' pages. Examples of use:
|
1282227314000000 | 1292586309000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#442 | requirement | dread | dread | ckan-v1.3 | closed | worksforme | Importing data |
Review what chunks of code we have and how to move forward with requirements. Requirements:
Possible future requirements:
Current importers:
Modules
|
1282228977000000 | 1294661028000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#443 | task | dread | dread | ckan-v1.2 | closed | fixed | Get DGU daily dump working (local) |
|
1282299046000000 | 1282735977000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#444 | task | dread | closed | duplicate | Discuss package relationships ideas with JF |
|
1282299238000000 | 1294414008000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#445 | task | johnbywater | johnbywater | ckan-v1.2 | closed | fixed | Add dumps to DGU SLA |
Thinking about putting something like this: Dumps Interface (this is NOT going in the API, it is another interface of the service):
|
1282299380000000 | 1283250620000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#446 | task | dread | closed | invalid | Server configuration query (?) |
|
1282299385000000 | 1294414077000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#447 | task | memespring | johnbywater | closed | fixed | Presentation on Package edit form (labels IE7, horiz alignment in chrome) |
Follow up with NS and RP. |
1282299423000000 | 1311182895000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#448 | story | thejimmyg | dread | closed | invalid | [Assist with] editing packages through Drupal | 1282299478000000 | 1294417061000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#449 | task | wwaites | johnbywater | closed | invalid | Start email thread about RDF in CKAN with JF and WW | 1282299482000000 | 1311182945000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#450 | task | dread | closed | fixed | Assist with proxying of static media for forms |
John did this a while ago. |
1282299573000000 | 1287997487000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#451 | task | dread | dread | ckan-v1.3 | closed | invalid | Show/Allow only departments associated with user |
Use drupal api |
1282299641000000 | 1292587233000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#452 | task | dread | closed | fixed | Assist with using package update error form | 1282299647000000 | 1287997540000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#453 | task | thejimmyg | johnbywater | closed | invalid | Analysis and planning for UKLII | 1282299725000000 | 1294411374000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#454 | story | dread | dread | ckan-v1.2 | closed | fixed | Import ONS data via API | 1282299851000000 | 1286376044000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#455 | task | johnbywater | closed | invalid | SOLR - suggest 1 pager about how system would work |
Either CKAN writes to SOLR and Drupal reads from SOLR, or CKAN writes to SOLR and Drupal reads SOLR via CKAN API (so search resource locations are unaffected). |
1282299913000000 | 1291637172000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#456 | story | johnbywater | dread | ckan-v1.2 | closed | duplicate | Daily dump | 1282299917000000 | 1282665858000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#457 | story | dread | dread | ckan-v1.2 | closed | fixed | Dump database on a daily basis | 1282299921000000 | 1282909051000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#458 | task | rgrp | johnbywater | closed | wontfix | Request to DGU for access to database machine | 1282299950000000 | 1294415537000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#459 | bug | johnbywater | ckan-v1.2 | closed | fixed | Versions on branches are broken | 1282299973000000 | 1282921783000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#460 | defect | pudo | johnbywater | closed | fixed | State field changed by non-sysadmin |
This package: http://ckan.net/package/dbtune-audioscrobbler was:
(According to the logs, at this point the state was changed from 'active' to 'deleted') -- RP was it set to 'deleted' or just ?
Similarly an incident with bibbase package where field set to (see http://ckan.net/revision/diff/bibbase?diff=702bb0a3-03b7-49ac-87ad-e489c414962f&oldid=5447842d-b6ed-41d9-9cfd-8bb73b85c409) Need to investigate how this got changed, fix if necessary and report back to Richard. Note that package 'admins' as well as sysadmins can change the state of a package (though note that bibbase did not appear to have an owner). Suggested solution (for setting to ):
|
1282300002000000 | 1311176868000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#461 | task | dread | johnbywater | ckan-v1.2 | closed | fixed | Change ONS data importing to work via API |
|
1282303411000000 | 1283250478000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#462 | story | dread | johnbywater | ckan-v1.2 | closed | fixed | Visitor downloads a daily database dump | 1282305305000000 | 1285757238000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#463 | defect | dread | ckan-v1.3 | closed | worksforme | package diff exception |
Investigate exception: URL: http://ckan.net/revision/diff/dbtune-audioscrobbler?diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c 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:73 in __call__ << # available in environ['pylons.routes_dict'] try: return WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> return WSGIController.__call__(self, environ, start_response) Module pylons.controllers.core:221 in __call__ << return response(environ, self.start_response) response = self._dispatch_call() if not start_response_called: self.start_response = start_response >> response = self._dispatch_call() Module pylons.controllers.core:172 in _dispatch_call << req.environ['pylons.action_method'] = func response = self._inspect_call(func) else: if log_debug: >> response = self._inspect_call(func) Module pylons.controllers.core:107 in _inspect_call << func.__name__, args) try: result = self._perform_call(func, args) except HTTPException, httpe: if log_debug: >> result = self._perform_call(func, args) Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method""" __traceback_hide__ = 'before_and_this' return func(**args) def _inspect_call(self, func): >> return func(**args) Module ckan.controllers.revision:119 in diff << c.revision_to = model.Session.query(model.Revision).get( request.params.getone('diff')) diff = pkg.diff(c.revision_to, c.revision_from) c.diff = diff.items() c.diff.sort() >> diff = pkg.diff(c.revision_to, c.revision_from) Module ckan.model.package:340 in diff << display_id = to_obj_rev.tag.name elif obj_class.__name__ == 'PackageExtra': display_id = to_obj_rev.key else: display_id = related_obj_id[:4] >> display_id = to_obj_rev.key AttributeError: 'NoneType' object has no attribute 'key' CGI Variables AUTH_TYPE 'cookie' DOCUMENT_ROOT '/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.3' HTTP_ACCEPT_ENCODING 'gzip' HTTP_ACCEPT_LANGUAGE 'en-US,en;q=0.8' HTTP_CACHE_CONTROL 'max-age=0' HTTP_COOKIE '__utmz=27730403.1281000628.1.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=ckan; auth_tkt="e919c7bb40f890a0184ed7be95465e1a4c6d130bhttp://pudo.org/!"; auth_tkt="e919c7bb40f890a0184ed7be95465e1a4c6d130bhttp://pudo.org/!"; __utma=27730403.1381387877.1281962773.1282248244.1282250173.11; __utmc=27730403; __utmb=27730403.6.10.1282250173' HTTP_HOST 'ckan.net' HTTP_REFERER 'http://ckan.net/package/history/dbtune-audioscrobbler' HTTP_USER_AGENT 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/6.0.490.1 Safari/534.6' PATH '/usr/local/bin:/usr/bin:/bin' PATH_INFO '/revision/diff/dbtune-audioscrobbler' PATH_TRANSLATED '/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py/revision/diff/dbtune-audioscrobbler' QUERY_STRING 'diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c' REMOTE_ADDR '92.226.62.168' REMOTE_PORT '55102' REMOTE_USER 'http://pudo.org/' REMOTE_USER_TOKENS [''] REQUEST_METHOD 'GET' REQUEST_URI '/revision/diff/dbtune-audioscrobbler?diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c' SCRIPT_FILENAME '/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py' SCRIPT_URI 'http://ckan.net/revision/diff/dbtune-audioscrobbler' SCRIPT_URL '/revision/diff/dbtune-audioscrobbler' SERVER_ADDR '10.226.226.118' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.net' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2 Server at ckan.net Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2' WSGI Variables application <beaker.middleware.CacheMiddleware object at 0xbb528cc> beaker.cache <beaker.cache.CacheManager object at 0xbb528ec> beaker.get_session <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0xbb5286c>> beaker.session {'_accessed_time': 1282252047.603267, '_creation_time': 1282252047.603267} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.listener_host '' mod_wsgi.listener_port '80' mod_wsgi.process_group '' mod_wsgi.reload_mechanism '0' mod_wsgi.script_reloading '1' mod_wsgi.version (2, 5) paste.cookies (<SimpleCookie: __utma='27730403.1381387877.1281962773.1282248244.1282250173.11' __utmb='27730403.6.10.1282250173' __utmc='27730403' __utmz='27730403.1281000628.1.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=ckan' auth_tkt='e919c7bb40f890a0184ed7be95465e1a4c6d130bhttp://pudo.org/!'>, '__utmz=27730403.1281000628.1.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=ckan; auth_tkt="e919c7bb40f890a0184ed7be95465e1a4c6d130bhttp://pudo.org/!"; auth_tkt="e919c7bb40f890a0184ed7be95465e1a4c6d130bhttp://pudo.org/!"; __utma=27730403.1381387877.1281962773.1282248244.1282250173.11; __utmc=27730403; __utmb=27730403.6.10.1282250173') paste.parsed_querystring ([('diff', '66a47b9e-232a-4838-8674-66fa1a5c76e1'), ('oldid', 'a99c98be-767a-4e49-9025-2472b2d18b9c')], 'diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c') paste.registry <paste.registry.Registry object at 0xf702aec> paste.throw_errors True pylons.action_method <bound method RevisionController.diff of <ckan.controllers.revision.RevisionController object at 0xf6eaf0c>> pylons.controller <ckan.controllers.revision.RevisionController object at 0xf6eaf0c> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext object at 0xf6eaa8c> pylons.routes_dict {'action': u'diff', 'controller': u'revision', 'id': u'dbtune-audioscrobbler'} repoze.who.identity <repoze.who identity (hidden, dict-like) at 280815340> repoze.who.logger <logging.Logger instance at 0xbcdfccc> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin 196612236>, 'auth_tkt': <AuthTktCookiePlugin 198048140>} routes.route <routes.route.Route object at 0xbbc44cc> routes.url <routes.util.URLGenerator object at 0xf5e55ec> webob._parsed_query_vars (GET([('diff', '66a47b9e-232a-4838-8674-66fa1a5c76e1'), ('oldid', 'a99c98be-767a-4e49-9025-2472b2d18b9c')]), 'diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0xfe0b0b0> wsgiorg.routing_args (<routes.util.URLGenerator object at 0xf5e55ec>, {'action': u'diff', 'controller': u'revision', 'id': u'dbtune-audioscrobbler'}) |
1282306037000000 | 1294916148000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#464 | task | rgrp | dread | closed | duplicate | Request dgu db server access | 1282306104000000 | 1282325194000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#465 | requirement | johnbywater | ckan-v1.3 | closed | wontfix | Require API key for all API requests. | 1282308904000000 | 1294411534000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#466 | requirement | dread | johnbywater | ckan-v1.3 | closed | wontfix | Name of HTTP header for API key shall be configurable | 1282308995000000 | 1294835610000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#467 | story | johnbywater | ckan-v1.3 | closed | duplicate | Admin configures CKAN to expect API key in named HTTP header | 1282310562000000 | 1294411681000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#468 | task | johnbywater | johnbywater | ckan-v1.2 | closed | fixed | Default config file has commented out configuration variable | 1282310659000000 | 1283250799000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#469 | task | johnbywater | ckan-v1.2 | closed | fixed | Unit test to check API key in correctly named HTTP header is accepted by server | 1282310760000000 | 1282932682000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#470 | task | dread | johnbywater | ckan-v1.3 | closed | fixed | Adjust API key's HTTP header name on DGU "live" and "test" | 1282310854000000 | 1292587187000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#471 | story | johnbywater | ckan-v1.2 | closed | API user sends API key in correctly named header | 1282312088000000 | 1283248729000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#472 | story | johnbywater | ckan-v1.2 | closed | API user sends API key in incorrectly named header | 1282312108000000 | 1282932740000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#473 | story | johnbywater | ckan-v1.2 | closed | API user discovers correct header for sending API key | 1282312203000000 | 1283248736000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#474 | task | dread | dread | closed | wontfix | Questions related to fi.ckan.net |
Several questions to answer (and see file in email). To respond to the Finnish team and copy all Q&A to the ckan-discuss list. 1 ) I have played with two different datasets to get the metadata from those imported to CKAN. The other dataset is in PCAXIS format and other one is in Excel format. Please find the scripts + sample files attached in a zip file that contains instructions too to run the scripts. I looked at import scripts written in object oriented manner and getdata samples in CKAN but it was easier for me too write these from scratch (copied the unicrap function from CKAN samples). If I run the PCAXIS import script I get Unicode decode error (see errors file). When I use the unicrap function then the error does not appear in logs. I assume this is some Python environment setting issue. Of course I would like to run the script without unicrap function to get scandic letter imported correctly to ckan(and displayed in WUI). In Excel case there is no scandic letter issue which is kind of strange but this probably relates how the Excel library handles encoding. To be honest the whole unicode/encoding/decoding issue has been quite difficult to deal with and debug. I hope I would get proper environment configuration to handle scandic letters. 2 ) It seem in CKAN by default the localisation file contains 462 strings. The transifex link Rufus sent contains 400 strings. Is transifex the one we should use as localisation file ? Where are the rest 62 strings then fetched from or are they needed at all. I have found that as I have been using the .po file coming in CKAN source (which has API translations too) this also causes similar unicode problems when an error in API occurs (the API error messages containing scandic letters provide the similar UnicodeDecoding? errors as mentioned above). So, it seems the unicode issues appear in various cases. Maybe a proper environment settings will be able to prevent also these problems... If transifex is the one to use I can prepare it and maybe then you could upload it to fi.ckan.net as there will be also other people checking the translations. To run the test and see the API translation errors especially in pcaxis case I would recommend to install attached FI translations to your environment and include lang = fi configuration. It looks like the API errors does not come when running default lang = en. 3 ) Is it possible to change the license selection/options available in license field drop-down ? Where are these located and can these be modified locally ? 4) It looks like the values stored in package extra fields are not searchable. Is this intentional ? It looks more or less that all other fields can be searched using free-text search in CKAN. 5) How package dependencies are defined and managed ? For instance we want to import some packages in a manner that the other package is a child package of another. Does API support this and/or is this possible to do in WUI ? Best Regards, Henri |
1282312255000000 | 1294916760000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#475 | task | johnbywater | ckan-v1.2 | closed | fixed | Unit test to check API key in incorrectly named HTTP header is not accepted by server | 1282312802000000 | 1282932705000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#476 | requirement | johnbywater | ckan-v1.3 | closed | wontfix | Daily database dumps shall be discoverable and downloadable | 1282313433000000 | 1294411741000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#477 | story | johnbywater | ckan-v1.3 | closed | duplicate | Discover location of the daily database dumps | 1282313788000000 | 1294411761000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#478 | task | johnbywater | ckan-v1.2 | closed | fixed | Unit test for "interface resource" in API |
We don't want /api to be an HTML page, but rather provide information about the API in a JSON structure. |
1282315067000000 | 1283248713000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#479 | task | dread | johnbywater | ckan-v1.2 | closed | fixed | Suggest DGU presents database dumps through front end | 1282324365000000 | 1288004211000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#480 | requirement | thejimmyg | johnbywater | ckan-v1.4 | closed | fixed | Catalogue service shall conform to specification |
Common requirements for running CKAN behind a (e.g Wordpress or Drupal) front-end:
|
1282422612000000 | 1300281551000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#481 | story | johnbywater | ckan-v1.3 | closed | fixed | Unrestricted total read-only access to catalogue API | 1282422697000000 | 1294248359000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#482 | story | thejimmyg | johnbywater | ckan-backlog | closed | wontfix | API Rate Limiting | 1282422756000000 | 1298284158000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#483 | story | johnbywater | closed | invalid | Restricted total read-write access to catalogue Web UI | 1282422801000000 | 1294417216000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#484 | story | johnbywater | closed | invalid | Restricted partial read-write access to catalogue Web UI | 1282422858000000 | 1294417248000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#485 | story | johnbywater | closed | duplicate | Performance beats QoS criteria | 1282425219000000 | 1294411946000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#486 | requirement | johnbywater | ckan-v1.3 | closed | duplicate | Catalogue service shall notify and query SOLR service | 1282425790000000 | 1291639321000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#487 | story | johnbywater | closed | duplicate | Notify SOLR service of model events | 1282425910000000 | 1291639404000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#488 | requirement | johnbywater | closed | wontfix | Catalogue service shall notify RDF service | 1282426021000000 | 1320930240000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#489 | story | wwaites | johnbywater | closed | fixed | Notify RDF service of model events | 1282426051000000 | 1294416189000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#490 | requirement | johnbywater | closed | fixed | The system shall support registering a harvest source via the CKAN API | 1282426875000000 | 1286200804000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#491 | story | johnbywater | ckan-v1.2 | closed | Get form for creating harvest source entity | 1282427008000000 | 1284493173000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#492 | story | johnbywater | ckan-v1.2 | closed | Submit harvest source create form response to the API | 1282427042000000 | 1284493145000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#493 | story | johnbywater | ckan-v1.2 | closed | Get harvest source entity | 1282427083000000 | 1284493130000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#494 | story | johnbywater | ckan-v1.2 | closed | Get form for updating remote metadata entity | 1282427106000000 | 1285198894000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#495 | story | johnbywater | ckan-v1.2 | closed | Put form for updating remote metadata entity | 1282427150000000 | 1285198898000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#496 | requirement | wwaites | johnbywater | ckan-v1.4-sprint-2 | closed | fixed | Provide a mechanism for exporting GEMINII metadata via a CSW interface | 1282427307000000 | 1299164106000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#497 | story | johnbywater | johnbywater | closed | duplicate | Respond to CSW "GetRecords" request | 1282427334000000 | 1294407718000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#498 | story | johnbywater | closed | invalid | Search packages within location "bounding box" | 1282427412000000 | 1294412520000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#499 | story | thejimmyg | johnbywater | closed | wontfix | Registration and management of UKLII related code lists, controlled vocabularies and other forms of reference/static data | 1282432571000000 | 1296593038000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#500 | defect | dread | ckan-v1.2 | closed | duplicate | Exception from diff |
Investigate exception occured occasionally in last couple of days on ckan.net: WebApp Error: <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'key' URL: http://ckan.net/revision/diff/dbtune-audioscrobbler?diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c 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:73 in __call__ << # available in environ['pylons.routes_dict'] try: return WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> return WSGIController.__call__(self, environ, start_response) Module pylons.controllers.core:221 in __call__ << return response(environ, self.start_response) response = self._dispatch_call() if not start_response_called: self.start_response = start_response >> response = self._dispatch_call() Module pylons.controllers.core:172 in _dispatch_call << req.environ['pylons.action_method'] = func response = self._inspect_call(func) else: if log_debug: >> response = self._inspect_call(func) Module pylons.controllers.core:107 in _inspect_call << func.__name__, args) try: result = self._perform_call(func, args) except HTTPException, httpe: if log_debug: >> result = self._perform_call(func, args) Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method""" __traceback_hide__ = 'before_and_this' return func(**args) def _inspect_call(self, func): >> return func(**args) Module ckan.controllers.revision:119 in diff << c.revision_to = model.Session.query(model.Revision).get( request.params.getone('diff')) diff = pkg.diff(c.revision_to, c.revision_from) c.diff = diff.items() c.diff.sort() >> diff = pkg.diff(c.revision_to, c.revision_from) Module ckan.model.package:340 in diff << display_id = to_obj_rev.tag.name elif obj_class.__name__ == 'PackageExtra': display_id = to_obj_rev.key else: display_id = related_obj_id[:4] >> display_id = to_obj_rev.key AttributeError: 'NoneType' object has no attribute 'key' CGI Variables DOCUMENT_ROOT '/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_ENCODING 'gzip' HTTP_ACCEPT_LANGUAGE 'zh-cn,zh-tw' HTTP_CONNECTION 'close' HTTP_HOST 'ckan.net' HTTP_USER_AGENT 'Baiduspider+(+http://www.baidu.com/search/spider.htm)' PATH '/usr/local/bin:/usr/bin:/bin' PATH_INFO '/revision/diff/dbtune-audioscrobbler' PATH_TRANSLATED '/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py/revision/diff/dbtune-audioscrobbler' QUERY_STRING 'diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c' REMOTE_ADDR '123.125.66.32' REMOTE_PORT '63767' REQUEST_METHOD 'GET' REQUEST_URI '/revision/diff/dbtune-audioscrobbler?diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c' SCRIPT_FILENAME '/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py' SCRIPT_URI 'http://ckan.net/revision/diff/dbtune-audioscrobbler' SCRIPT_URL '/revision/diff/dbtune-audioscrobbler' SERVER_ADDR '10.226.226.118' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.net' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2 Server at ckan.net Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2' WSGI Variables application <beaker.middleware.CacheMiddleware object at 0x9f603ec> beaker.cache <beaker.cache.CacheManager object at 0x9f6042c> beaker.get_session <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x9f602ac>> beaker.session {'_accessed_time': 1282385101.4243281, '_creation_time': 1282385101.4243281} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.listener_host '' mod_wsgi.listener_port '80' mod_wsgi.process_group '' mod_wsgi.reload_mechanism '0' mod_wsgi.script_reloading '1' mod_wsgi.version (2, 5) paste.cookies (<SimpleCookie: >, '') paste.parsed_querystring ([('diff', '66a47b9e-232a-4838-8674-66fa1a5c76e1'), ('oldid', 'a99c98be-767a-4e49-9025-2472b2d18b9c')], 'diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c') paste.registry <paste.registry.Registry object at 0x104552ec> paste.throw_errors True pylons.action_method <bound method RevisionController.diff of <ckan.controllers.revision.RevisionController object at 0xfb17aec>> pylons.controller <ckan.controllers.revision.RevisionController object at 0xfb17aec> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext object at 0x10286d4c> pylons.routes_dict {'action': u'diff', 'controller': u'revision', 'id': u'dbtune-audioscrobbler'} repoze.who.logger <logging.Logger instance at 0xa16e0cc> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin 167584972>, 'auth_tkt': <AuthTktCookiePlugin 169253516>} routes.route <routes.route.Route object at 0x9f3690c> routes.url <routes.util.URLGenerator object at 0xfd8d7cc> webob._parsed_query_vars (GET([('diff', '66a47b9e-232a-4838-8674-66fa1a5c76e1'), ('oldid', 'a99c98be-767a-4e49-9025-2472b2d18b9c')]), 'diff=66a47b9e-232a-4838-8674-66fa1a5c76e1&oldid=a99c98be-767a-4e49-9025-2472b2d18b9c') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x103a5bf0> wsgiorg.routing_args (<routes.util.URLGenerator object at 0xfd8d7cc>, {'action': u'diff', 'controller': u'revision', 'id': u'dbtune-audioscrobbler'}) |
1282553033000000 | 1287747652000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#501 | requirement | pudo | ckan-v1.2 | closed | duplicate | Read-only maintenance mode |
CKAN should have a read-only maintenance mode with a nice little banner on all pages, appropriate REST messages etc. Bonus points if this is triggered via an environment variable and thus can be triggered by the surrounding apache. |
1282554617000000 | 1282724566000000 |