{22} Trac tickets (2647 matches)
Results (701 - 800 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#1585 | enhancement | dread | closed | fixed | Security fix |
(details embargoed until 31/1/2012) |
1324473465000000 | 1340633128000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1586 | enhancement | toby | dread | ckan-v1.7 | closed | duplicate | 'Sort by' field for package search |
We default to sort packages search results by "search rank", but we can change it to be "name", "title", "metadata_modified" date, "metadata_created" date. It works in the API now, so let's have (say) a drop-down in the Web UI for this. Follows on from #191. |
1324479588000000 | 1337079419000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1591 | enhancement | icmurray | dread | ckan-sprint-2012-01-23 | closed | fixed | Upgrade CKAN 1.5 instances |
CKAN 1.5 installations need to be upgrade to 1.5.1. Working methodically through the CKANs on http://datacatalogs.org/group/ckan : At 1.5:
Other versions:
Now deleted from datacatalogs.org:
|
1324487658000000 | 1328789470000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1596 | enhancement | dread | ckan-future | new | Refactor authz roles |
Suggestions from rgrp:
(This ticket is split off from #1065) |
1324549888000000 | 1338205019000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1597 | enhancement | dread | ckan-sprint-2012-01-23 | closed | fixed | Tag search - filter by group |
I want to browse tags, but filtered for a particular group. Currently our tag API doesn't allow for filtering by group. This is important for improving groups as communities within a site #1521. It would be easy to do this by adding an option to filter by a group. BUT are there any other use cases that would warrant a more complete faceted tag search? -- BTW I can currently draw a tag cloud for a group - I can get the top tags used in a group like this: curl http://thedatahub.org/api/action/package_search -d '{"q":"groups:country-ca", "facet.field":"tags", "rows":"0"}' but it only contains the top 20 tags. |
1324550492000000 | 1326821156000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1604 | enhancement | dread | ckan-backlog | new | Get ckanext-moderatededits working with CKAN 1.5+ templates |
ckanext-moderatededits requires an old and possibly development version of CKAN. It would be good to update it for later CKAN versions. According to the README, you need CKAN from branch feature-1141-moderated-edits-ajax but the changelog suggests this branch went into version 1.4.2. So it possibly works with 1.4.2 and 1.4.3(.1). But CKAN 1.5 has revamped templates, so the genshi stream filters definitely don't work. BTW history_ajax/read_ajax calls have been deprecated in CKAN since 1.5.2a and will need fixing up to use the Action API too as part of this. |
1325352429000000 | 1325352429000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1606 | enhancement | dread | ckan-backlog | new | metadata license config option |
Add a config option to choose the metadata licence. Set default to Open Database License. Currently the dataset edit form says "Important: By submitting content, you agree to release your contributions under the Open Database License." This is hard-coded, but not suitable for when DGU uses the CKAN form - they use the OGL. |
1325501130000000 | 1339773981000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1607 | enhancement | icmurray | dread | ckan-v1.7 | closed | fixed | [super] Data.gov.uk Maintenance Refactor and UKLP Development Support |
A ticket to collect all of the changes needed for CKAN to become the 'data' tab on DGU. Design doc: https://docs.google.com/document/d/19h9bA1G4cQkv031m8jNCu6FEB3a8qpXUmdPAguM-Ofs/edit?hl=en_GB The design doc is the authoritative source of tasks. This ticket acts as a synopsis. Current sprint (2012-02-20):
Plus, brought forward from last sprint:
Overview of tasks: see the design doc. |
1325503348000000 | 1337159969000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1613 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | wontfix | Post-dataset-edit URL has #section |
Affects 1.5, 1.5.1, 1.5.2a |
1325685555000000 | 1326813924000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1623 | enhancement | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | Dump to exclude deleted objects |
The database dump currently contains all Packages and their associated objects, even those that have been set to state=deleted. We should exclude these from the dump now. Dump = paster db simple-dump-csv/json reasoningThe dumps are designed for end-users to be able to run scripts on the mass of data. Since end-users don't see state=deleted packages then they shouldn't need them in the dump. In fact their presence in the dump probably confuses them. Admins get the full database anyway in the backup pg_dump. We only included them in the user dump because it was designed before use of state=deleted was established. Time estimate: 2h |
1326118987000000 | 1326892264000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1626 | enhancement | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | 'About CKAN' page update |
thedatahub.org/about contains info that is very general to the CKAN and really quite technical. The text should be changed to be both specific to thedatahub.org and provide the context in a non-technical way. It should be easy to customise the About page to be appropriate for say new-york.ckan.net - a bit of info about who runs it, plus the general stuff about CKAN powering it and it was written by OKF to further open data. |
1326205236000000 | 1326215877000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1627 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | favicon broken |
On thedatahub.org the favicon doesn't display. i.e. the CKAN logo should appear in the browser's tab. Original ticket #48 |
1326207102000000 | 1326890614000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1628 | defect | dread | ckan-sprint-2012-02-06 | closed | wontfix | get ckanext-dgu working with ckan 1.5.1 |
johnglover said: I can confirm that even with the mapping fix, the ckanext-dgu dgu_form plugin template does not work properly with 1.5.1, so should probably not be installed at present. The edit page is ugly but should work (eg: http://dgu-os.okfn.org/dataset/edit/abandoned-vehicles), but the 'add a dataset' page is broken (eg: http://dgu-os.okfn.org/dataset/new) |
1326214762000000 | 1328526967000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1629 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | permissions changed during upgrade to 1.5.1 |
This was seen on datacatalogs. When we upgraded it 1.5 to 1.5.1 we saw some permissions being reset so that it could be spammed. Anonymous and logged in users were given anon_editor and editor permissions. I don't know what the previous config was. Permissions for sysadmins remain unaffected. |
1326215162000000 | 1326823222000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1640 | enhancement | amercader | dread | closed | fixed | Setup publicdata.eu harvester for Serbian CKAN datasets |
Set-up publicdata.eu to harvest datasets at rs.ckan.net (Serbian community CKAN). |
1326370425000000 | 1327340939000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1646 | defect | zephod | dread | ckan-sprint-2012-01-23 | closed | worksforme | Resource navigator options display spuriously |
When viewing a dataset, the "Resources" navigation button contained the Resource titles on the Resource navigator button, instead of in a drop-down mouse-hover menu. |
1326452700000000 | 1327407044000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1651 | enhancement | johnglover | dread | closed | fixed | Explicit link mapper |
In this commit https://github.com/okfn/ckan/commit/1772a5c John Glover set map.explicit=True in ckan/config/routing.py. The reason this was done was to avoid links collecting parameters. e.g. if you were on page /dataset/{id}/resource/{resource_id} then by default all the links on that page generated by url_for (Routes) would include the id and resource_id parameters as well. To avoid this, you had to go through all the links and add id=None and resource_id=None to the url_for parameters. When map.explicit was changed to True, the value of the controller, action, id and any parameters were no longer automatically carried over into the generated links for the page. So previously links within the same controller didn't need to specify the controller (for example), but now they did. So when we did this we also had to fix up links that weren't explicit:
John made the config change on 5/11/2011 which was merged to master https://github.com/okfn/ckan/commit/5a01e67 21/11/2011. The related fixes mentioned were in within the same week. This all went into release 1.5.1. The requirement |
1326709852000000 | 1326711005000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1659 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | Cannot logout if CKAN mounted at non-root url |
If you set WSGIScriptAlias to mount CKAN at a URL other than / then you cannot logout without adjusting the OpenID logged_out_url to match in who.ini config. e.g.
Note: all the other URLs in who.ini should not have the /sub/dir/ - it is just this one that doesn't take account of the mounting point. The solution is to fix-up the repoze.who OpenID plugin to take account of the mounting point. |
1326716302000000 | 1326747205000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1661 | defect | dread | ckan-backlog | assigned | Wrong Routes version installed by CKAN package |
Jaakko Louhio reported that the wrong Routes version got installed during CKAN's package install. He is using Ubuntu 10.04 and he believes it install Routes 1.12.3 instead of what we use which is 1.11. |
1326718061000000 | 1339773949000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1662 | defect | dread | closed | wontfix | OpenID not compatible with mounting CKAN at non-root URL |
Mounting CKAN at a non-root URL was made to work properly here: #1659 Unfortunately OpenID doesn't play nicely and would require some work to get working. |
1326730366000000 | 1326730414000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1668 | defect | dread | ckan-backlog | new | repoze version discrepency |
There's a discrepency in repoze.who versions between the source and package installs:
We get a test failure [1] with the 1.0b3 version (from the ubuntu 10.04 python-repoze.who-plugins package). But we've not noticed any problems on s057 instances (br, no, ie etc) which have the package versions of repoze.who. The reason the package install uses the earlier packaged versions rather than the ones we'd like is that repoze uses all sorts of horrendous import hacks, making it too difficult to put into our 'ckan-conflict' source package. James suggests we 'do something horrible like dynamically patch repoze on CKAN import'. [1] http://buildbot.okfn.org/builders/builder-ckan/builds/1371/steps/shell/logs/stdio ERROR: ckan.tests.functional.test_user.TestUserController?.test_user_create_unicode |
1326801746000000 | 1326801746000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1679 | enhancement | dread | ckan-backlog | new | Default roles problem |
The 'editor', 'anon_editor' and 'reader' roles are intended to have immutable actions. This was designed to prevent their names being subverted - e.g. an editor should always be able to edit! It also meant that when we add Actions (e.g. DELETE-PACKAGE) then it can be added sensibly to these roles in an upgrade just by changing the defaults table (ckan/model/authz.py). The problem is that this immutability is only enforced on 'db upgrade'. So you can happily change the editor role using the paster command and it works, right up until you do an upgrade and realise permissions are different. We should stop the paster commands being able to edit these roles. Or get rid of the immutability completely. Views? |
1326823042000000 | 1339773923000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1682 | enhancement | dread | dread | ckan-v1.6 | closed | duplicate | [super] Translatability for EC |
We need to be able to translate:
Timescale to complete this - Mar/Apr?. Related work to interface with:
|
1326911899000000 | 1330038786000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1683 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | Dataset search results - last item out of order |
On each page of package search results, all the items are neatly sorted apart from the last item of the page. SOLR gets the sorting of the results incorrect. This is a known issue: https://issues.apache.org/jira/browse/SOLR-1777 affecting SOLR 1.4 only (which comes with Ubuntu 10.04) It is highlighted in CKAN test ckan/tests/functional/test_pagination.py:TestPaginationPackage of commit 39096ed54bda86d043521b08b2e14fc5e283a0ff which fails most of the time it is run (passes intermittently). |
1326971864000000 | 1326976925000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1688 | enhancement | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | API for changing the permissions on an object |
We need an API for changing the authorization (permissions) on a model object. This was neglected in #1253 because of various changes to authz were looming. But six months later it still hasn't been done. Suggest this is just moving _add_user_object_role from ckan/lib/base.py to the logic layer, but no doubt it will be more complicated. Estimate: 3 days |
1327061809000000 | 1328289101000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1689 | enhancement | kindly | dread | assigned | List deleted datasets in API |
The admin extension allows deleted datasets to be viewed, but there is no equivalent in the API. The package_list API call filters to just 'state=active' datasets. 'state' could be a parameter on the package_list call
|
1327062214000000 | 1340190040000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1695 | enhancement | dread | dread | closed | fixed | Relationships - improvements |
Suggested by Richard Cyganiak in http://lists.okfn.org/pipermail/ckan-discuss/2012-January/001977.html
|
1327323280000000 | 1330085001000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1708 | defect | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | SOLR configuration lost |
The SOLR url, user and password defined in the CKAN config file are ignored and the default SOLR url is used. This causes:
To reproduceThis bug is only visible if your SOLR instance is not at the default place. To quickly reproduce this problem, setup your machine as a SOLR multicore instance and run: "paster db clean && paster create-test-data && paster serve development.ini". It quits with the error: "solr.core.SolrException?: HTTP code=400, reason=Missing solr core name in path" Code affected
|
1327493428000000 | 1327580995000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1709 | defect | dread | dread | ckan-sprint-2012-01-23 | closed | fixed | Simple_search fails with all packages |
The home page always shows the total number of packages as 0, because the query is '*:*' and SQL search doesn't know how to handle it. Also, simple_search configuration is not documented. Also, no tests for sql search. |
1327498366000000 | 1327659722000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1710 | enhancement | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | 'Announce' email list for thedatahub |
We want to make email announcements to users of thedatahub.org. The most simple way to do this is to get a dump of the email addresses and subscribe/invite them to a mailman list. Different ways to do it:
Something more advanced in the future could be:
|
1327579259000000 | 1327583922000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1718 | defect | aron.carroll | dread | closed | fixed | Deprecated JS properties used |
I get this warning when viewing the home page: event.layerX and event.layerY are broken and deprecated in WebKit. They will be removed from the engine in the near future. CKAN: latest master Browser: Chrome Ubuntu Minor, but worth checking? |
1327665842000000 | 1340703280000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1719 | defect | rgrp | dread | ckan-sprint-2012-02-06 | closed | fixed | Broken links for non-Gravatar use icons - 0.25d |
Super ticket: #1506 e.g. http://thedatahub.org/user The users with Gravatar have their nice user icons, but the majority of users (without Gravatars) have 'broken link' symbols. Same problem wherever users are shown, such as the dataset history pages. Broken on 1.5.2b - currently on thedatahub.org. |
1327938788000000 | 1328541630000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1725 | defect | dread | dread | ckan-sprint-2012-02-06 | closed | fixed | Tag autocompletion and commas don't mix |
If you use tag autocompletion, it automatically adds a comma after the tag. This is fine if you are going to add another tag, but not fine if it is the last one. If you don't manually remove the final comma than you get form validation error "Tag string: Tag "" length is less than minimum 2" Affects only version 1.5.2a. |
1328006709000000 | 1328204489000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1735 | enhancement | zephod | dread | ckan-sprint-2012-02-20 | closed | wontfix | "Unsaved changes" warning briefly when you click "Save" |
Super ticket #1744 If you edit a dataset, simply add a tag and click on "Save" then you get the message "You have unsaved changed. Make sure to click 'Save Changes' below before leaving this page." inserted whilst the submission takes place. (This is because the click moves focus away from the tag field). This (reasonably common) edge-case could usefully be squashed. Also note typo: "unsaved changed" |
1328009420000000 | 1328609804000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1783 | defect | dread | dread | ckan-sprint-2012-02-20 | closed | fixed | Locale change exception when unicode in URL |
If the current page URL has unicode in it (e.g. u'/tag/biocombust\xedveis') then I'm not sure how why it isn't more encoded, but we are seeing links such as http://beta.dados.gov.br/dados/locale?locale=hu&return_to=/dados/tag/biocombust%C3%ADveis&hash=7fd941b5ba1a28bc84406c4191bf07b45a42a251 which cause an exception when the foreign character is passed to ckan.lib.hash.get_message_hash(). |
1328611485000000 | 1328612744000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1787 | enhancement | dread | ckan-future | new | [super] Improve RESTful API |
This could be v3 of the RESTful interface. |
1328702082000000 | 1328702082000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1790 | enhancement | dread | ckan-future | new | Click to delete tags, rather than have all existing tags in the tag text box |
From Pablo: Editing the tags field is clumsy when there are too many tags. Could show existing effectively as tags (like delicious), then allow clicks to delete. New tags added via text box. |
1328888674000000 | 1328888674000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1791 | defect | dread | dread | ckan-sprint-2012-02-20 | closed | fixed | Changing locale on /dataset/new causes exception |
When you are on the /dataset/new page and you try and change locale then you get a 500 error. This is because it adds the 'cache' parameter, to ensure any proxy cache in the chain does not just send the cached page. |
1329134556000000 | 1329138315000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1796 | enhancement | ross | dread | ckan-future | closed | fixed | Get rid of lxml dependency |
lxml is used in CKAN core in two places:
Both of these could be done with xml.dom built into Python and would save us a sizeable and slightly problematic dependency. lxml is needed by these extensions: ckanext-inspire, ckanext-harvest, ckanext-csw & ckanext-wordpresser, so we'd have to add this to their requirements. |
1329244440000000 | 1340635557000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1798 | defect | dread | closed | fixed | API search in non-q fields has exception for unicode characters |
You get an exception if you use the API to search packages and specify a non-ascii character in a field other than q. For example: http://catalogue.data.gov.uk/api/search/package?title=%E2%80%93 This "N-dash" (Unicode character 2013) causes this exception: Module ckan.controllers.api:460 in search << if ver in u'12': # Otherwise, put all unrecognised ones into the q parameter params = convert_legacy_parameters_to_solr(params) query = query_for(model.Package) results = query.run(params) >> params = convert_legacy_parameters_to_solr(params) Module ckan.lib.search.query:38 in convert_legacy_parameters_to_solr << for search_key in non_solr_params: value_obj = legacy_params[search_key] value = str(value_obj).replace('+', ' ') if search_key == 'all_fields': if value: >> value = str(value_obj).replace('+', ' ') UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 30: ordinal not in range(128) This problem affects CKAN 1.5 and 1.5.1 only. |
1329395420000000 | 1329395560000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1799 | defect | dread | dread | ckan-sprint-2012-03-05 | closed | fixed | To login as a different user or register, you need to logout first |
When you are logged in, you cannot login as a different user before first logging out. (This is a restricting in repoze.who, which gives priority to an existing recognised identity over another one you supply.) Yet, the CKAN login form appears when you try to do something you're not allowed to, even if you are logged in already. You login with a different identity and nothing happens - you remain as the first identity - this is incorrect. (It is also a little confusing to be sent to the log-in page, although we do have a flash message explaining, and you might want to relogin as a superuser if you can.) Whilst in this area, it would be worth fixing the problem for developers where you are logged in, do "paster db clean" and then try to log in - AuthTkt? recognises your old cookie but the User object doesn't exist, so you get an error logging in. In this instance we should tell people to log-out. |
1329402820000000 | 1330002176000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1801 | enhancement | dread | ckan-backlog | closed | fixed | No links to password reset |
You can reset your password (#1186) but you have to know the URI (/user/reset) - there is no link to this page! |
1329405290000000 | 1343144718000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1802 | enhancement | dread | dread | ckan-sprint-2012-03-05 | closed | fixed | Investigate CKAN deployment on Windows |
See how possible it is to run CKAN on a Windows server. Plan:
|
1329409512000000 | 1329830097000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1804 | defect | toby | dread | ckan-sprint-2012-03-05 | closed | fixed | CKAN mounted at URL - changing language problem |
e.g. http://189.9.137.65/dados/ clicking on Deutsch link is http://189.9.137.65/dados/locale?locale=de&return_to=%2Fdados%2F&hash=1dc17c315c419df850da0dd3599eefa9da76fbeb and redirect goes to http://189.9.137.65/dados/dados/?__cache=97995106 so /dados/dados/ when it should be /dados. Affects CKAN 1.6b only (not yet released). |
1329484956000000 | 1330347185000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1827 | enhancement | dread | ckan-backlog | new | 'Register' link should be hidden if you not allowed to register |
I have just deny visitors the create-user permission: sudo -u ckanstd paster --plugin=ckan roles deny reader create-user -c /etc/ckan/std/std.ini sudo -u ckanstd paster --plugin=ckan roles deny anon_editor create-user -c /etc/ckan/std/std.ini and after restarting, the register link is *not* hidden, but now when you access the register page, it shows you this message "Unauthorized to create a user" (when not logged in). But anyway that is an improvement. |
1329924939000000 | 1339773730000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1829 | defect | dread | dread | ckan-sprint-2012-03-05 | closed | fixed | Changing back to English prints the flash message in the previous non-English language |
On the homepage click "francais" and then "English". The flash message reads "Le langage a été fixé à: français" when it should say "The language is now: English". |
1330000660000000 | 1330001990000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1830 | enhancement | dread | dread | ckan-sprint-2012-03-05 | closed | fixed | OpenID disablable |
Allow OpenID to be disabled as a login option. Currently (CKAN 1.6) there is a config option openid_enabled which stops the login option being displayed, but:
|
1330002137000000 | 1330089912000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1832 | enhancement | dread | ckan-backlog | assigned | dataset purge API |
Purging datasets (deleting them fully, not just changing the state to 'deleted') is important for users testing dataset creation over the API on a test CKAN instance. Without this, they need to resort to more difficult methods such as:
Requested for NHSIC. Implementation
|
1330077745000000 | 1339773706000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2266 | defect | dread | dread | ckan-sprint-2012-04-02 | closed | fixed | Can't delete all of a package's resources over REST API |
Nothing happens if you set resources=[] or resources=null. |
1332932504000000 | 1332932634000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2281 | enhancement | dread | dread | ckan-sprint-2012-04-16 | closed | fixed | Pagination styling converted to Bootstrap |
Make the search results pagination styled by Bootstrap. Needs putting into a <ul> structure. Current page and '..' need become links that are styled disabled. Wanted by DGU. |
1333967506000000 | 1333967862000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2315 | enhancement | dread | dread | ckan-sprint-2012-04-30 | closed | fixed | Change Cookie expiry |
Change login cookie from a default expiry of 50 years to 2 years. You can also uncheck a 'remember me' checkbox on the login form for the cookie to just last the session. Background conversation on ckan-dev: DR: I wonder if anyone objects to the expiry of the login cookie to be changed from 50 years to 2 years? 50 years might be appropriate for thedatahub.org, but for government sites it seems (to me) to be too lax. Toby: is this the repoze.who cookie? If so that seems sensible to me. Rufus: Definitely agree. I would also like to see introduction of a standard "remember me" checkbox (set to true by default). At the moment a login lasts forever (until you logout) automatically. |
1334919449000000 | 1334919522000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2325 | enhancement | dread | dread | ckan-sprint-2012-04-30 | closed | fixed | Format alphabet pager (tags page) for bootstrap |
Also need to fix bug where 'Other' is never highlighted. |
1335366110000000 | 1335366188000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2373 | defect | dread | dread | ckan-sprint-2012-05-15 | closed | fixed | Group autocomplete doesn't work with multiple words |
e.g. 'Cabinet Office' returns 0 results, whereas 'Cabinet' returns 'Cabinet Office'. /api/2/util/authorizationgroup/autocomplete?q=Cabinet%20Office This feature only seems to be used by DGU at the moment (I think) |
1336139787000000 | 1336142514000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2374 | enhancement | ross | dread | ckan-v1.8 | closed | worksforme | tag search paging |
Currently in the logic function tag_search you can specify limit and offset, but no count is returned. Therefore pagination is not possible for tag results. This is desired though. |
1336154025000000 | 1340287976000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2384 | enhancement | dread | dread | ckan-sprint-2012-05-15 | closed | fixed | Rights tool factored out |
The command line tool 'rights' is quite handy but it is glued to the CLI. I'm going to factor out the bit which searches for objects etc so it can be used by CreateTestData? etc and will be used by DGU. |
1337080794000000 | 1337100810000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2390 | enhancement | dread | dread | ckan-sprint-2012-05-29 | closed | fixed | create_test_data for multiple users, rights |
It would be useful (well for DGU, but no doubt for core too) to have be able to create multiple users with full properties using one commit. Also to be able to create rights (UserObjectRoles?). |
1337098459000000 | 1337100788000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2394 | enhancement | dread | dread | closed | fixed | Separate off create_test_data CLI |
We need to separate the CLI part of CreateTestData? from the bit which creates test fixtures. This is because of the problem with imports and logging. Otherwise we have to do unpythonic things to get logging to work when deriving from CreateTestData? from an extension such as ecportal / dgu. I've only introduced logging into CreateTestData? but I think it is a good thing to have. This change doesn't cause breakages |
1337159591000000 | 1337161917000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2395 | defect | dread | ckan-backlog | new | paster db clean/init don't work when spatial extension enabled |
If you have a spatial enabled database then if you don't disable the spatial extension in the CKAN config temporarily then you get errors when you run paster db clean and paster db init. Can't you just modify the clean and init functions to run without extensions enabled? The wider problem is that extensions do their own inits every time you do load_environment, which seems crazy and inefficient to me, since this occurs every time a request comes into CKAN. But that is another problem/ticket. |
1337159793000000 | 1339771313000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2401 | enhancement | dread | dread | ckan-sprint-2012-05-29 | closed | fixed | CLI for time/speed profiling |
To enable you to easily track down what is taking all the time when you make a request. |
1337269571000000 | 1337273042000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2635 | enhancement | dread | new | Non-destructive SOLR reindex |
You can't run the search-index reindex on a live server because it will give us bad results for 2 to 3 hours while it runs. Can there be an option that doesn't delete the entire index at the start? Instead it could just delete any items that don't exist any more, then delete them and regenerate them one by one. So the total number of datasets doesn't change much. |
1341829394000000 | 1341829394000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2656 | defect | seanh | dread | new | Feed with few results has bad paging link, causing exception |
This page http://thedatahub.org/feeds/custom.atom?q=wombat has 0 results and contains a link to http://thedatahub.org/feeds/custom.atom?q=wombat&page=0 which the page=0 causes this exception: ckan.lib.search.common.SearchError'>: SOLR returned an error running query Error: "'start' parameter cannot be negative" |
1342001112000000 | 1342001112000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2668 | defect | ross | dread | ckan-v1.9 | closed | fixed | Permission for sysadmin to read a deleted publisher |
As a sysadmin I should be able to view deleted groups/publishers (publisher profile) but I can't. In addition, there don't seem to be tests for permissions of deleted publishers. |
1342171453000000 | 1345565100000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2670 | defect | ross | dread | ckan-v1.8 | closed | fixed | model.Group.get_children_groups returns deleted groups |
I believe it should only return active ones. On DGU we see deleted publishers popping up. |
1342175117000000 | 1342440953000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2719 | defect | dread | new | Feeds controller does not catch NotAuthorized exception |
Results in bad user experience and WebApp? errors emailed out. Seen in 1.7.1 |
1342872863000000 | 1342872863000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2942 | defect | dread | dread | closed | wontfix | API POST barfs on interesting Content-Type headers |
When POSTing to the API, if specified, the 'Content-Type' header must be blank or 'application/x-www-form-urlencoded'. Otherwise we get an error like: "Bad request - JSON Error: Could not extract request body data: Bad content type: \'; charset=utf-8\'"" The problem is that this is a very reasonable header to send. Indeed requests 0.14 sends this particular header. This affects all versions of CKAN. This is due to webob/requests.py:1248 being pretty basic. |
1348593156000000 | 1348611144000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3029 | defect | seanh | dread | assigned | JSONP parameter scuppers Search in API |
http://datahub.io/api/2/search/package?jsonp=jsonpcallback&q=canada returns {"count": 0, "results": []} I believe this worked in CKAN 1.4 or 1.5, but it is broken on 1.7.1, 1.8 and whatever demo.ckan.org is running. I suspect the jsonpcallback parameter is getting sent to SOLR. This bug prevents using javascript on another site to search CKAN (although hopefully the action API would work). |
1355238035000000 | 1355243824000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#881 | defect | thejimmyg | fccoelho | closed | invalid | http authentication requirement when installing |
I am having trouble installing Ckan with virtualenv and pip using pip-requirements.txt due to the Authentication requirements to download the source code. |
1293021889000000 | 1296335072000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1177 | defect | fccoelho | closed | fixed | routes.util.GenerationException |
I have done a recent update to mu ckan install, and I am now getting this error for all my packages: URL: http://ckan.emap.fgv.br/package/dengue-net 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:118 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 ?:2 in read Module ckan.lib.cache:167 in wrapper << log = __import__("logging").getLogger("proxy_cache") def wrapper(func, *args, **kwargs): result = func(*args, **kwargs) pylons = get_pylons(args) >> result = func(*args, **kwargs) Module ckan.controllers.package:208 in read << #render the package PackageSaver().render_package(c.pkg) return render('package/read.html') def comments(self, id): >> return render('package/read.html') Module ckan.lib.base:74 in render << return cached_template(template_name, render_template, cache_key=cache_key, cache_type=cache_type, cache_expire=cache_expire) #, ns_options=('method'), method=method) >> cache_type=cache_type, cache_expire=cache_expire) Module pylons.templating:249 in cached_template << return content else: return render_func() >> return render_func() Module ckan.lib.base:63 in render_template << stream = item.filter(stream) return literal(stream.render(method=method, encoding=None)) if 'Pragma' in response.headers: >> return literal(stream.render(method=method, encoding=None)) Module genshi.core:183 in render << method = self.serializer or 'xml' generator = self.serialize(method=method, **kwargs) return encode(generator, method=method, encoding=encoding, out=out) def select(self, path, namespaces=None, variables=None): >> return encode(generator, method=method, encoding=encoding, out=out) Module genshi.output:57 in encode << _encode = lambda string: string if out is None: return _encode(''.join(list(iterator))) for chunk in iterator: out.write(_encode(chunk)) >> return _encode(''.join(list(iterator))) Module genshi.output:339 in __call__ << for filter_ in self.filters: stream = filter_(stream) for kind, data, pos in stream: cached = cache_get((kind, data)) if cached is not None: >> for kind, data, pos in stream: Module genshi.output:670 in __call__ << _gen_prefix = _gen_prefix().next for kind, data, pos in stream: output = cache_get((kind, data)) if output is not None: >> for kind, data, pos in stream: Module genshi.output:771 in __call__ << push_text = textbuf.append pop_text = textbuf.pop for kind, data, pos in chain(stream, [(None, None, None)]): if kind is TEXT: >> for kind, data, pos in chain(stream, [(None, None, None)]): Module genshi.output:586 in __call__ << def __call__(self, stream): prev = (None, None, None) for ev in stream: if prev[0] is START: if ev[0] is END: >> for ev in stream: Module genshi.core:288 in _ensure << # unchanged yield event for event in stream: yield event >> for event in stream: Module genshi.template.base:618 in _include << tmpl = self.loader.load(href, relative_to=event[2][0], cls=cls or self.__class__) for event in tmpl.generate(ctxt, **vars): yield event except TemplateNotFound: >> for event in tmpl.generate(ctxt, **vars): Module genshi.template.base:618 in _include << tmpl = self.loader.load(href, relative_to=event[2][0], cls=cls or self.__class__) for event in tmpl.generate(ctxt, **vars): yield event except TemplateNotFound: >> for event in tmpl.generate(ctxt, **vars): Module genshi.template.base:618 in _include << tmpl = self.loader.load(href, relative_to=event[2][0], cls=cls or self.__class__) for event in tmpl.generate(ctxt, **vars): yield event except TemplateNotFound: >> for event in tmpl.generate(ctxt, **vars): Module genshi.template.base:605 in _include << from genshi.template.loader import TemplateNotFound for event in stream: if event[0] is INCLUDE: href, cls, fallback = event[1] >> for event in stream: Module genshi.template.markup:378 in _match << for event in self._match(self._flatten(template, ctxt, **vars), ctxt, start=idx + 1, **vars): yield event >> ctxt, start=idx + 1, **vars): Module genshi.template.markup:327 in _match << break for event in stream: # We (currently) only care about start and end events for matching >> for event in stream: Module genshi.template.base:565 in _flatten << elif kind is EXPR: result = _eval_expr(data, ctxt, vars) if result is not None: # First check for a string, otherwise the iterable test >> result = _eval_expr(data, ctxt, vars) Module genshi.template.base:277 in _eval_expr << if vars: ctxt.push(vars) retval = expr.evaluate(ctxt) if vars: ctxt.pop() >> retval = expr.evaluate(ctxt) Module genshi.template.eval:178 in evaluate << __traceback_hide__ = 'before_and_this' _globals = self._globals(data) return eval(self.code, _globals, {'__data__': data}) >> return eval(self.code, _globals, {'__data__': data}) Module ?:16 in <Expression u"h.subnav_link(c, h.icon('comments') + _('Comments & Questions'), controller='package', action='comments', id=c.pkg.name)"> << </li> <li py:if="g.has_commenting"> ${h.subnav_link(c, h.icon('comments') + _('Comments & Questions'), controller='package', action='comments', id=c.pkg.name)} </li> <li>${h.subnav_link(c, h.icon('page_white_stack') + _('History'), controller='package', action='history', id=c.pkg.name)}</li> >> ${h.subnav_link(c, h.icon('comments') + _('Comments & Questions'), controller='package', action='comments', id=c.pkg.name)} Module ckan.lib.helpers:126 in subnav_link << return link_to( text, url_for(action=action, **kwargs), class_=('active' if c.action == action else '') ) >> url_for(action=action, **kwargs), Module routes.util:280 in url_for << raise GenerationException( "url_for could not generate URL. Called with args: %s %s" % \ (args, kargs)) return url >> (args, kargs)) GenerationException: url_for could not generate URL. Called with args: () {'action': 'comments', 'controller': 'package', 'id': 'dengue-net'} CGI Variables AUTH_TYPE 'cookie' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' HTTP_ACCEPT_ENCODING 'gzip, deflate' HTTP_ACCEPT_LANGUAGE 'pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE '__utma=4669863.1260802706.1295364409.1306935693.1306960483.86; __utmz=4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); SESS61faf7f7d2406929b2f9eb4cbfff17d2=a3306f5d1194cf0d8a51dbf7b42c1259; ckan=d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode"; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode"; ckan_user="flavio"; ckan_display_name="Fl\xc3\xa1vio Code\xc3\xa7o Coelho"; ckan_apikey="c139718d-918f-4a2b-b219-e33cb05cbe23"; __utmc=4669863' HTTP_HOST 'ckan.emap.fgv.br' HTTP_KEEP_ALIVE '115' HTTP_REFERER 'http://ckan.emap.fgv.br/' HTTP_USER_AGENT 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' PATH_INFO '/package/dengue-net' PATH_TRANSLATED '/home/flavio/var/srvc/ckan.emap.fgv.br/pyenv/bin/ckan.emap.fgv.br.py/package/dengue-net' REMOTE_ADDR '10.250.48.110' REMOTE_PORT '47624' REMOTE_USER u'flavio' REMOTE_USER_DATA 'userid_type:unicode' REMOTE_USER_TOKENS [''] REQUEST_METHOD 'GET' REQUEST_URI '/package/dengue-net' SCRIPT_FILENAME '/home/flavio/var/srvc/ckan.emap.fgv.br/pyenv/bin/ckan.emap.fgv.br.py' SERVER_ADDR '10.252.2.60' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.emap.fgv.br' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.2.16 (Debian) Server at ckan.emap.fgv.br Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.16 (Debian)' WSGI Variables application <beaker.middleware.CacheMiddleware object at 0x7f051c802690> beaker.cache <beaker.cache.CacheManager object at 0x7f051c802750> beaker.get_session <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f051c8026d0>> beaker.session {'locale': u'pt_BR', '_accessed_time': 1307358102.6266389, '_creation_time': 1302605470.0245121} mod_wsgi.application_group 'dck093|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '80' mod_wsgi.process_group 'ckan' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (<SimpleCookie: SESS61faf7f7d2406929b2f9eb4cbfff17d2='a3306f5d1194cf0d8a51dbf7b42c1259' __utma='4669863.1260802706.1295364409.1306935693.1306960483.86' __utmc='4669863' __utmz='4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)' auth_tkt='c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode' ckan='d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06' ckan_apikey='c139718d-918f-4a2b-b219-e33cb05cbe23' ckan_display_name='Fl\xc3\xa1vio Code\xc3\xa7o Coelho' ckan_user='flavio'>, '__utma=4669863.1260802706.1295364409.1306935693.1306960483.86; __utmz=4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); SESS61faf7f7d2406929b2f9eb4cbfff17d2=a3306f5d1194cf0d8a51dbf7b42c1259; ckan=d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode"; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode";... __utmc=4669863') paste.registry <paste.registry.Registry object at 0x7f051d7e5710> paste.throw_errors True pylons.action_method <bound method PackageController.read of <ckan.controllers.package.PackageController object at 0x7f051d7e5b10>> pylons.controller <ckan.controllers.package.PackageController object at 0x7f051d7e5b10> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext object at 0x7f051d7e5a50> pylons.routes_dict {'action': u'read', 'controller': u'package', 'id': u'dengue-net'} repoze.who.identity <repoze.who identity (hidden, dict-like) at 139659946193344> repoze.who.logger <logging.Logger instance at 0x7f051c801128> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin 139659931643152>, 'friendlyform': <FriendlyFormPlugin 139659929725584>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f051c9e7610>, 'auth_tkt': <AuthTktCookiePlugin 139659931643280>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f051c9dcfd0>} routes.route <routes.route.Route object at 0x7f051c69fd50> routes.url <routes.util.URLGenerator object at 0x7f051d7e57d0> webob._parsed_cookies ({'ckan': 'd4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06', '__utmz': '4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)', 'auth_tkt': 'c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode', 'ckan_display_name': 'Fl\xc3\xa1vio Code\xc3\xa7o Coelho', 'ckan_apikey': 'c139718d-918f-4a2b-b219-e33cb05cbe23', 'ckan_user': 'flavio', '__utma': '4669863.1260802706.1295364409.1306935693.1306960483.86', '__utmc': '4669863', 'SESS61faf7f7d2406929b2f9eb4cbfff17d2': 'a3306f5d1194cf0d8a51dbf7b42c1259'}, '__utma=4669863.1260802706.1295364409.1306935693.1306960483.86; __utmz=4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); SESS61faf7f7d2406929b2f9eb4cbfff17d2=a3306f5d1194cf0d8a51dbf7b42c1259; ckan=d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode"< wbr>; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flavio!... __utmc=4669863') webob._parsed_query_vars (GET([]), '') 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 0x7f051cc1ad50> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7f051d7e57d0>, {'action': u'read', 'controller': u'package', 'id': u'dengue-net'}) |
1307358586000000 | 1307374897000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1178 | defect | fccoelho | closed | fixed | Local storage issue with ckanext-storage |
I have followed the instruction for installation a configuration of ckanext-storage, but I am getting this error when I try to access the /storage/upload url: URL: http://ckan.emap.fgv.br/storage/upload 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:124 in call << return % paste.registry.restorer.get_request_id(environ)?
Module pylons.wsgiapp:263 in resolve << if self.log_debug:
Module ckan.config.environment:39 in find_controller << # Check to see if its a dotted name
Module pkg_resources:1954 in load << def load(self, require=True, env=None, installer=None):
Module ?:87 in <module> << class StorageAPIController(BaseController?):
Module ?:88 in StorageAPIController << class StorageAPIController(BaseController?):
Module ?:69 in get_ofs << continue
Module ofs.local.pairtreestore:26 in init << self.hashing_type = hashing_type
Module ofs.local.pairtreestore:30 in _open_store << def _open_store(self):
Module pairtree.pairtree_client:91 in init << self._decode = re.compile(r"\(..)", re.U)
Module pairtree.pairtree_client:264 in _init_store << self.uri_base = prefix
NotAPairtreeStoreException: CGI Variables AUTH_TYPE 'cookie' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' HTTP_ACCEPT_ENCODING 'gzip, deflate' HTTP_ACCEPT_LANGUAGE 'pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE 'utma=4669863.1260802706.1295364409.1306935693.1306960483.86; utmz=4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); SESS61faf7f7d2406929b2f9eb4cbfff17d2=a3306f5d1194cf0d8a51dbf7b42c1259; ckan=d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flaviouserid_type:unicode"; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flaviouserid_type:unicode"; ckan_user="flavio"; ckan_display_name="Fl\xc3\xa1vio Code\xc3\xa7o Coelho"; ckan_apikey="c139718d-918f-4a2b-b219-e33cb05cbe23"; utmc=4669863; hide_welcome_message=1' HTTP_HOST 'ckan.emap.fgv.br' HTTP_KEEP_ALIVE '115' HTTP_USER_AGENT 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' PATH_INFO '/storage/upload' PATH_TRANSLATED '/home/flavio/var/srvc/ckan.emap.fgv.br/pyenv/bin/ckan.emap.fgv.br.py/storage/upload' REMOTE_ADDR '10.250.48.110' REMOTE_PORT '57426' REMOTE_USER u'flavio' REMOTE_USER_DATA 'userid_type:unicode' REMOTE_USER_TOKENS [] REQUEST_METHOD 'GET' REQUEST_URI '/storage/upload' SCRIPT_FILENAME '/home/flavio/var/srvc/ckan.emap.fgv.br/pyenv/bin/ckan.emap.fgv.br.py' SERVER_ADDR '10.252.2.60' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.emap.fgv.br' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.2.16 (Debian) Server at ckan.emap.fgv.br Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.16 (Debian)' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0x7fc2999a6cd0> beaker.cache <beaker.cache.CacheManager? object at 0x7fc2999a6d90> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0x7fc2999a6d10>> beaker.session {'locale': u'pt_BR', '_accessed_time': 1307373458.4790759, '_creation_time': 1302605470.0245121} mod_wsgi.application_group 'dck093|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script mod_wsgi.input_chunked '0' mod_wsgi.listener_host mod_wsgi.listener_port '80' mod_wsgi.process_group 'ckan' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (<SimpleCookie: SESS61faf7f7d2406929b2f9eb4cbfff17d2='a3306f5d1194cf0d8a51dbf7b42c1259' __utma='4669863.1260802706.1295364409.1306935693.1306960483.86' __utmc='4669863' __utmz='4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)' auth_tkt='c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode' ckan='d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06' ckan_apikey='c139718d-918f-4a2b-b219-e33cb05cbe23' ckan_display_name='Fl\xc3\xa1vio Code\xc3\xa7o Coelho' ckan_user='flavio' hide_welcome_message='1'>, 'utma=4669863.1260802706.1295364409.1306935693.1306960483.86; utmz=4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); SESS61faf7f7d2406929b2f9eb4cbfff17d2=a3306f5d1194cf0d8a51dbf7b42c1259; ckan=d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid _type:unicode"; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221fla...lcome_message=1') paste.registry <paste.registry.Registry object at 0x7fc299de4f50> paste.throw_errors True pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0x7fc299e27d50> pylons.routes_dict {'action': u'index', 'controller': u'ckanext.storage.controller:StorageController'} repoze.who.identity <repoze.who identity (hidden, dict-like) at 140473773131872> repoze.who.logger <logging.Logger instance at 0x7fc2999a3b48> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 140473779397008>, 'friendlyform': <FriendlyFormPlugin? 140473777417040>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator? object at 0x7fc299b93a50>, 'auth_tkt': <AuthTktCookiePlugin? 140473779397136>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7fc299b934d0>} routes.route <routes.route.Route object at 0x7fc299864090> routes.url <routes.util.URLGenerator object at 0x7fc299e27ed0> webob._parsed_query_vars (GET([]), ) 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 0x7fc299dae4e0> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7fc299e27ed0>, {'action': u'index', 'controller': u'ckanext.storage.controller:StorageController'}) Reply Reply to all Forward Reply to all paste@localhost to fccoelho show details 10:17 (2 hours ago)
CGI Variables AUTH_TYPE 'cookie' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' HTTP_ACCEPT_ENCODING 'gzip, deflate' HTTP_ACCEPT_LANGUAGE 'pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE 'utma=4669863.1260802706.1295364409.1306935693.1306960483.86; utmz=4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); SESS61faf7f7d2406929b2f9eb4cbfff17d2=a3306f5d1194cf0d8a51dbf7b42c1259; ckan=d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flaviouserid_type:unicode"; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flaviouserid_type:unicode"; ckan_user="flavio"; ckan_display_name="Fl\xc3\xa1vio Code\xc3\xa7o Coelho"; ckan_apikey="c139718d-918f-4a2b-b219-e33cb05cbe23"; utmc=4669863; hide_welcome_message=1' HTTP_HOST 'ckan.emap.fgv.br' HTTP_KEEP_ALIVE '115' HTTP_USER_AGENT 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' PATH_INFO '/storage/upload' PATH_TRANSLATED '/home/flavio/var/srvc/ckan.emap.fgv.br/pyenv/bin/ckan.emap.fgv.br.py/storage/upload' REMOTE_ADDR '10.250.48.110' REMOTE_PORT '57429' REMOTE_USER u'flavio' REMOTE_USER_DATA 'userid_type:unicode' REMOTE_USER_TOKENS [] REQUEST_METHOD 'GET' REQUEST_URI '/storage/upload' SCRIPT_FILENAME '/home/flavio/var/srvc/ckan.emap.fgv.br/pyenv/bin/ckan.emap.fgv.br.py' SERVER_ADDR '10.252.2.60' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.emap.fgv.br' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.2.16 (Debian) Server at ckan.emap.fgv.br Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.16 (Debian)' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0x7fc2999a6cd0> beaker.cache <beaker.cache.CacheManager? object at 0x7fc2999a6d90> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0x7fc2999a6d10>> beaker.session {'locale': u'pt_BR', '_accessed_time': 1307373466.085686, '_creation_time': 1302605470.0245121} mod_wsgi.application_group 'dck093|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script mod_wsgi.input_chunked '0' mod_wsgi.listener_host mod_wsgi.listener_port '80' mod_wsgi.process_group 'ckan' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (<SimpleCookie: SESS61faf7f7d2406929b2f9eb4cbfff17d2='a3306f5d1194cf0d8a51dbf7b42c1259' __utma='4669863.1260802706.1295364409.1306935693.1306960483.86' __utmc='4669863' __utmz='4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)' auth_tkt='c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid_type:unicode' ckan='d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06' ckan_apikey='c139718d-918f-4a2b-b219-e33cb05cbe23' ckan_display_name='Fl\xc3\xa1vio Code\xc3\xa7o Coelho' ckan_user='flavio' hide_welcome_message='1'>, 'utma=4669863.1260802706.1295364409.1306935693.1306960483.86; utmz=4669863.1295364409.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); SESS61faf7f7d2406929b2f9eb4cbfff17d2=a3306f5d1194cf0d8a51dbf7b42c1259; ckan=d4951177ef995d92f0f987d481bd9180aa0f89e4518921db9cd9b6ac75fdd3fab4a25d06; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221flavio!userid _type:unicode"; auth_tkt="c6c3c3e0b3fe7bb765356659992760b24da43221fla...lcome_message=1') paste.registry <paste.registry.Registry object at 0x7fc29a9da850> paste.throw_errors True pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0x7fc29a9ef950> pylons.routes_dict {'action': u'index', 'controller': u'ckanext.storage.controller:StorageController'} repoze.who.identity <repoze.who identity (hidden, dict-like) at 140473790084352> repoze.who.logger <logging.Logger instance at 0x7fc2999a3b48> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 140473779397008>, 'friendlyform': <FriendlyFormPlugin? 140473777417040>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator? object at 0x7fc299b93a50>, 'auth_tkt': <AuthTktCookiePlugin? 140473779397136>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7fc299b934d0>} routes.route <routes.route.Route object at 0x7fc299864090> routes.url <routes.util.URLGenerator object at 0x7fc29a9efcd0> webob._parsed_query_vars (GET([]), ) 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 0x7fc29a9d7d50> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7fc29a9efcd0>, {'action': u'index', 'controller': u'ckanext.storage.controller:StorageController'}) |
1307373810000000 | 1308045351000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1175 | defect | dread | fccoelho@… | closed | invalid | Stats extension not working |
Hi, I get a 500, Internal server error when I enable ckanext-stats. Flavio |
1307350823000000 | 1325355170000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1401 | defect | rgrp | flofokus | ckan-sprint-2012-01-23 | closed | fixed | Some links don't take account when CKAN is mounted at a non-root URL |
if you want your ckan to reside not at http://yourhost.org/ but rather e.g. at http://yourhost.org/ckan/ you can use this hint http://wiki.pylonshq.com/display/pylonsdocs/Configuration+Files and set ckan.site_url accordingly in your .ini. However, there are some instances where internal links are created without the required prefix. |
1318621586000000 | 1328001014000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1312 | enhancement | dread | florian.marienfeld@… | ckan-sprint-2011-10-28 | closed | invalid | Particular characters in JSON cause exception creating package on API |
From Florian: I am having trouble with the characters "=&;". if they occur e.g. in the title of a package, I get a 400-Bad-Request when I try to register a package by POSTing to ckan/rest/api/package However, when I PUT the same package as an edit to ckan/rest/api/package/existing_package, it works and the title shows correctly on the front end and API. Reproduced(pyenv-ckan)dread@dread-laptop:~/hgroot/ckan$ curl -i http://localhost:5000/api/rest/package -d '{"name": "test3", "title": "Test &"}' -H "Authorization:tester" HTTP/1.0 400 Bad Request Server: PasteWSGIServer/0.5 Python/2.6.5 Date: Tue, 06 Sep 2011 14:09:31 GMT Pragma: no-cache Cache-Control: no-cache Content-Type: application/json;charset=utf-8 Content-Length: 87 "Bad request - JSON Error: Unterminated string starting at: line 1 column 27 (char 27)" |
1315318863000000 | 1315327743000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#377 | enhancement | glen@… | ckan-future | closed | wontfix | API Should return JSON in all cases |
When the API returns any response it should always retunr JSON. For example a 404 response should return something like {'status': 404, 'message': 'package somename not found'} When errors are encountered when creating a package: {'status': nnn, 'message': 'Validation Errors', 'errors':['description':'name cannot be blank', 'description':'license code must be an integer']} Not authorised: {'status': 503, 'message': 'You are not authorised to create this package.'} The reason being that screeds of html coming back in the response just makes it harder to debug and understand. Having the proper error codes/messages means that you can see why your package was not created. |
1280268158000000 | 1338206349000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#920 | defect | thejimmyg | hellmann@… | closed | fixed | empty tags are kind of confusing |
http://ckan.net/tag/linguistsic doesn't have a single entry, but is still kept and displayed. It should be purged !!! |
1295355280000000 | 1300319140000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1453 | enhancement | icmurray | icmurray | ckan-sprint-2011-12-05 | closed | fixed | Flexible tag names |
Allowing more flexible tag names:
Effects:
|
1320771850000000 | 1329395697000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1523 | enhancement | icmurray | icmurray | closed | invalid | [super] |
Form refactor. New create/edit package form wizard for DGU. See attached spec. |
1323172661000000 | 1323172904000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1525 | enhancement | icmurray | icmurray | ckan-v1.7 | closed | fixed | [super] DGU package form refactor |
Form refactor. New create/edit package form wizard for DGU. Etherpad: http://ckan.okfnpad.org/dgu-package-form Tasks:
How the rest of the work is carried out is up for discussion, as it depends on the approach taken. Whether to continue with validation using AJAX queries, or whether to break the form down into multi pages. Google doc outlining design(s) |
1323172839000000 | 1337159836000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1526 | enhancement | icmurray | icmurray | ckan-sprint-2012-03-05 | closed | fixed | [super] Update and test existing DGU package form |
Re-create behaviour of old form without using form-alchemy. And unit test.
|
1323173313000000 | 1330942383000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1527 | enhancement | icmurray | icmurray | ckan-sprint-2012-01-23 | closed | fixed | Break DGU package edit form into sections |
|
1323174829000000 | 1327589456000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1537 | enhancement | icmurray | icmurray | ckan-v1.7 | closed | fixed | Package create form wizard |
Create the form wizard for the package-new form. Each section of the form will be a separate page as this was decided to be simpler than the alternative of making AJAX calls for validation at each stage. (*)
(*) - although the javascript alternative will probably provide better UX (each step would require a page-load in the wizard approach), it was decided that:
|
1323358451000000 | 1337159772000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1538 | enhancement | icmurray | icmurray | ckan-v1.7 | closed | wontfix | Store partially-filled in package form data as a draft. |
Allow a user to save a partially-complete and probably invalid package-create form in order to come back to it later. We decided on blob storage over a state field on the package:
|
1323359221000000 | 1337159799000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1539 | enhancement | icmurray | icmurray | ckan-v1.7 | closed | wontfix | Package forms auto-save |
Using the saved-draft feature, we enable auto-save for the package-new and package-edit forms. An AJAX call is made every N seconds, and the auto-saved blob is updated. note - we don't want to overwrite a previously save draft, but we will want to overwrite the last autosave. |
1323359385000000 | 1337159806000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1541 | task | icmurray | icmurray | ckan-sprint-2012-01-23 | closed | fixed | Setup server for the DGU form-refactor. |
To enable us to show DGU work in progress, for feedback. |
1323359484000000 | 1327311698000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1617 | enhancement | icmurray | icmurray | ckan-v1.7 | closed | fixed | Update and test existing DGU package form : publisher / foi information |
[Child of #1526] Contact/FOI information is derived from Publisher/User?, but can be altered for each dataset.
|
1326103384000000 | 1332151332000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1618 | enhancement | icmurray | icmurray | ckan-v1.7 | closed | fixed | Update and test existing DGU package form : provide stubs for the theme and sub-themes |
[Child of #1526] Provide the interface for the themes and subthemes hierarchy. |
1326103557000000 | 1332151341000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1619 | enhancement | icmurray | icmurray | ckan-v1.7 | closed | fixed | Update and test existing DGU package form : provide stubs for the publisher hierarchy |
[Child of #1526] Create the interface used to retrieve publisher and authz information from the publisher hierarchy. |
1326103672000000 | 1332151351000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1620 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-06 | closed | fixed | Update and test existing DGU package form : don't allow package-type selection when editing a package |
[Child of #1526] Can't change a dataset from containing time-series resources to one containing individual resources or visa-versa. |
1326103837000000 | 1327589576000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1645 | enhancement | icmurray | icmurray | ckan-sprint-2012-01-23 | closed | fixed | Update and test existing DGU package form : Apply a simple theme |
Theme the DGU form. Doesn't need to be an exact replica of DGU, but just enough to show it's possible. |
1326394622000000 | 1327311679000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1711 | enhancement | icmurray | icmurray | ckan-sprint-2012-03-19 | closed | fixed | Resource validation page |
Analysis and further description on etherpad: http://ckan.okfnpad.org/dgu-package-form? [Section I] |
1327589759000000 | 1332151557000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1712 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-06 | closed | fixed | DGU /data page |
CKAN provides the /data page page of data.gov.uk Breakdown of tasks:
|
1327590527000000 | 1329733846000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1713 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-06 | closed | fixed | DGU dataset search page |
Search results page of DGU. Breakdown:
|
1327590700000000 | 1327932401000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1714 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-06 | closed | fixed | DGU dataset view page |
Dataset read page for DGU Breakdown:
|
1327591090000000 | 1329734018000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1751 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-20 | closed | fixed | DGU dataset form: collection of updates from feedback |
A collection of improvements to the dataset creation/edition form (feedback form DGU).
|
1328526612000000 | 1329733458000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1752 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-20 | closed | fixed | DGU: collection of updates from feedback |
|
1328526750000000 | 1329733515000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1768 | enhancement | icmurray | icmurray | ckan-v1.7 | closed | fixed | DGU: 7a. Public Publisher Dashboard (including QA Work and notifications) MUST PHASE 1 | 1328539740000000 | 1337159873000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1769 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-06 | closed | fixed | 6. Publisher Registration Improvements MUST PHASE 1 | 1328539789000000 | 1329737597000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1770 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-06 | closed | wontfix | 3. Themes/Taxonomy as well as tags WONT PHASE 2 | 1328539834000000 | 1329733935000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1771 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-20 | closed | fixed | 32. Browse by Tags PHASE 1 MUST | 1328539862000000 | 1329733648000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1772 | enhancement | icmurray | icmurray | ckan-sprint-2012-02-06 | closed | fixed | 13. Provider labelling MUST PHASE 1 [UKLP #14 MUST] | 1328539902000000 | 1329733962000000 |