id type owner reporter milestone status resolution summary description PosixTime ModifiedTime 3004 defect seanh ckan 2.0 closed fixed ImportError: No module named polib This is happening whenever people try to run paster commands. polib should only be needed for the check-po-files command don't import otherwise. 1350907790000000 1361988802000000 2930 defect seanh ckan-v1.8.1 closed fixed convert_from_extras() returns qupted strings from API "Use an IGroupForm plugin to add a custom metadata field to groups using convert_to_extras() and convert_from_extras(), when calling group show the value comes back quoted, e.g. '""my_value""' Should add tests to example_igroupform and others that setting and getting the custom fields works through the action API." 1347639864000000 1361988592000000 3022 defect amercader amercader ckan 2.0 closed fixed setup_template_variables method of IDatasetForm never called On the package controller the package_type is not passed to the lookup function, so the setup_template_variables defined on the extensions is never called 1353602743000000 1358254781000000 2331 defect kindly rgrp ckan-sprint-2012-05-29 reopened Search should AND terms not OR terms "Appears current default search in CKAN ORs terms rather than ANDing them (i.e. adding more terms increasing number of items found rather than reducing it). Not sure when this crept in or if it has been there for a long time." 1335637485000000 1356474344000000 3030 enhancement toby new clean up helper functions 1355834038000000 1355834038000000 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 3028 enhancement seanh seanh ckan 2.0 new Feature: dashboard activity stream filtering https://github.com/okfn/ckanext-pdeu/issues/13 1355141244000000 1355141244000000 1635 enhancement seanh seanh ckan-backlog new Email notifications (e.g. for activity streams) "CKAN should be able to send email notifications to users. Maybe have a notifications table in the db, and a server-side job that runs periodically and consumes rows from this table, mailing them to the users. One thing that we may want to send users notifications of is activity stream events. So the activity streams code would have to add rows to the notifications table for the mailer job to consume. But remember that email notifications feature is separate from activity streams - we may want to send notifications of other things as well. Need to implement (at least some of) #1634 before this can be implemented, in order to have something to send notifications about. Analysis here: http://ckan.okfnpad.org/27" 1326304587000000 1355141157000000 3008 enhancement seanh ckan 2.0 closed fixed Add tests for dashboard activity stream auth We need to test that only logged in users can see their own dashboard activity streams, and they can only see their own dashboard activity streams not those of other users. 1351600860000000 1355141103000000 3024 enhancement seanh closed fixed Add activity stream tab to dataset read page 1353949986000000 1355141087000000 1746 enhancement seanh ckan-backlog closed wontfix Activity streams pagination Currently user, package and group activity streams only return the most recent 15 activities, even though all activities are kept in the db. Do we want to add pagination - to both the API and the HTML pages - to support retrieving older activities? 1328446488000000 1355141062000000 3018 enhancement johnmartin johnmartin ckan 2.0 new Load more in activity streams Activity streams should be able to load more than 15 items within them. Suggest the default amount of loading is around 30 and then click to load more. 1352900051000000 1355140950000000 3027 enhancement kindly kindly new solr for 2.0 "change mm support solr 3 and 4 add *_date field" 1354587729000000 1354587729000000 3026 enhancement amercader amercader new Support icons on nav_named_link nav_named_link won't include the nice icon even when passing the icon keyword param. 1354301516000000 1354301516000000 3025 enhancement amercader amercader new Add requests to core requirements Because yes please 1354052124000000 1354052124000000 3009 enhancement seanh seanh ckan 2.0 closed fixed On-site notification of new dashboard activity "We want a ""bubble"" with a number in it to appear in the top-right of the site next to your user name when you're logged in, telling you how many new activity stream items you have in your dashboard activity stream. There's a github issue for this here: https://github.com/okfn/ckanext-pdeu/issues/11" 1351615762000000 1353949938000000 3023 enhancement amercader amercader new New methods on IPackageController to provide access to the data_dict Extension hooking into the edit and create methods of the IPackageController interface receive the package object. This may not include all the fields that came from the form. The new extension points will pass the validated data_dict so extensions can have access to it 1353603657000000 1353603657000000 3021 enhancement johnmartin johnmartin accepted Logout doesn't work without JS "Essentially, the functionality should be as follows: - Add logout link that has `.js-hide` attached to it within the header that isn't hidden within a dropdown See http://plus.google.com/ (when logged in) with and without JS to see an example of the actual sign-out working without JS" 1353410350000000 1353411968000000 3015 enhancement johnmartin johnmartin ckan 2.0 closed invalid Dropdowns don't work without JavaScript Essentially the default bootstrap dropdowns don't work properly without JavaScript which is a little bit of an issue with JS not working. 1352805553000000 1353410072000000 3020 enhancement seanh new Update CKAN coding standards 1353096711000000 1353096711000000 3019 defect seanh ckan 2.0 new Cannot delete dataset extras Deleting extras in the web interface is broken 1352918678000000 1352918678000000 3017 enhancement johnglover johnglover ckan 2.0 new New stable branch for the demo server 1352819088000000 1352819088000000 3016 enhancement johnmartin johnmartin ckan 2.0 new CKAN 2.0 template tweaks Just a ticket to keep track of a few suggested template changes. 1352813417000000 1352813417000000 3014 defect seanh ckan 2.0 new Crash when deleting a non-empty vocabulary "From Knud Möller: when I try to delete a non-empty tag vocabulary via the API (through HTTP), I get an internal server error. Checking the logs, this turns out to be a consistency error raised by sqlalchemy: Error - : (IntegrityError) update or delete on table ""vocabulary"" violates foreign key constraint ""tag_vocabulary_id_fkey"" on table ""tag"" DETAIL: Key (id)=(21421955-7560-467c-af30-9f790b73e6ae) is still referenced from table ""tag"". 'DELETE FROM vocabulary WHERE vocabulary.id = %(id)s' {'id': u'21421955-7560-467c-af30-9f790b73e6ae'} URL: http://33.33.33.10:5000/api/action/vocabulary_delete The error makes sense, but I'm wondering if it would be useful to extend the API to also allow the deletion of non-empty vocabularies, possibly via a parameter (not sure what best practice in API design is). At the very least, it would be cool if the error message coming back in the response had more information in it." 1352803808000000 1352803808000000 2451 enhancement johnmartin aron.carroll demo phase 5 assigned Create demo user list page "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62268474/comments Implementation: http://s031.okserver.org:2375/user" 1338211213000000 1352658902000000 2457 enhancement johnmartin aron.carroll demo phase 4 assigned Create demo tags list page "This includes the tag page as well for now. Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62998445/comments Implementation: http://s031.okserver.org:2375/en/tag" 1338211735000000 1352658878000000 2641 enhancement johnmartin amercader demo phase 5 assigned Adapt spatial widgets to new theme Dataset extent map and spatial filter need to adapted to the new theme, as they are not showing up now 1341846147000000 1352658854000000 2446 enhancement johnmartin aron.carroll demo phase 4 assigned Create demo dataset history/comparison page "This is a low priority for the demo site. Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62414120/comments Implementation: http://s031.okserver.org:2375/dataset/history/adur_district_spending" 1338210738000000 1352658819000000 3013 defect dominik dominik new common-error-messages is unreadable "Since the update of the doc theme, the page became unreadable. http://docs.ckan.org/en/latest/common-error-messages.html" 1352553505000000 1352553505000000 3012 enhancement toby toby new data.gov auth 1352393409000000 1352393409000000 3011 enhancement johnglover johnglover ckan 2.0 new Recline fixes and updates for CKAN 2.0 Fixes and updates to Recline / Datapreview for CKAN 2.0. 1352288455000000 1352288455000000 2903 enhancement johnmartin johnmartin demo phase 5 closed wontfix Two search boxes "I think the architecture on the search page is a bit odd. Not sure I like that there is a doubling up of the search box (e.g. one in the header and one in the body of the search results page) Needs some thought" 1346853712000000 1352206813000000 2471 enhancement johnmartin ross closed invalid ckan.org bug "If you go to http://ckan.org/features/geospatial/ there is a problem with the pop up tag shown (and zoomed in) - missing status and description. " 1338229749000000 1352206679000000 2562 enhancement johnmartin aron.carroll demo phase 5 closed invalid Demo theme tag improvements "Tags should be implemented in two sections. * Custom predefined tags using vocabularies * Provide suggestions, auto completion then fallback to free text" 1340035714000000 1352206599000000 2907 enhancement johnmartin johnmartin demo phase 5 closed fixed Demo header The user login / avatar with in the header really should be within another topbar, as it goes against convention to have the user information within the normal header. 1346930925000000 1352206307000000 2616 enhancement johnmartin aron.carroll demo phase 5 closed invalid Improve display of split stages in demo Currently stages of the same colour blur together, these could do with a nice divider. 1340875108000000 1352206282000000 2714 defect johnmartin shevski demo phase 5 closed fixed XLS preview not working "see http://demo.ckan.org/dataset/vif-2012-population-totals/resource/e7b8401a-c410-4902-9e5a-6dbd78834873 what XLS previews do we support?" 1342706454000000 1352206138000000 2742 enhancement johnmartin toby demo phase 5 closed fixed admin authz styling "http://localhost:5000/ckan-admin/authz you need to be an admin paster sysadmin add -c dev.ini like #2741 we need other admin links you may want to make the inputs use your form macros - I've just done a basic port also we will need to get all the tables done but looks like we need to get auth groups working for that" 1343124423000000 1352206081000000 2806 enhancement johnmartin shevski demo phase 4 closed fixed way to read full group description "e.g. currently no way to read full description for the 'data explorer examples' group here:http://s031.okserver.org:2375/group/data-explorer Can we add a 'read more' link that expands and contracts the sidebar box or similar?" 1344254292000000 1352206005000000 2741 enhancement johnmartin toby demo phase 4 closed fixed admin index styling "http://localhost:5000/ckan-admin you need to be an admin paster sysadmin add -c dev.ini we need to get links to other admin pages etc - I think this will want to be flexible so extensions can add extra links etc - but that can come later" 1343124308000000 1352205988000000 2711 enhancement johnmartin toby demo phase 5 closed fixed bin/less dies for toby it would be nice if this didn't fall over when the dir is removed maybe a linux only issue? 1342631508000000 1352205968000000 2705 enhancement johnmartin shevski demo phase 5 closed fixed add link to edit dataset page from edit review page "e.g. on http://s031.okserver.org:2375/en/dataset/afghanistan-election-data/resource_edit/f6331f99-51f6-44d9-95b9-b20f3b74f360 & ensure consistant with sidebar of edit dataset page" 1342621122000000 1352205954000000 2704 enhancement johnmartin shevski demo phase 5 closed fixed add list of resources to edit dataset page sidebar when editing a dataset (e.g. here: http://s031.okserver.org:2375/en/dataset/edit/afghanistan-election-data) add sidebar list of resources for user to click & browse through taking you to the relevant resource edit pages 1342620986000000 1352205939000000 2676 enhancement johnmartin shevski demo phase 5 closed fixed no way to browse through related items on dataset page "Need to add JS (presumably?) to the related app box on dataset page: http://s031.okserver.org:2375/dataset/gold-prices to allow user to scroll through when multiple related items exist " 1342435678000000 1352205920000000 2658 enhancement johnmartin aron.carroll demo phase 5 closed invalid On Demo change 'Groups' to 'Publishers' everywhere Can we do this as a localisation? 1342008495000000 1352205894000000 2631 enhancement johnmartin aron.carroll demo phase 5 closed fixed Style activity stream in user profile 1341826342000000 1352205778000000 1664 enhancement seanh seanh ckan-future closed fixed Smarter group activity streams "We already have simple activity streams for groups that have new group or group updated events (see #1631). Smarter/more useful group activity streams would also contain the events for things related to the group: users, datasets, other groups, etc. This should just mean using a more complex SQL query in the group_activity_list() logic function. Things might get tricky when a user or dataset joins a group, this may show up as two events (the user or dataset was modified, and the group was modified). We may want to have two separate events for this (one to go in the user or dataset activity stream and one for the group), or maybe we just want one 'user/dataset joined group' event." 1326795654000000 1351863437000000 3010 enhancement seanh ckan 2.0 new Pin images don't appear in data explorer "When minified files are in use (set debug = false in ini file) the pin images for points don't show up in the data explorer map view when viewing a resource with geolocation data. set debug = true will fix the problem by using unminified files instead but also turns on a bunch of debug stuff you wouldn't want on a production site. middleware.py, around line 73, is where the decision to turn minified files on or off based on the debug setting is made. This can be hacked on a production site to run with unminified files but otherwise run on production mode thereby getting around the issue with the pins. But that doesn't fix the underlying bug." 1351705506000000 1351705506000000 2619 enhancement seanh seanh ckan-v1.9 assigned Omit private datasets from public activity streams "Activities about private datasets should not appear in public activity streams. I don't think you want to actually purge the activities from the db, because you might still want them to appear in private activity streams. I do think that when a dataset goes private all its past activity should go private, because I imagine that users are going to want to hide everything about the dataset and not have any past activities 'leaking out' I don't think you want to consider whether the dataset was private when the activity happened, rather if a dataset is private now then all its past activities are private (and the simplest thing would be to say that if a dataset is public now then all its past activities become public as well, but is that a privacy concern?) The easiest way to implement this is going to be by modifying the *_activity_list() action functions in get.py, after they pull their activity lists out of the db they should pass them through a function that filters out stuff about private datasets. An activity about a private dataset is one whose object_type is 'dataset' and whose object_id matches the id of a private dataset. You should also check the object_type and object_id of all of the activity object's activity detail objects, if any of those match a private dataset then mark the whole activity as private. Currently all activity streams are public so should have all private datasets filtered out from them, except for the dashboard activity stream which is private to the individual user. In this case private datasets that the user has permission to see should not be filtered." 1340884140000000 1351531137000000 3007 enhancement seanh ckan 2.0 new Adding a dataset creates multiple activities Adding a new dataset creates multiple activity stream activities, e.g. seanh created the dataset foo, seanh add the resource bar to the dataset foo, and seanh updated the dataset foo are all created when I add a new dataset. I wonder if these can be collapsed into a single activity. 1351516507000000 1351517019000000 3006 enhancement seanh ckan-v1.8.1 new Update translations from Transifex There are some new translations already on the CKAN 1.8 resource on Transifex already (e.g. 100% Norwegian translation I think). We should at least pull these from Transifex for 1.8.1, and may as well do a call for translations too. 1351506144000000 1351506144000000 3005 enhancement seanh seanh ckan 2.0 new Add following/unfollowing of groups: model, API, frontend, tests 1351013744000000 1351013744000000 3003 enhancement amercader ckan-v1.8 new New pg databases should be created with UTF8 encoding rather than system default "Just to track @tauberer patch on Github. Probably going to 1.8.1" 1350639199000000 1350639199000000 3002 defect amercader ckan-v1.8 new API v1/2 'legacy' search parameters must be escaped before they are put into a Solr query string "Just to track @tauberer patch on Github. Would be nice to write a test for it. Probably going to 1.8.1" 1350639142000000 1350639142000000 3001 defect seanh ckan 2.0 new Multilingual plugin crashes CKAN on add dataset when some languages are default "Enable the multilingual plugins: ckan.plugins = stats synchronous_search multilingual_dataset multilingual_group multilingual_tag and set your default language to one not supported by the multilingual plugin, e.g. ckan.locale_default = cs_CZ now run CKAN and try to add a dataset: File '/home/seanh/Projects/ckan171/ckan/ckanext/multilingual/plugin.py', line 141 in before_index text_field_items['text_' + default_lang].extend(all_terms) KeyError: 'text_cs_CZ' It doesn't matter what language you are viewing the site in in your browser, the default language setting in the ini file determines whether it crashed or not. A number of supported languages are defined at the top of ckanext/multilingual/plugin.py. I think if the default language is not one of these it crashes. I think this affects all versions of CKAN since the multilingual plugin was added so at least 1.7, 1.8 and 2.0" 1350579048000000 1350579048000000 2935 enhancement kindly kindly ckan 2.0 closed fixed Make recline work with new datastore 1348042459000000 1350578067000000 2954 enhancement johnmartin johnmartin ckan 2.0 closed fixed Flickering on resource view when changing between views From the google doc: When I move between grid, graph and map view mode (or click on filters) the whole data explorer flickers (jumps up & down slightly) for a few moments before settling. This is happening on all resources for me and when you initially open launch the page: http://demo.ckan.org/dataset/afghanistan-election-data/resource/f6331f99-51f6-44d9-95b9-b20f3b74f360. Only in Chrome, working fine in Firefox. 1349268916000000 1350578030000000 2961 enhancement dominik dominik ckan 2.0 assigned Preview plugin endpoint "Users could write ckan extensions that offer previews for a certain datatype. Advantages: - We can say that you can add your own previews - Every preview would have to define it's own dependencies - External development (community creates new extensions?) Questions to answer: - Specification of the interface - Precedence of previews for the same data types - Plugins only define the datatype that they are responsible for or do we call a function that returns whether the extension is responsible. As far as I can see, this should be fairly easy to implement by following these instructions: http://docs.ckan.org/en/latest/writing-extensions.html#writing-a-plugin-interface" 1349696367000000 1350577990000000 2955 defect dominik dominik ckan 2.0 closed fixed Recline should be updated 1349270534000000 1350577952000000 2879 enhancement ross ross ckan 2.0 closed wontfix Datasets (Package) should have a 'public' field "The Package model should have a boolean field added to it describing its visibility beyond that supplied via auth. The related permission for viewing packages where public is set to False would be package.view (show, whatever), and *never* visible for unauthenticated users." 1345466389000000 1350562096000000 2549 enhancement ross ross ckan 2.0 closed wontfix Merge organization logic into groups " == Requirements == Merge the organizations plugin into the core groups functionality. Most of this is templating and a small number of changes to the group controller. Investigate the possibility of removing the Membership model and using FKs. == Interface == This is likely to consist of: * Updating the templates in templates/group/ * Configuring whether we want to constrain datasets to a single group (as per organizations) * Implementing the separate user management (add users to group). * Checking the publisher auth to not necessarily rely on group type = 'organization' * Making sure that the changes still work with publisher auth. == User Stories == None == Tasks == [ ] Code [ ] Configuration [ ] Model/Migration [ ] Fix templates [ ] Documentation == Estimates == " 1340017421000000 1350562037000000 2880 enhancement icmurray ross ckan 2.0 closed wontfix Datasets (Package) should have owners "Each dataset should have an explicit owner that is an organisation. This is the organisation that owns the dataset* and will be used for specifying who can move a dataset out of the default organisation. This should probably be a foreign key link from dataset to organisation (or rather group). * Currently this won't necessarily be the organisation that the dataset is a member of, but it is likely that this will be the case initially (at least until someone moves it to another organisation)." 1345466535000000 1350561968000000 2878 enhancement icmurray ross ckan 2.0 closed wontfix Roles and Permissions for Organisations "As part of merging Organisations into core, it is necessary that we clarify the capacity field with which the users/datasets are added as members to the group 'subclass'. Rather than the capacity being an opaque string that implies auth but doesn't clearly specify it, we will use role names where roles are defined in the database - with a clearly defined set of standard roles. The Role table is expected to have simply a string name/representation and acts as a container for permissions. Each permission is a string of the form object.action (such as package.add, group.delete) of which several are expected to be associated with a role. This means the permission table will contain a string and a reference to the role. This work will require UI changes to the screens allowing users to be added to a group/organisation so that the list of available roles is available to add those users. [x] Model for Role and Permission [ ] Logic layer changes for managing roles/permissions etc. [ ] Determine default roles, perhaps just admin/editor/viewer [ ] Fix the auth layer to use the permissions/roles - may be better implemented as another ticket. " 1345466266000000 1350561906000000 2940 enhancement johnmartin johnmartin ckan 2.0 closed fixed Edit different resources from edit dataset pag We need a nice way to be able to get to editing the different resources that are associated to a dataset. 1348580812000000 1350560926000000 2941 enhancement johnmartin johnmartin ckan 2.0 closed fixed Add follower support back into CKAN 2.0 Add the views and functionality of following users and groups into 2.0 1348584670000000 1350560915000000 2980 enhancement seanh ckan 2.0 closed wontfix Add new groups and organizations functionality into legacy templates From Toby: add the functionality to legacy templates 1350297883000000 1350560252000000 2993 defect seanh ckan 2.0 new """logged_in"" and ""visitor"" show in user list at /users" 1350466922000000 1350484826000000 3000 enhancement seanh ckan 2.0 new Add number of followers to dataset pages User profile pages now show some interesting stats about the user: num. datasets, num. edits and num. followers. Would be nice to add some similar info to dataset pages. At least num. followers can be done (already implemented in backend). 1350484560000000 1350484560000000 2999 enhancement seanh ckan 2.0 new Add activity streams to organization pages Before we do this we need to merge the organizations branch into master, we need to implement smarter activity streams for organizations, and we need to implement following of organizations. 1350484457000000 1350484457000000 2998 enhancement seanh ckan 2.0 new Add activity streams to group pages Before we do this we should implement smarter group activity streams (i.e. what activities should appear in a group's activity stream?) and following of groups. 1350484394000000 1350484394000000 2997 enhancement seanh ckan 2.0 new Add activity streams to dataset pages Add an activity stream tab to dataset pages, like we have on user profile pages. Dataset activity streams are already implemented in the backend. 1350484306000000 1350484306000000 2996 enhancement seanh ckan 2.0 new Fix behaviour of View Profile button in user popover when already on user's profile "The user popovers that appear when you hover the mouse over a user in an activity stream include a View Profile button that takes you to that user's profile page. If you are already on that user's profile page then it simply reloads the same page, but it sends you to the Datasets tab if you were on another tab. Possible solutions: Don't show button if already on user's page? Button just makes popover disappear, if already on user's page? Button does reload the page, but reloads the same tab (datasets, followers, activity stream) that you were on. Marking this low priority" 1350484238000000 1350484238000000 2995 enhancement seanh ckan 2.0 new Popovers for resources, groups, organizations, tags... "If you hover the mouse over a dataset or user in an activity stream, you now get a popover with some info about that dataset or user and a follow/unfollow button. It would be nice to add similar popovers for other types of object in CKAN, e.g. resources, groups, organizations, tags..." 1350484041000000 1350484041000000 2994 enhancement seanh ckan 2.0 new Add dataset and user popovers throughout the site "If you hover the mouse over a dataset or user in an activity stream, you now get a popover with some info about that dataset or user and a follow/unfollow button. These popovers should appear wherever datasets or users are listed, throughout the site." 1350483964000000 1350483964000000 2992 enhancement johnmartin new Delete resource should send me back to edit dataset page 1350407956000000 1350407956000000 2991 enhancement seanh ckan 2.0 new Add blocks to header.html template Currently if you want to customise the header.html template you have to copy the whole thing, it isn't broken up into blocks like other templates are. 1350385820000000 1350385820000000 2872 defect seanh ckan-v1.8 closed fixed Non-open licenses are marked as open Set a dataset's license to 'Other (Not Open)', the dataset will have an Open Data icon next to it 1345124135000000 1350304179000000 2914 defect seanh ckan-v1.8.1 new Add form_to_db_schema_options() to IDatasetForm and IGroupForm This optional method is supported when creating or updating groups and packages and is used in DefaultGroupForm and DefaultPackageForm, but seems to be missing from the interfaces. Should be added with docstring. 1347445795000000 1350303928000000 2912 defect seanh ckan-v1.8.1 new ckanext/organizations: Neither public or private initially selected when adding dataset When adding a dataset with the organizations extension on, neither the Public or the Private radio button is initially selected. Public should be selected. 1347271076000000 1350303897000000 2763 defect seanh ckan-v1.8.1 new Multilingual tests failing test_multilingual_plugin.TestDatasetTermTranslation.test_dataset_index_translation, test_multilingual_plugin.TestDatasetTermTranslation.test_group_read_translation both failing for me on master 1343303819000000 1350303864000000 2846 defect seanh ckan-v1.8.1 new Organizations allows you to set an organization as the parent organization of itself that doesn't make any sense 1344860536000000 1350303844000000 2815 defect seanh seanh ckan-v1.8.1 new db_to_form_package_schema() strips tracking summary, isopen If an IDatasetForm plugin with a db_to_form_schema() based on db_to_form_package_schema() (which is in turn based on default_package_schema()) is in use then the 'tracking_summary' dict and the 'isopen' bool get stripped from package dicts during validation, e.g. during package_show(), and these values are then not available to templates. 1344444427000000 1350303821000000 2913 defect seanh ckan 2.0 new IGroupForm has package_form() method Should be group_form() I think 1347374739000000 1350303779000000 2771 enhancement seanh seanh ckan-v1.8 new Documentation and examples for IDatasetForm and IGroupForm "Add minimal, working IDatasetForm and IGroupForm example extensions to core, with tests. The IDatasetForm example should use tag vocabularies (two birds with one stone) The IDatasetForm and IGroupForm docs are not very good (and are somewhat spread around different doc chapters), fix them up, and reference the new working examples. Tab Vocabularies docs should reference IDatasetForm example. When using convert_to/from_extras() you have to remove any free extras from the form or it won't work, this needs to be documented (in the docstring maybe) There have been recent changes to the schemas that IDatasetForm and IGroupForm use, make sure the docs are up to date." 1343392238000000 1350303564000000 2990 enhancement seanh ckan 2.0 new Fix descriptions of groups and organizations on /groups and /organizations pages 1350299091000000 1350299091000000 2989 enhancement seanh ckan 2.0 new """Add dataset to organization"" should auto-select the organization" "'Add dataset to organization' button, when you get through to the third stage of the new dataset form the organization you came from is not selected. I don't see any option to choose the group when adding or updating a dataset, but if I add a dataset via the ""Add dataset to group"" button on a group's page, then the dataset seems to get added to that group. (And I can also add/remove existing datasets by editing the group.) I wonder if organizations should work the same way, instead of having an Organization drop-down when creating or updating a dataset. The add dataset page needs to somehow indicate that you're adding a dataset to a certain group or organization though, doesn't currently." 1350299052000000 1350299052000000 2988 enhancement seanh ckan 2.0 new UI functional tests for CKAN 2.0 Afaik the new CKAN 2.0 frontend has no functional tests 1350298935000000 1350298935000000 2987 refactor seanh ckan 2.0 new Remove all direct calls to logic action and auth functions From Toby 1350298287000000 1350298287000000 2986 refactor seanh ckan 2.0 new Make lib/base.py more like it was originally intended "From Toby: make lib/base.py be more like it was originally intended eg defines stuff that is shared eg _ but maybe try to include stuff like render/get_action if the circular import stuff can be solved - which should be doable if hard and likely needs an extra file or two for the externals _ etc " 1350298245000000 1350298245000000 2985 refactor seanh ckan 2.0 new Make lib/helpers.py more template-specific "From Toby: make lib/helpers more template specific and less generally shared with none template uses (some functions are shared but many shouldn't be) - again help avoid circular imports " 1350298188000000 1350298188000000 2984 refactor seanh ckan 2.0 new Auto-populate context with user, model, session, etc. "From Toby: make the context auto-populated with things like user/model/session if not user supplied - especially for extensions (pre 2.0) maybe via a helper or else a decorator on the action - helper seems nicer maybe done via get_action()" 1350298101000000 1350298101000000 2983 refactor seanh ckan 2.0 new Refactor lib/base.py to remove circular import issues "From Toby: c) refactor lib/base.py to remove the circular import issues (render functions to lib/render.py - would fix much of that) " 1350298044000000 1350298044000000 2982 refactor seanh ckan 2.0 new Move functionality from controllers into template helpers "From Toby: strip more functionality from controllers and add via template helpers eg activity streams " 1350298002000000 1350298002000000 2981 refactor seanh ckan 2.0 new Remove config from jinja templates "From Toby: remove the config from jinja2 templates get all such stuff via g. (before 2.0) " 1350297960000000 1350297960000000 2979 enhancement seanh ckan 2.0 new Requesting membership to groups and organizations "From Toby: The requesting membership user stories and implementation remain needed " 1350297844000000 1350297844000000 2978 enhancement seanh ckan 2.0 new Tests for permissions for organizations and groups "From Toby: checking the logic around the who can do what from the user stories - via some tests may be a good approach " 1350297806000000 1350297806000000 2977 enhancement seanh ckan 2.0 new Fix user autocomplete on group and organization member pages "From Toby: @johnmartin the user autocomplete on member add needs fixing it gets data but does not understand what to do with it " 1350297749000000 1350297749000000 2976 enhancement seanh ckan 2.0 new Polish group and organization member pages "From Toby: A little polish to the member pages and probably a little hardening of the controller and logic actions" 1350297709000000 1350297709000000 2975 enhancement seanh ckan 2.0 new Tests for auth functions and new actions "From Toby: tests around the auth functions and new actions - probably needs an improved testing mechanism and things like test data creation on via actions " 1350297660000000 1350297660000000 2974 enhancement seanh ckan 2.0 new General of all auth functions "From Toby: A general cleanup of all auth functions (in logic/auth) to check their fitness, error messages, etc." 1350297612000000 1350297612000000 2973 enhancement seanh ckan 2.0 new Move new_authz.py into logic/auth/__init__.py "Makes sense to keep all auth stuff under logic/auth. Also decide which functions from new_authz.pu should be marked private with _. Also decide which functions from new_authz.py are really helpers for the auth functions in get.py, update.py and delete.py, and should maybe moved to another file, e.g. logic/auth/helpers.py" 1350297545000000 1350297545000000 2972 enhancement seanh ckan 2.0 new Remove any imports of authz.py and delete file it is no longer used 1350297442000000 1350297442000000 2968 defect seanh ckan 2.0 new Anyone can access organization members page The button will not show if you are not authorized but browse to /organization/members/foo and you can edit the members, it does stop you when you try to save your changes, but you shouldn't be able to get to the page at all 1350296355000000 1350297070000000 2971 enhancement seanh ckan 2.0 new """Are ytou sure you want to delete this member?"" should say which member" when deleting members from groups and orgs 1350296840000000 1350296840000000 2970 defect seanh ckan 2.0 new Organization and group member links use id not name e.g. it the 'Members' button links to /organization/members/0a44... instead of /organization/members/foobar 1350296531000000 1350296531000000 2969 defect seanh ckan 2.0 new Group members page 500s The group members page (e.g. /group/members/roger) seems broken, IDs instead of user names are shown for the members, and clicking on a member 500s 1350296454000000 1350296454000000 2434 defect seanh seanh ckan-v1.8 closed fixed Fix autodoc on readthedocs again 1337962353000000 1350296272000000 2967 defect seanh ckan 2.0 new Organization members edit page reloads after demoting self Edit an organizations members page and demote yourself from organization admin, after saving the members edit page reloads even though you are no longer an admin and should no longer be able to access this page. 1350296227000000 1350296227000000 2639 enhancement amercader amercader ckan-v1.8 closed fixed Update recline version for 1.8 release New recline version has significant improvements like the SlickGrid based grid view, it'd be good to have it on 1.8. 1341845809000000 1350296205000000 2965 defect amercader ckan-v1.8 new Stats extension broken on 1.8 " * Graphs not showing (looks like a flot related file is missing) * Wrong groups counts (e.g. Data Explorer Examples show 1800 datasets when it onlu has 8)" 1350296141000000 1350296157000000 2966 enhancement seanh ckan 2.0 new 'Add' button text is wrong when editing organization members e.g. if I just changed a member's capacity I am not adding anything 'save' is better maybe 1350296149000000 1350296149000000 2964 defect seanh ckan 2.0 new Last organization admin can remove herself "If you are the only admin of an organization you can edit the organization's members and demote yourself, then the org has no admins and no one (except sysadmins maybe) can edit it. Last admin should not be able to remove or demote herself. Also applies to groups." 1350296058000000 1350296058000000 2963 defect amercader ckan-v1.8 new Timeout on tag pages with lots of datasets "e.g. http://thedatahub.org/tag/lod Tags with less datasets work fine (e.g. http://thedatahub.org/tag/railways)" 1350295999000000 1350295999000000 2811 defect seanh ckan-v1.8 closed fixed Author doesn't show on dataset read page Edit a dataset and add an author, dataset read page still says 'author not given'. If you fill out both the author and author email fields then it works. 1344415861000000 1349869110000000 318 defect johnglover wwaites ckan-sprint-2011-10-28 closed fixed Insufficient validation of resource URIs "The CKAN instance on data.gov.uk serves invalid URIs out of its API. For example the following can be found, http://uk.sitestat.com/homeoffice/rds/s?rds.hosb0509tabsxls&ns_type=pdf&ns_url=[http://www.homeoffice.gov.uk/rds/pdfs09/hosb0509tabs.xls] In this URI, the : and / characters after the ? in the query part are invalid according to section 3.4 of RFC2396 Also URIs are not stripped of whitespace at the end. This causes problems when other software with a more correct interpretation of what a valid URI is attempts to consume data from CKAN. In this instance the Talis triplestore complains about such URIs. ""Be liberal in what you accept and conservative in what you send"" would seem apt. == Actions == * Validation of urls as part of form entry or data loading * Need to consider situation where this should happen out-of-band (i.e. we allow load even with invalid data and then flag bad dates in separate validation process). In general doubtful that we should do this here because url invalidity is such a big deal * This code should support analysis of existing data so we can go through existing database and find invalid urls * Also useful to have this so we can do out of band validation " 1274302723000000 1349778662000000 2962 enhancement dominik ckan-backlog new Search across multiple ckan instances "Could be done by: - using the solr distributed search - difficult set up - merging result sets from apis - make sure that results can be merged properly (score, facets, ...)" 1349736622000000 1349736622000000 2960 task dominik ckan-backlog new Private datasets are not private At the moment everyone can read all resources. There is no support for hiding resources that are in private datasets. 1349694255000000 1349694255000000 2959 defect icmurray icmurray ckan 2.0 new Changing a Group's name through the action api disassociates it from its datasets in the index "Repro: - Create a new Group, named ""test-group"". - Add a dataset to it. - Verify the dataset belongs to the group by visiting the Group's read-page - Update the Group through the action api (group_update), using the uid in the ""id"" field, and a new name in the ""name"" field. - Visit the group's read-page. The list of datasets will be empty. This was an issue when editing a Group through the web interface, which was fixed in [1]. However it only fixes the issue in the group controller. [1] https://github.com/okfn/ckan/commit/dbe25d8b8d7fabfc40c5d794a920b91cec349335" 1349363935000000 1349363935000000 2956 enhancement shevski johnmartin ckan 2.0 assigned Allow for resource editing in CKAN 2.0 On the edit dataset page... there needs to be a way for users to be able to see all the resources associated to the dataset and edit them individually. 1349277100000000 1349346442000000 2958 defect seanh ckan-v1.8 new Uploading files with unicode characters in filename fails in CKAN 1.7 and 1.8 "e.g. 2012_08(주요국가).xls I tested in CKAN 2.0 and it seemed to work fine there." 1349342976000000 1349342976000000 2957 task dominik new New datastore on postgres prior to 9.0 The ``GRANT SELECT ON ALL`` and ``ALTER DEFAULT PRIVILEGES`` are not available in Postgres prior to version 9.0. 1349292214000000 1349292214000000 2953 defect dominik closed fixed Server error in template directories "If you go to: /{any template dir} for example /home or /related, a Server errror occurs. IOError: [Errno 21] Is a directory: u'/../venv/src/ckan/ckan/templates/home'" 1349252920000000 1349257893000000 2950 requirement icmurray ckan 2.0 closed fixed paster command to minify javascript and css "With the latest template, css and js changes in 2.0, there are a number of things that need preparation prior to a production deployment. One of these is: - the fanstatic_resources defined in `ckan/lib/fanstatic_resources.py` (bottom of module) should be prepared, and minified. This ticket is to: - provide a paster command which when run will generate the minified javascript as css files. - stop the auto-minification of files when CKAN starts up. - remove reference to the minified files in the `.gitignore` file. - add instruction to the release process to run this command, and check-in the minified files to the repo. ## Background Currently, minification works seamlessly without the need for any preparation when CKAN is started in a development setup. But on a production site, the webserver will (almost certainly) not have write-access to the directories that will contain the minified files. And so the minification will fail, and the site will end up serving the un-minified media, or even *old* minified media. One way around this would be to allow webserver write access to the directory its serving out of. But this is not generally considered good practice. Another method would be to distribute the minified files with CKAN. This ticket describes how to do this without causing a lot of noise in the commit history of the repo. The auto-minifcation occurs when importing `ckan/lib/fanstatic_resources.py`. ## Changing the process slightly The reason for moving away from auto-minifying files at start-up, to minifying files when running a paster command is: - we should be distributing the minified files when we make a release (as we do with translation files). This makes it easier to install CKAN from source. - if we distribute the minified files, then they need to be checked-in to the repo. - if they are auto-minified, whenever small changes are made, then this will create a lot of noise in the repo. It will be clearer to have the minified-files generated manually as part of the release process. (Or whever we make a deployment internally)." 1349118376000000 1349189654000000 2951 enhancement icmurray ckan 2.0 new Paster command for building css from less "With the latest template, css and js changes in 2.0, there are a number of things that need preparation prior to a production deployment. One of these is: - the less files should be compiled to css (main.css, not just main.debug.css) This ticket is to provide a paster command which will compile the .less into the main.css file. The idea of the paster command is that it will be run by developers, and they will check in the resulting .css files. It will also provide a convenient mechanism for production scenarios with node.js installed on the production server, as they will be able to compile the .less there as well. ## Background The .css files that need to be served are built using `less`. The css files that are generated *are* checked-in to the repo; but they are a build artifact. So the general workflow is: - commit changes to the less files - build the main.css file and commit This paster command slots into the above workflow for convenience. ## Notes - doc/frontend-development.rst - bin/less to run this paster command, `Node` will be required. So that dependency should be checked. ## The paster command This is the proposed behaviour of the paster command: - ensure `custom.less` does not exist - for each colour in{fuchsia,green,maroon,red}: - generate a `custom.less` file for $colour. There's a paster command that does this already: `paster color . - generate the `css` from the `less` files. ie - the equivelant of running `bin/less --production`. - this will generate a `main.css` file, which should be renamed to `$color.css`. - ensure `custom.less` does not exist - generate the `css` from the `less` files. This will create a `main.css` with the default colour scheme. - call the paster command that minifies css and js files. (This command does not exist yet, see #2950)" 1349118740000000 1349175030000000 2952 enhancement seanh icmurray ckan 2.0 new incorporate javascriopt translations into translations workflow There are now javascript translations. There's a paster command, `trans js`. This is a ticket to ensure that using `trans js` is documented in the normal ckan translation workflow (which is followed after a feature freeze, prior to release). And to see if there's any need for further incorporation into the current translation process. 1349118945000000 1349118945000000 2949 defect amercader amercader new Reenable Data API button on the new theme The checks to show or not the button need to be updated for the latest datastore version 1349107464000000 1349107464000000 2948 enhancement dominik new Negative range breaks datastore backend Recline allows negative ranges. The backend returns an error 500 for that which breaks the recline preview. 1349101854000000 1349101865000000 2947 enhancement dominik new Redirect to the resource page from /resource/{res-id} "Use story: As a user of the datasore I want to be able to put the resource id without the dataset name in a url and see the resource page. Proposed redirect: /resource/{res-id} -> dataset/foo-bar/resource/{res-id}" 1349097325000000 1349097325000000 2946 enhancement dominik closed duplicate Pdf preview does not load in IE The pdf preview does not load in IE 9. 1349090873000000 1349090992000000 2945 enhancement dominik new Pdf preview does not load in IE The pdf preview does not load in IE 9. 1349090869000000 1349090869000000 2944 enhancement dominik new Recline preview does not work in Opera Opera cannot show a recline preview. I shows 0 records. 1349090802000000 1349090802000000 2943 enhancement dominik new Chrome does not resize preview Chrome does not resize iframe after a full refresh/ on first load 1349089686000000 1349090759000000 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 2203 enhancement kindly rgrp ckan-v1.9 assigned Data Viewer support for PDF " * Boot viewer for format/mimetype: application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf * propose we use pdf.js - https://github.com/mozilla/pdf.js * We could also try iframing for browsers with native support but this seems more complex" 1330860293000000 1348568961000000 2939 enhancement toby toby new Orgs are groups holder for ticket number 1348564034000000 1348564034000000 2938 enhancement Toby dominik new Explain bundling in doc/resources.rst "Since it makes sense to bundle resources into one js file that are commonly used together, there should be some explanations on how separate js scripts are merged into one file for production. Explanations could include how groups are handled or different resource files." 1348488835000000 1348488835000000 2937 defect seanh ckan-v1.8 closed fixed GroupController.history() missing extras_as_string "GroupController's history() method doesn't pass 'extras_as_string': True in the context when it calls group_show. This means that if you have an IGroupForm plugin that is adding a custom metadata field and using convert_to/from_extras() then a field value of 'foo' will be returned as '""foo""' Other GroupController and PackageController methods do pass 'extras_as_string'" 1348155730000000 1348238875000000 2934 enhancement Dominik new Webtests for CKAN "The tests in CKAN only test single pages (functional tests) or single methods (unit tests). In order to make sure that the whole system still works as expected, we need tests that cover whole processes. An example user story to be tested would be: ""As a user with create permissions I want to be able to log in, create a new resource, save it and then make sure that it is in the system."" or: ""As a user I want to use the search functionality and open a resource from the search page."" These user stories require a different testing system with interaction and processes. " 1347966647000000 1348060201000000 2936 defect seanh ckan-v1.8 new Updating a group via the API clears its packages "If the group dict that you post to the API does not have any 'packages' key then all the group's packages get removed. I think it would be better if you could just update e.g. the group's description without having to also post the list of packages, and apparently this is how other update API actions work. Might be worth checking all the update API actions for this behaviour, and making sure they're all consistent" 1348048066000000 1348048066000000 2918 enhancement johnmartin ross ckan 2.0 closed fixed Can't remove users from organizations "When you remove someone, without adding them, the text box at the bottom (which should probably autocomplete) is empty, and this causes problems on the server. Ideally when you add a user (select from the autocomplete) it would add another row to the table, defaulting the user to editor and setting the names to user__{{X}}__name and user__{{X}}__capacity where X is $('tr').size()" 1347455572000000 1347970735000000 2916 enhancement johnmartin ross ckan 2.0 closed fixed User management in orgs needs autocomplete " The user management in organizations ( http://localhost:5000/organization/users/NAME ) should autocomplete names in the dropdown box so that only valid usernames are added to the table." 1347451792000000 1347970727000000 2536 enhancement toby toby ckan-v1.9 closed fixed cleanup activity streams 1339765323000000 1347901915000000 2578 defect toby toby demo phase 4 closed fixed demo theme breaks the tests "The demo branch fails huge numbers of tests. many are going to be template based - these need to be sorted - ideally we need to get them to work with legacy/new templates but see how we go on that one anyhow this is not a priority whilst we are branched but needs resolving before we merge into master" 1340276924000000 1347901892000000 2618 enhancement toby toby demo phase 4 closed fixed allow nested js resources 1340878063000000 1347901864000000 2933 enhancement seanh ckan 2.0 new Update theming docs "There's quite a lot of custom stuff going on, with all the custom jinja extensions, and the use of Fanstatic plus custom fanstatic extensions. People who are new to CKAN wanting to write CKAN themes are likely to be confused. I think the whole lot could do with documentation, maybe in the Theming and Customizing chapter in the sphinx docs. I suggest completely replacing the contents of doc/theming.rst, and putting a 'legacy theming' link at the bottom linking to a doc/legacy_theming.rst file with the old contents." 1347895272000000 1347895272000000 2932 enhancement seanh ckan 2.0 new Add docstring to system_info.py What is the system_info table for? It looks like a way to override config file settings in the database, perhaps so that admins can use a web interface to change site title etc. Could do with a docstring explaining the intended purpose of the table. 1347893429000000 1347893429000000 2931 enhancement seanh ckan 2.0 new Better docstring for app_globals.py "''' The application's Globals object ''' is not very informative. " 1347891194000000 1347891378000000 2929 enhancement seanh ckan 2.0 new Remove is_fallback() from I*Form extension interfaces? "If a plugin wants to take over the default package type for example, it can return ['dataset'] from its package_types() method. I don't see how there can be a package type that is not the default 'package' and is not returned by the package_types() method of a plugin, because the URLs for such a package type would not be mapped. Am I missing something or is is_fallback() not needed? Same for IGroupForm and IOrganizationForm" 1347552597000000 1347552597000000 2928 enhancement seanh ckan 2.0 new Run CKAN tests with example_i*form extensions enabled Before releasing CKAN 2.0 we need to run all the CKAN tests with a modified test-core.ini with the example_idatasetform, example_igroupform and example_iorganizationform plugins enabled. If any tests fail, fix the bugs. This needs to be done for each release so add it to the release process. 1347552334000000 1347552334000000 2927 enhancement seanh ckan 2.0 new Test new package/group/organization type URLs support IPackageForm, IGroupForm and IOrganizationForm allow you to define e.g. new package types with new top-level URLs, but the example extensions don't have tests for this yet. 1347552153000000 1347552153000000 2926 enhancement seanh ckan 2.0 new I*Form tests for per-type templates "Finish the tests for the per-package-type custom template support in IPackageForm, IGroupForm and IOrganizationForm (i.e. the new_template(), read_template() etc. methods). The new way that template inheritance works in jinja looks like it should allow this to be tested nicely without duplicating entire templates in the example extensions." 1347552081000000 1347552081000000 2925 defect seanh ckan 2.0 new Remove trans mangle paster command? "- Is `trans mangle` really necessary? If you upload a pot file to Transifex, it can generate a po file for you with 100% strings translated into a fictional pseudo language where everything is really long strings of unicode characters. I found this worked well for coverage testing, and also tests handling of unicode and long strings all over the place." 1347530768000000 1347530768000000 2924 defect seanh ckan 2.0 new Better docs for trans js command, and add to release process "Add a better docstring to for trans js command explaining what it does and why, and how to use it. Also add this command to the CKAN Release Process as it's needed there" 1347530671000000 1347530671000000 2923 defect seanh ckan 2.0 new Change regularise -> regularize The function is called regularise_html(), can't remember what file it's in. 1347530582000000 1347530582000000 2922 defect seanh ckan 2.0 new Better docstring for CKANInternationalizationExtension "I'm unsure about what's going on here. As I understand it, when we run `python setup.py extract_messages` it's going to use the extract_ckan() function from ckan/lib/extract.py to process the HTML files. For the HTML files that are jinja2 templates, extract_ckan() will call jinja2_cleaner() which will call regularise_html() on the strings. So the strings are regularised when they are extracted from the source files. But then we have the parse() method of CkanInternationalizationExtension also calling regularise_html(). I don't get what's happening here. Why do the strings need to be regularised twice? My guess is that CkanInternationalizationExtension is used when the strings are extracted from the templates at runtime, and they need to be regularised at this time in order to match them against the regularised strings in the mo files to find the translations to output? Maybe CkanInternationalizationExtension needs a better docstring saying what it does?" 1347530507000000 1347530507000000 2921 defect seanh ckan 2.0 new Add docstring to top of lib/extract.py file "I think it couldn't hurt for this module to have a docstring at the top of the file explaining what the module is for. I know from setup.py that it's there to provide the extract_ckan() string extractor function for Babel, but I think looking at the file on its own it's not so obvious. Also a couple of other small fixes: jinja2_cleaner looks like a helper function only meant to be used by extract_ckan(), might make things clearer if it was called _jinja2_cleaner(), just so it doesn't look like a public function the module wants to export. jinja_extensions seems to be a module-level variable that is only used in one function, could be moved into the function, unless you think there might be more functions that want it in future." 1347530407000000 1347530407000000 2920 defect seanh ckan 2.0 new Genshi text template message extractor no longer needed? "In setup.py, do we still need: ('templates/**.txt', 'genshi', { 'template_class': 'genshi.template:TextTemplate' }), in message_extractors? Doesn't like there are any txt files in there anymore." 1347530249000000 1347530249000000 2919 defect seanh ckan-v1.8 new Remove IController from docs Still in docs but seems gone from code 1347461253000000 1347461253000000 2917 enhancement johnmartin ross ckan 2.0 new Organization admins can delete themselves Organization administrators can delete themselves from the user management pages. We should disable this on the front-end as well as the back-end. 1347451843000000 1347455636000000 2915 refactor seanh ckan 2.0 new Refactor form_to_db_schema_options() "Having two methods form_to_db_schema(self) and form_to_db_schema_options(self, options) seems unnecessary, why not just have form_to_db_schema(self, options=None)? Fixing this might break existing extensions although I don't think any are using form_to_db_schema_options() so it should be okay. The same thing goes for db_to_form_schema_options(). Also why are we passing a dict 'options' that always contains the same three keys 'api', 'context' and 'type'? Why not three params api=None, contenxt=None, type=None?" 1347446269000000 1347447588000000 1171 enhancement mark.wainwright dread ckan 2.0 assigned Citation instructions on dataset and resource view pages "Some sort of citation helper. Something small on the dataset and resource page that would show how to cite. wwaites: Some related thoughts on this from opb: http://homepages.inf.ed.ac.uk/opb/papers/ssdbm2006.pdf timclicks: I'm looking at Dataverse for the first time[0]. It seems very popular in the social sciences. I noticed that there is a recommended citation for each dataset. For example, [1] is has this one: ""Targeted Input Programme (TIP) 2000-01"", http://hdl.handle.net/1902.1/SSC-MWI-TIP2000-01-M1 V1 [Version]"" == Implementation == Add a small box at bottom of dataset / resource page (or in sidebar on dataset page) with title ""Cite this"" with contents like: %title. %author. Retrieved %date. %site_title. For resource: %title = %dataset_title. %resource_name. Could also add export to ref managers (e.g. to bibtex) but that is for later." 1306920799000000 1347358705000000 2845 defect seanh seanh ckan-v1.8 closed fixed Editing an organization removes all datasets from the organization Run CKAN with the publisher profile and organizations plugins enabled. Make an organization. Make a dataset and add it to the organization. Edit the organization and change e.g. its description. After saving the organization, all its datasets have been removed from the organization and now belong to no organization. 1344859286000000 1347271110000000 2843 defect seanh seanh ckan-v1.8 closed fixed Adding existing datasets to organizations is broken "On the organization read page there is only an 'Add Dataset' button, not a drop-down with add new dataset or add existing dataset as on the default group page. On the organization edit page you do have the drop-down, but if you click add existing dataset nothing happens except it appends #datasets to the URL" 1344859137000000 1347270569000000 2911 enhancement kindly new Internal documentation of Organization Groups A summary/user story doc of how organizations and groups are expected to work. 1346941384000000 1346941384000000 2910 enhancement johnmartin demo phase 5 new User listings are not very compelling They are currently are just a small image / name. They should be: Larger image, Full name (username), description, edits/dataset 1346931587000000 1346931587000000 2909 enhancement johnmartin demo phase 5 new User profile headers are a bit weird They seem to be not exactly well thought out. Needs some thought on better display of the information that they contain. 1346931348000000 1346931348000000 2908 enhancement johnmartin demo phase 5 new Dataset related with image should retain aspect ratio At the moment if you have an related item with an image associated to a dataset that appears in the side column it's resized but doesn't keep it's original aspect ratio. 1346931162000000 1346931162000000 2906 defect dominik demo phase 5 new Wrong flags in language dropdown "The flags in the dropdown on details pages are not right. You can see the error on http://s031.okserver.org:2375/dataset/malawi-aid-projects/resource/b717c20e-2006-4ad4-82d2-59b57ebc1ab0." 1346861144000000 1346862889000000 2905 enhancement johnmartin demo phase 5 new Add dataset URL key behaviour "On step 1 for adding a dataset can we add a ajax ping that checks if the URL that is generated by the JS is taken? Behaviour should be as follows: 1. User types title in box (as current) 2. URL key is regexed by JS (as current) 3. The JS does a ajax call to check if the generated URL key is valid. The ajax callback returns a JSON dump which contains what the URL key should be (e.g. if 'test' was taken it returns 'test-1') 4. If the URL key returned in the ajax is different than the one generated by the JS then: 4a. If the user hasn't clicked the edit button then: it automatically updates the URL key field with the URL key supplied in the ajax 4b. If the user has clicked the edit button then: a form error next to the input appears saying that the URL key is taken and within that error is suggests the URL key returned by the ajax as alternative (the user can click said URL key within the error to automatically choose that one) The URL key isn't reserved by the ajax and upon form submission the usual validation should still apply." 1346855283000000 1346855283000000 2904 enhancement johnmartin demo phase 5 new Show more formats/groups/tags shouldn't display if there aren't more On the search results page when there are no more formats, groups or tags to display it should not display the show more links. 1346854444000000 1346854444000000 2902 enhancement ross ckan 2.0 new genshi is used in Group controller "The Group controller uses the genshi module where it may be better for it to use Markup() in the template. See https://github.com/okfn/ckan/pull/117/files#r1524863" 1346782230000000 1346782230000000 2599 enhancement johnmartin aron.carroll demo phase 4 closed fixed Test in IE can we promote this to phase 3? 1340717662000000 1346756230000000 2901 enhancement johnmartin demo phase 5 new Language Dropdown bug in footer with IE7 "The language dropdown in Internet Explorer 7 behaves oddly. Essentially I think the problem is with the way that the dropdown decides to go into ""drop-up mode"" (e.g there aint enough screen space below the initial state so it has to drop up)." 1346754674000000 1346754674000000 1685 enhancement ross ross ckan-backlog closed wontfix Move archiver download function to core Archiver is included in some places just for access to download(), we should move this to lib in core. 1326984170000000 1346670530000000 1831 enhancement ross ckan-backlog assigned Login with email address "Users should be able to log in using either their username, or their email address, both of which are unique. Will require a change to UsernamePasswordAuthenticator in ckan.lib.authenticator.py and possible a useful User.by_email in the user model if it doesn't already exist." 1330073906000000 1346670504000000 2554 enhancement ross ckan-backlog assigned Research Virtuoso cartridges "Look into writing a cartridge for importing CKAN data into a Virtuoso quadstore http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSponger#How Does It Work?" 1340026645000000 1346670433000000 2814 enhancement shevski markw assigned Demo: upload file behaves oddly "3. Uploading a file behaves counter-intuitively (I would suggest wrongly). When adding a new resource by uploading a file, I select a file called say create-group.png. I expect the following to happen: * the pathname of that file is filled in the box; * nothing is actually uploaded till I hit 'add' (confirming that I've got the right file etc). Instead of this, * the file is immediately and, seemingly, irrevocably uploaded; * the box is filled with a mysterious URL (https://commondatastorage.googleapis.com/ckan-demo ...) * the mysterious URL is so long I can't even see the final element, which is my file name. " 1344420360000000 1346670381000000 2865 enhancement ross ross closed fixed 1.8 unicode error " URL: http://thedatahub.org/el/tag/jutatt%C3%A1sok 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:155 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:131 in __call__ << r'\1', oldpath) 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:239 in __call__ << try: res = WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> res = 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.template:30 in view << """""" try: return render(url) except TemplateNotFound: if url.endswith('.html'): >> return render(url) Module ckan.lib.base:153 in render << try: return cached_template(template_name, render_template, loader_class=loader_class) except ckan.exceptions.CkanUrlException, e: raise >> loader_class=loader_class) Module pylons.templating:249 in cached_template << return content else: return render_func() >> return render_func() Module ckan.lib.base:95 in render_template << template = globs['app_globals'].genshi_loader.load(template_name, cls=loader_class) stream = template.generate(**globs) >> cls=loader_class) Module genshi.template.loader:223 in load << loadfunc = directory(loadfunc) try: filepath, filename, fileobj, uptodate = loadfunc(filename) except IOError: continue >> filepath, filename, fileobj, uptodate = loadfunc(filename) Module genshi.template.loader:286 in _load_from_directory << def _load_from_directory(filename): filepath = os.path.join(path, filename) fileobj = open(filepath, 'U') mtime = os.path.getmtime(filepath) def _uptodate(): >> fileobj = open(filepath, 'U') UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 73: ordinal not in range(128) CGI Variables CKAN_CURRENT_URL '/el/tag/jutatt%C3%A1sok' CKAN_LANG 'en' CKAN_LANG_IS_DEFAULT True CKAN_PAGE_CACHABLE True CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'close' HTTP_FROM 'googlebot(at)googlebot.com' HTTP_HOST 'thedatahub.org' HTTP_USER_AGENT 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' PATH_INFO '/el/tag/jutatt\xc3\xa1sok' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/el/tag/jutatt\xc3\xa1sok' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '49520' REQUEST_METHOD 'GET' REQUEST_URI '/el/tag/jutatt%c3%a1sok' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'thedatahub.org' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '
Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80
\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application beaker.cache beaker.get_session > beaker.session {'_accessed_time': 1345113298.778472, '_creation_time': 1345113298.778472} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (, '') paste.registry paste.throw_errors True pylons.action_method > pylons.controller pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons pylons.routes_dict {'url': u'el/tag/jutatt\xe1sok', 'action': u'view', 'controller': u'template'} repoze.who.logger repoze.who.plugins {'openid': , 'friendlyform': , 'ckan.lib.authenticator:UsernamePasswordAuthenticator': , 'auth_tkt': , 'ckan.lib.authenticator:OpenIDAuthenticator': } routes.route routes.url webob._parsed_query_vars (GET([]), '') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper wsgi.version (1, 1) wsgiorg.routing_args (, {'url': u'el/tag/jutatt\xe1sok', 'action': u'view', 'controller': u'template'}) " 1345114613000000 1346670331000000 2866 enhancement ross ross closed fixed 1.8 template error " URL: http://thedatahub.org/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%3Db4c2d03fa8 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:155 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:131 in __call__ << r'\1', oldpath) 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:239 in __call__ << try: res = WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> res = 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.user:409 in perform_reset << c.reset_key = request.params.get('key') if not mailer.verify_reset_link(user_obj, c.reset_key): h.flash_error(_('Invalid reset key. Please try again.')) abort(403) >> if not mailer.verify_reset_link(user_obj, c.reset_key): Module ckan.lib.mailer:100 in verify_reset_link << if not user.reset_key or len(user.reset_key) < 5: return False return key.strip() == user.reset_key >> return key.strip() == user.reset_key AttributeError: 'NoneType' object has no attribute 'strip' CGI Variables CKAN_CURRENT_URL '/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%253Db4c2d03fa8' CKAN_LANG 'it' CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'close' HTTP_FROM 'googlebot(at)googlebot.com' HTTP_HOST 'thedatahub.org' HTTP_USER_AGENT 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' PATH_INFO '/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/it/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d' QUERY_STRING 'key%3Db4c2d03fa8' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '54634' REQUEST_METHOD 'GET' REQUEST_URI '/it/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%3Db4c2d03fa8' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'thedatahub.org' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '
Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80
\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application beaker.cache beaker.get_session > beaker.session {'_accessed_time': 1345066159.520708, '_creation_time': 1345066159.520708} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (, '') paste.parsed_dict_querystring (MultiDict([('key=b4c2d03fa8', '')]), 'key%3Db4c2d03fa8') paste.parsed_querystring ([('key=b4c2d03fa8', '')], 'key%3Db4c2d03fa8') paste.registry paste.throw_errors True pylons.action_method > pylons.controller pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons pylons.routes_dict {'action': u'perform_reset', 'controller': u'user', 'id': u'3086e91c-fe09-4a98-92e1-19de67a9ac9d'} repoze.who.logger repoze.who.plugins {'openid': , 'friendlyform': , 'ckan.lib.authenticator:UsernamePasswordAuthenticator': , 'auth_tkt': , 'ckan.lib.authenticator:OpenIDAuthenticator': } routes.route routes.url webob._parsed_query_vars (GET([('key=b4c2d03fa8', '')]), 'key%3Db4c2d03fa8') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper wsgi.version (1, 1) wsgiorg.routing_args (, {'action': u'perform_reset', 'controller': u'user', 'id': u'3086e91c-fe09-4a98-92e1-19de67a9ac9d'}) " 1345114641000000 1346670324000000 2736 enhancement ross ross ckan-v1.9 closed wontfix Archiver fixes "We need to check the archiver to make sure it works as we would expect after the changes in #2732: * Receive notification of a file that needs processing * Check the file's DB entry and upload the file to the configured remote service * Update the URL of the file (both in the file's DB entry and the resource) * Once we're sure the file is safely archived, we should mark the file as being archived so that we know it can safely be deleted at some point. Maybe this could/should be implemented as a service rather than a celery task?" 1343121237000000 1346670097000000 1550 enhancement ross ckan-backlog assigned Allow simple auth via the API It should be possible to pass userid/username and api key and obtain a response from CKAN for external services that use CKAN auth. Those services shouldn't be talking to the DB directly. 1324049369000000 1346670055000000 1684 enhancement ross ckan-backlog assigned Remove all config from ckanext-archiver "ckanext-archiver currently has a settings file (and a default) and it should be passed in all relevant information from the context. Remove all settings (ARCHIVE_DIR and MAX_CONTENT_LENGTH and others) and pass them in from CKAN." 1326983821000000 1346670037000000 2348 enhancement ross ckan-future assigned Java client library for CKAN "Start a Java library for interacting with the CKAN Action API. Currently requires support for Groups, Tags, Resources, and Search. An example app would be very useful." 1335879980000000 1346670024000000 1650 enhancement ross ross ckan-future closed wontfix Add new language/translation of fields for datasets. "Datasets should have a field that specifies the language used in the dataset, this should be a two character ISO 639-1 code (see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for list) . Also make sure all tests and migrations are resolved. [2d] Determine the best approach to having 'translation_of' references to show which dataset the current one is a translation of. This may be a translation of field, or a 'copied from' field or another form of package relationship. [2d] " 1326709392000000 1346670010000000 2378 enhancement ross ckan-future assigned Extract metadata directly from resources that contain it. "Some files that might be uploaded as resources on a dataset, such as some image formats, already contain metadata. For example some jpeg files might contain Exif ( http://en.wikipedia.org/wiki/Exchangeable_image_file_format ) data. [ ] Obtain list of embedded metadata 'standards' [ ] Where the metadata is available it should be added as extra fields on the resource that is uploaded. [ ] HTML? [ ] Image formats (exif/gif etc) [ ] PDF [ ] Eventually consider ... [ ] MS Office documents " 1336651088000000 1346669985000000 2577 enhancement ross ross ckan-v1.9 closed fixed Dataproxy raises 500 when it can't get CSV "When given a url parameter for a file it cannot fetch, the app raises a 500 instead of something useful. Better error reporting in the JSON would be useful" 1340207124000000 1346669735000000 2513 enhancement ross ckan-backlog assigned Dataproxy should not default to utf8 "Unless explicitly told by the source web server the dataproxy should not assume that the content it has can be encoded as UTF-8. Even though the chars from 128 - 255 overlap an attempt to decode some byte array as utf8 will fail whenever a latin1 char whose bitpattern has the MSB set. This will mean that the UTF8Recoder can be more rigid in its acceptance of data, Postel aside." 1339575820000000 1346669646000000 909 enhancement pudo ckan-backlog assigned DCat importer for CKAN "Write an importer that supports most well known variants of DCat in importing the data as CKAN packages. In particular, the following sources should be supported: * CKANrdf generated exports * opengov.se RDF (not really DCat) * Sunlight Nationdatacatalog as harvested by dcat-tools. " 1295265958000000 1346669602000000 2234 enhancement seanh ckan-future assigned Write a CKAN extension for pulling items from RSS/Atom feeds into CKAN templates "You configure the extension with some RSS and/or Atom feeds, it automatically reads items from these feeds and makes them available in the template context, you write a custom template to e.g. display 'news' items from a Wordpress blog on your front page. This extension might be simpler and less fragile than ckanext-wordpresser, and also more generally useful. Details - Mark Pilgrim's Universal Feed Parser might be useful for reading the feeds - Feed items should probably be cached somewhere Suggested - The news item 'widget' should be wrapped in a known class so that it can be styled easily regardless of the format of any HTML entry. - For non-HTML formatted items (Atom should tell you the content type of the entry) maybe we should have a template for rendering each item along with any enclosures that it might reference - Caching is pretty crucial and should probably obey the ttl of the feed. " 1331902755000000 1346669567000000 2552 enhancement ross ckan-future assigned Controlling access to features "== Requirements == To provide a freemium service it is necessary to be able to provide differing __levels__ of functionality based on the '''type''' of user (see #2550). These levels can be specific to the data hub but may require overriding functionality from core to provide these checks. Initial implementation should focus on limiting access to datastore disk space. == Interface == These changes are currently only for the data hub and should be kept as much as possible within the data hub extension. == User Stories == * As a system component I want to find out if the current user has access to a feature (i.e. storage) and if so to what extent (xMb, xGb or unlimited). * As a system administrator I don't expect to need to manage the levels of users '''or''' the features that this applies to. == Tasks == [ ] Clarification of requirements/analysis [ ] Tests [ ] Code [ ] Model [ ] API [ ] UI [ ] Documentation == Estimates == " 1340018770000000 1346669544000000 2404 enhancement rgrp ckan-future assigned Auto-screenshot for related items "As a User I want an image generated for my related item automatically so that I do not have to take picture myself and upload it somewhere Implementation: (?) Use phantomjs or something like http://snapito.com/ Investigate for 1.8, will be needed for TDH Oct." 1337583347000000 1346669526000000 2284 enhancement ross ckan-backlog assigned Local queries/views/viz in Related stuff. "From #2204 not sure how much we have thought through using this for storing queries / views / visualizations coming from our data viewer. In particular, wonder if this necessitates some kind of support for arbitrary json data ... ### Comments In the simplest form, right now all I need to store is store the url to the resource plus hashbang config for recline. That would be super easy ... " 1334218700000000 1346669513000000 2550 enhancement icmurray ross datahub-july assigned User types "== Requirements == In the data hub plugin we require the ability to differentiate users between those that have paid for a service, and those that haven't. The distinction isn't boolean as there may be levels of service for paid users, so it may be that we need a 'type' of user where there are various grades of 'paid' which are likely to be strings (specific to the data hub). == Required interface == Once changes have been made to the user schema, for a given user we want to be able to: * determine if they have a paid or a free account, and * get a string name of the type of paid account. Care should be taken to ensure that the 'paid' status of the user cannot be set through the API and only by the datahub plugin. == User Stories == User stories related to the management, setting and changing of a user's payment level, as well as historical information on payments should be done as part of the work that includes actually allowing purchases. For now it is adequate that we can manually control these things through paster commands. Payments types should be linear as I don't believe for this type of service a pick-and-mix modular model would work well. Organizations will inherit the payment level of their owner, so currently there is no requirement for it to affect organizations at all. * As a sysadmin I would like to be able to use a paster command to manually set a user's payment level, or remove it entirely. * As a sysadmin I would like to be able to run a paster command to view a list of users who have a payment plan, grouped by the plan that they have. * As a sysadmin I would like to be able to use the API to change the payment status of a specific user through user_create and user_update. This shouldn't be available to anybody else. * As a user, and only if I have one, I'd like to see my current payment level on my user profile page. == Tasks == [x] Tests [x] Plugin based migration [x] Code [x] Model [x] API [x] Documentation == Estimates == " 1340017590000000 1346669497000000 2329 enhancement rgrp ckan 2.0 assigned Add back in RSS/Atom links on relevant pages E.g. on dataset page, on revision page, on user page and on search results. 1335442540000000 1346664271000000 2546 requirement ross ckan-backlog assigned ODS Managing homepage content " == Requirements == Require the ability for users to control some level of content that is visible on the home page of their ODS installation. This may be through RSS/Atom feeds (see #2234) or another mechanism but should result in admins being able to change blocks of text on their homepage. This should not be configuration, but accessible through WUI. == Interface == None == User Stories == * As a system administrator I want to have control over content displayed on the front page beyond featured/popular items. * As a system administrator I don't want to manage content through having to write an extension. == Tasks == [ ] Analysis == Estimates == " 1340016842000000 1346663437000000 2590 enhancement shevski ross ckan-backlog assigned Publisher dashboard "Need proper user stories but ... Publisher admins/editors may need a more useful group read page showing things like: * The current search * Recent activity * People within the group * Followers * Others? " 1340618617000000 1346663416000000 2607 defect seanh ckan-backlog assigned 'Upload a file' appears on resource form when storage not enabled "if the user tries to upload a file they will get ""Failed to get credentials for storage upload. Upload cannot proceed"" Maybe add a test for it this time, this bug has appeared and reappeared before" 1340803808000000 1346663383000000 2686 defect shevski ckan-backlog assigned enabling datastore & data API breaks recline "First I noticed that the gold prices dataset preview was not displaying & has data API enabled Secondly I tried enabling datastore for http://datahub.io/dataset/adur_district_spending/resource/281dffa6-ea9b-4446-be41-05dced06591f and after I saved the preview no longer worked. Unticking the datastore & data api checkbox brought it back Is this a known issue?" 1342516011000000 1346663300000000 2732 enhancement ross ckan-backlog assigned New file upload functionality "We should simplify upload and storage of files, initially only to local storage with archiver eventually being fixed to archive data externally. WIP pad is http://ckan.okfnpad.org/uploads '''Simplifying uploads''' Currently uploads are too painful/difficult/fiddly to use and/or configure. We want to simplify uploads so that they are done directly to the CKAN server, without support for remote services (S3 etc) and/or the dependencies it introduces. We want to fix: * File uploads themselves * Storage of uploaded files * Notification of the upload to other components '''File uploads''' Things file upload should do: * Allow sysadmin to disable * Allow auth'ed users to upload * Store whatever they send on disk, and store DB entry linking the file to the person * When creating the resource, the user should be able to choose from all of the files they have uploaded but not yet associated with a resource. This will allow for bulk upload and then a delayed association. Whenver a user creates a resource they either upload a file now, or see previously uploaded files. {{{ Can we do the upload asynchronously and then associate the uploaded key with the resource before the save ? What happens if the user tries to submit before asymc upload finishes ? Should we delay them? }}} The upload workflow should look like... 1. File upload should be a straightforward file upload with normal auth checks and normal processing of the posted data. 2. a. When called via ajax then the ID of the newly created file should be returned, b. When called via WUI then it should also be given the url to redirect to after the file upload has been handled - the id will be passed as a query param. 3. The resource save should check whether it has a file id and in that case updates the file object to point to the resource. This should enable: * Separate file upload into a user's temporary store, either individually or as a batch. * Creating resources and simply choosing from previously uploaded, unassigned files * Adding files/data to a resource after the fact. '''File storage''' File storage should be local to the CKAN install, and not a remote service. Any archiving to remove storage providers should be outside of the main request. File storage should: * allow moving data, a sysadmin should be able to move the storage root and change configuration and have the system continue running (i.e. don't store absolute paths). * provide maintainability, it should be easy to determine which old files are not associated with resources and thus can be cleaned up. * allow for collection of information (i.e. estimate of storate space used) * check whether there is enough space and handling the conequences cleanly * ensure files to be written only underneath its own root folder, checks should be made after any path generation that the file begins with the location of the file storage. * Have a configurable maximum accepted blob size during upload. * Should store what meta-data was provided with the upload, such as mimetype. Somewhere in the DB we should store ... ||'''Column'''||'''Notes'''|| ||id||An identifier|| ||owner||The owning user, who uploaded the file|| ||path||The path (from the 'storage root') to the file|| ||size||The size in bytes of the file on disk|| ||mimetype||The mimetype of the file, as provided by the uploader|| ||upload_date||When the data was uploaded|| ||resource||The ID of the resource it belongs to. A unidirectional relationship.|| ||archived_url||The URL where this file has been archived|| Generating paths should try and separate the files, perhaps based on username of the owner, or some other mechanism to avoid a single folder full of files. '''Notifications''' We need to make sure that it is possible to notify other components within the system that an upload has taken place, or at least make it easy for them to be notified. The primary use case for this is to notify the component that will translate/upload certain formats to the data store. We could do this based on the post-upload update to the file model (i.e. when we record the total received size of the file). " 1343058789000000 1346663270000000 2654 enhancement ross ckan 2.0 assigned UI support for ordering groups on group_read page "The group_index page has no support in WUI for ordering the groups displayed. Should allow sorting by name Add support for this for datahub now, and discuss for new 1.9 UI" 1341943891000000 1346662156000000 2197 defect zydio ckan-backlog assigned Storage Metadata API: add/update not working with local file storage (Pairtree) "If OFS is configured with Pairtree to use a local file storage, all POST requests to add/update metadata ( /api/storage/metadata/{label} ) will fail. This is due to the use of [https://github.com/okfn/ofs/blob/master/ofs/remote/botostore.py BotoOFS] specific ''private'' methods in [https://github.com/okfn/ckan/blob/master/ckan/controllers/storage.py StorageAPIController.set_metadata()], eg: self.ofs.'''_require_bucket'''(bucket), self.ofs.'''_get_key'''(b, label), self.ofs.'''_update_key_metadata'''(k, metadata) ... those methods can't be found in [https://github.com/okfn/ofs/blob/master/ofs/local/pairtreestore.py POTFS] and this causes errors. The API should use only [https://github.com/okfn/ofs/blob/master/ofs/base.py OFSInterface] methods, or should conditionally make calls based off the actual type of ''self.ofs''. ''PS: I did set ""ckan"" as ""Component"" in the ticket because storage has been integrated back into the core in CKAN 1.6''" 1330421377000000 1346662128000000 2535 enhancement rgrp assigned SSL certificate for DataHub + https by default "DataHub is increasingly used and we should ensure it uses ssl as part of general security. See also #1446 (Need to support https login for multiple instances as part of the CKAN package install)" 1339758027000000 1346662082000000 1551 enhancement ross ross ckan-backlog closed fixed CKAN auth for webstore changes Webstore should use auth api ( #1550 ) for authenticating users accessing webstore rather than talking directly to the CKAN database. We also need it to suppose /user/ urls and /userid/ for accessing databases. 1324049966000000 1346662048000000 2900 defect seanh ckan-v1.8.1 new snippets/package_list.html template crashes on dataset that has no 'notes' "Sometimes a dataset dict comes through package_show() with 'notes': None and then the 'notes' key gets stripped from the dict when validation happens (validation only happens if there's an IDatasetForm plugin with a db_to_form_schema() method) and then package_list.html template crashes, e.g. on user profile pages. Fix in the template? Or in the schema? The template also crashes on packages with no tags (empty list gets stripped from dict) and probably other empty fields as well" 1346335207000000 1346335788000000 2899 enhancement johnmartin demo phase 5 new Step 2 > Save & add another bug "Goto: 1. Add dataset 2. Get to step 2 3. Click ""Save & add another"" without adding any data 4. Ends on step 3 Should: fail to validate and remain on step 2" 1346332519000000 1346332519000000 2898 defect johnmartin demo phase 5 new Looses data entered on step 1 of create dataset after login "To reproduce: 1. Enter details for new dataset without being logged in 2. Hit login page for just before step 2 3. Once logged in you end up back at the empty add dataset form (instead of expected 2nd step of dataset edit)" 1346332094000000 1346332120000000 2897 defect seanh ckan-v1.8.1 new db_to_form_package_schema() crashes historical dataset page "If there's an IDatasetForm plugin active with a db_to_form_schema() method based on db_to_form_package_schema(), then viewing historical versions of datasets (e.g. http://127.0.0.1:5000/dataset/dasd%402012-08-30T12%3A26%3A18.524191) crashes. Reason is that revison_id and revision_timestamp need to be added to db_to_form_package_schema(), something like: schema.update({'revision_id': [validators.ignore_missing, unicode]}) schema.update({'revision_timestamp': [validators.ignore_missing, unicode]}) " 1346330495000000 1346330495000000 2877 enhancement kindly rgrp assigned Bugs with datastore v2 "In progress 1. ~~[major] q does not seem to work reliably. e.g. using the setup from this gist https://gist.github.com/1930806 and doing a ?q=DE yields no results (does not work with ""q=de"" either)~~ * ~~q=second does work ...~~ 1. [major] q does not work with 2 values (see below) 2. Query on search with limit 0 results in total of 0 (should either be null or correct total). Queries with other limits yield correct total AFAICT * Also weird fact that limit is returned but as as as string - should it not be an integer 3. Types on fields: could these not be canonical and as per recline (or is it important to allow exact sql types ...) === Multiple query values === Try a query such as: ""second UK"" and you will get 500 error: http://localhost:5000/api/3/action/datastore_search?resource_id=4f1299ab-a100-4e5f-ba81-e6d234a2f3bd&q=second%20UK {{{ ProgrammingError: (ProgrammingError) syntax error in tsquery: ""second UK"" 'select ""_id"", ""id"", ""date"", ""x"", ""y"", ""z"", ""country"", ""title"", ""lat"", ""lon"", count(*) over() as ""_full_count""\n from ""4f1299ab-a100-4e5f-ba81-e6d234a2f3bd"" where _full_text @@ to_tsquery(%s) limit 100 offset 0' (u'second UK',) }}} === Suggestions === Filter support: should think in more detail about this (may want to follow recline style) Simple filters in query parameters would be nice too ..." 1345250002000000 1346320395000000 2366 enhancement ross amercader ckan-sprint-2012-06-25 closed fixed Remove Authorization Groups 1.7 will hide the link on the footer and put a deprecation notice on the related pages, but they should be completely removed on 1.8. 1335892563000000 1346316322000000 2896 defect seanh ckan-v1.8.1 new resource_create crashes on ValidationErrors with KeyError: 'resources' "ckan/logic/action/create.py:resource_create(): try: pkg_dict = _get_action('package_update')(context, pkg_dict) except ValidationError, e: errors = e.error_dict['resources'][-1] raise ValidationError(errors) This assumes that package_update always returns an error dict with 'resources' in it. This assumption doesn't hold." 1346257754000000 1346257754000000 2697 enhancement johnmartin shevski demo phase 5 assigned create dataset validation Includes: missing fields, existing field checks (i.e. whether a name/dataset already exists with that name) during input (i.e. no need to submit form to check) 1342620035000000 1346235925000000 2785 enhancement johnmartin aron.carroll demo phase 5 assigned Allow resources to be re-ordered "Not sure where this functionality should be added, possibly in one of the sidebar widgets when editing a resource? Ira, what are your thoughts?" 1343816523000000 1346235916000000 2818 defect seanh danieljohnlewis demo phase 4 assigned Improve related item schema "Problem: When creating a related item (e.g. a Visualisation), if you don't put in a URL it succeeds, but on the related items and apps pages it renders it as a link to the same page. Expected: Always require a URL and it should only submit if one is added" 1344504176000000 1346231718000000 2890 enhancement seanh ckan-v1.8.1 new Collect data previews and data store docs in one chapter "Currently there is this page: http://docs.ckan.org/en/latest/data-viewer.html which covers Recline Data Explorer and other kinds of data preview in CKAN. It is under the Publishing Datasets section in the documentation. I had to to a search for 'recline' to find it. Separately there is this page: http://docs.ckan.org/en/ckan-1.7.1/datastore.html which covers datastore, datastorer, and the data api. I suggest collecting this together in one chapter called 'Data Previews'. If I understand it right the general gist would be: CKAN has builtin previews of data resources on resource pages, enabled by default. Images, Google Documents, and web page resources will be loaded into embedded iframes for preview. Text-like files will be displayed raw. CSV or Excel files uploaded to CKAN will be previewed using Recline Data Explorer. Additionally, you can enable CKAN's DataStore, requires you to install ElasticSearch and nginx and put datastore.enabled=1 in your ini file. Lets you use the Data API to query data. Does having DataStore enabled mean you get preview of more types of resources? Any resource that's available via the Data API will be previewed using Recline, You can install ckanext-datastorer, and then CSV and Excel files _linked to_ as CKAN resources will be previewed using Recline also. Requires celeryd." 1346149236000000 1346175867000000 2895 enhancement rgrp new QA pages (e.g. broken resource links) are not paginated And as a result timeout on e.g. the datahub ... 1346175485000000 1346175485000000 2894 defect seanh ckan-v1.8.1 new Empty lists get stripped from package dicst in package_show() "If there's an IDatasetForm plugin active with a form_to_db_schema(), then packages with e.g. no extras get the 'extras' key entirely stripped by the validation in package_show, which causes some tests to crash, e.g. in ckan/tests/functional/api/test_activity.py (if the tests are run with a suitable IDatasetForm plugin active). If a package has no extras the dict returned by package_show should still have an 'extras' key with an empty list as the value. Suspect this also effects packages with no tags, no groups, etc." 1346157634000000 1346157634000000 2893 defect seanh ckan-v1.8.1 new Tags missing from form_to_db_package_schema() "With an IDatasetForm plugin active with a form_to_db_package_schema() method that returns a schema based on ckan/logic/schema.py:form_to_db_package_schema() I'm getting validation errors like this: [ckan.controllers.api] Validation error: ""{'__type': 'Validation Error', '__junk': [u'The input field __junk was not expected.']}"" They seem to be caused when a data dict with key 'tags' is passed to e.g. the package_update API, for example in ckan/tests/functional/api/model/test_vocabulary.py there are various tests that get this error when they call package_update (if you run the tests with a suitable IDatasetForm plugin active). In ckan/logic/schema.py:form_to_db_package_schema() 'tags' is for some reason deliberately removed from the schema." 1346155864000000 1346155864000000 2891 defect seanh ckan-v1.8.1 new Update or remove DataStore google presentation "Currently this page: http://docs.ckan.org/en/ckan-1.8/datastore.html has an embedded Google docs presentation about data store which contains some outdated information, e.g. links to datastoreclient which was merged into ckanclient. Suggest moving the google presentation into the documentation proper, so it works with grep etc." 1346149423000000 1346154177000000 2892 defect seanh ckan-v1.8.1 new IDatasetForm's form_to_db_schema() breaks API? "It looks like when an IDatasetForm plugin with a form_to_db_schema() method is active, then the posted data dict is validated against the schema even if the user is posting to an API endpoint like /api/action/package_update etc. This breaks the API, for example 'name' and 'title' are optional keys for package_update (you can supply only the 'id'), but the schema validation will fail if either are not present in the posted dict. It may be we need different schema for package create and package update, currently IDatasetForm has just the one form_to_db_schema() method." 1346154125000000 1346154163000000 2889 enhancement seanh ckan-v1.9 new Support JSON values in extras, when returning JSON from API "For example, edit the warandpeace dataset and add an extra with key ""comments"" and value ""[{u'date': u'Tue Aug 21 13:01:48 GMT 2012', u'comment': u'testing ckan', u'userId': u'11702'}, {u'date': u'Wed Aug 22 13:01:48 GMT 2012', u'comment': u'testing ckan again', u'userId': u'11702'}]"", now visit API URLs such as: /api/search/dataset?sort=metadata_modified+desc&all_fields=1&limit=10 /api/rest/dataset/warandpeace /api/action/package_show?id=warandpeace The value of the extra comes out as a string in the dataset JSON, rather than having its contents unpacked into a list of JSON objects." 1345811737000000 1345811737000000 2888 enhancement kindly new Datapreview in Iframe Try and put datapreview in Iframe. 1345745461000000 1345745461000000 2883 enhancement seanh ckan-v1.8.1 new Add high level dev overview to 'For CKAN Developers' section of docs Here's a draft: https://gist.github.com/3414107 1345546355000000 1345629890000000 2887 defect seanh ckan-v1.8.1 new """Welcome to CKAN!"" on front page is untranslatable" "ckan/templates/home/index.html contains:

Welcome to ${g.site_title}!

which means that just ""Welcome to"" ends up in the ckan.po files for translation. This makes the phrase untranslatable in languages that have a different word ordering than English where the site title needs to be somewhere other than at the end of the sentence." 1345627079000000 1345627233000000 2881 defect seanh ckan-v1.8.1 new Remove or improve 'Domain Model' docs page "http://docs.ckan.org/en/ckan-1.8/domain-model.html Currently not very useful. Also these pages: http://docs.ckan.org/en/latest/domain-model-dataset.html http://docs.ckan.org/en/latest/domain-model-resource.html http://docs.ckan.org/en/latest/domain-model-task-status.html This just seems very incomplete to me (surely there is more to the domain model the dataset, resource and task status?) and very likely to not get updated as changes are mode to the code. Would anyone seriously refer to this rather than just looking at the source code? If we want to have something along these lines in the docs, I suggest adding docstrings to packages, modules, classes and methods and then using autodoc to pull them into sphinx." 1345539917000000 1345626056000000 2886 enhancement ross ckan 2.0 new Configurable related items "Related items (Apps & Ideas) have a collection of types, which are currently fixed. Some of these types are ambiguous, such as ideas in that they may not have a link - and if they do it is likely to be to a blog post - another existing type. Whilst the URL is required, and we think this should stay required, we should also allow users to change the types found in Apps & Ideas to a shortened list that suits their requirements." 1345625718000000 1345625718000000 2885 enhancement seanh ckan-v1.9 new Labels (editor, admin) not translated in authorization pages for datasets or groups 1345625351000000 1345625524000000 2519 enhancement ross ross ckan-v1.9 closed fixed Dataproxy (converters) enhancement " Whilst the error messages returned from the dataproxy are informative, they aren't particularly human readable. It isn't clear to the user whether they should retry, or whether the format of their data is causing the problem etc... Would be lovely if the error messages returned contained a human readable version of the error." 1339584955000000 1345565215000000 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 2884 defect seanh ckan-v1.8.1 new Lock icon shown next to unknown licenses Set the license of a dataset to blank (the first option) or to 'License Not Specified' or 'Other (Non-Commercial)' and a lock icon appears next to the license on the dataset read page. Shouldn't this be a question mark or something? 1345564873000000 1345564873000000 2882 defect seanh ckan-v1.8.1 new Remove User Stories Overview from docs? "Why is this here? Is it up to date? Is anyone keeping it up to date? Does this belong in some sort of CKAN planning or roadmap document rather than in the documentation? http://docs.ckan.org/en/latest/user-stories.html" 1345540723000000 1345540723000000 2798 enhancement toby toby demo phase 4 closed fixed Admin Config reset "this want to a) be a link on the left of the form like deletes b) needs a confirm like delete c) wants to work with the autoform" 1344012605000000 1345540010000000 2861 enhancement toby shevski demo phase 4 new Add qa breadcrumb can we add in the breadcrumb navigation to qa pages so that you can go back to http://s031.okserver.org:2375/qa from sub pages such as http://s031.okserver.org:2375/qa/dataset/five_stars 1345114046000000 1345483270000000 2864 defect toby shevski demo phase 4 closed fixed don't show `create one now` message on other's user pages e.g. I can see 'You haven't created any datasets. Create one now?. ' http://s031.okserver.org:2375/user/kindly when logged in as shevski 1345114552000000 1345471138000000 2876 enhancement toby toby demo phase 4 closed fixed Admin Config changes are not forced need to make sure these update everywhere when done 1345208451000000 1345470265000000 2844 enhancement rgrp new SQL-only (no solr) version of CKAN " * ~~Search needs to run of local DB (again)~~ * paster db clean attemps to connect to SOLR (still works as does db first but then excepts which is not nice UX)" 1344859168000000 1345454527000000 2875 enhancement toby demo phase 4 closed fixed Fanstatic css issues "Fanstatic does not support @import ... relative imports for images etc need to get a fix for these asap " 1345208199000000 1345214469000000 2371 enhancement toby toby ckan-v1.9 closed fixed fanstatic integration "aims * allow templates to specify needed css/js * allow split js files to be bundled (including plugin supplied if possible - stage 2) * serve minified in production/ non-minified in dev * possibly look at doing the minification via paster - maybe as different ticket" 1336046411000000 1345209675000000 2671 enhancement toby toby ckan-v1.9 closed fixed fix allow_partial_update need to be able to delete stuff explicitly 1342183618000000 1345209579000000 2596 enhancement toby aron.carroll opendatasuite 1 closed fixed Create demo extension Should have all supported extensions enabled, those that don't work should be disabled and ticketed. Also needs a customised homepage. 1340642315000000 1345209485000000 2873 defect toby danieljohnlewis demo phase 4 assigned ckanext-qa: dataset summary incorrect " For example see: http://s031.okserver.org:2375/qa/dataset/five_stars Which has: Example dataset as a score of: 4 After examination of the dataset ( http://s031.okserver.org:2375/dataset/example-dataset ) it is made up of a CSV and an HTML file. " 1345126429000000 1345208283000000 2863 defect toby shevski demo phase 4 new non-admin users can edit other's draft datasets edit button shows up for daniel lewis for http://s031.okserver.org:2375/dataset/ff 1345114479000000 1345201502000000 2324 enhancement amercader ckan-v1.9 new Link API docs to relevant version not just latest "The link to the API docs in the footer always points to the latests docs, which may not be correct for the particular CKAN version. Also, remove the 'API' link (to /api/1) as pointless and misleading" 1335351532000000 1345199411000000 2874 enhancement rgrp rgrp assigned Clean up bin directory Full of obsolete material 1345190508000000 1345190515000000 2796 enhancement mark.wainwright ross new Need a datahub one-pager "A one-pager explaining what the datahub is and with howto/examples for new users. This would make it much easier to explain the value in using the datahub for storing data. " 1343924916000000 1345129495000000 2867 enhancement ross new 1.8 url_for error "From: Date: Thu, Aug 16, 2012 at 10:30 AM Subject: WebApp Error: : url_for can only return a string, got unicode instead: https://ckannet-storage.commondatastorage.googleapis.com/file/fd3e00d9-eb0d-479b-8303-38909e5400ca?Signature=cmuU3CzRHQ86F3aZ0gljxv%2B3IqQ%3D&Expires=1345109432&AWSAccessKeyId=GOOGC6OU3AYPNY47B66M&x-goog-meta-uploaded-by=d5c8ed25-70de-4035-b29d-ddbe363913c6 To: ckan-sysadmin@okfn.org, kindly@gmail.com URL: http://ckan.net/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca 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:155 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:131 in __call__ << r'\1', oldpath) 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:239 in __call__ << try: res = WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> res = 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.storage:190 in file << return fapp(request.environ, self.start_response) else: h.redirect_to(file_url) >> h.redirect_to(file_url) Module ckan.lib.helpers:57 in redirect_to << if are_there_flash_messages(): kw['__no_cache__'] = True return _redirect_to(url_for(*args, **kw)) def url(*args, **kw): >> return _redirect_to(url_for(*args, **kw)) Module ckan.lib.helpers:79 in url_for << # fix ver to include the slash kw['ver'] = '/%s' % ver my_url = _routes_default_url_for(*args, **kw) kw['__ckan_no_root'] = no_root return _add_i18n_to_url(my_url, locale=locale, **kw) >> my_url = _routes_default_url_for(*args, **kw) Module routes.util:265 in url_for << if not isinstance(url, str) and url is not None: raise GenerationException(""url_for can only return a string, got "" ""unicode instead: %s"" % url) if url is None: raise GenerationException( >> ""unicode instead: %s"" % url) GenerationException: url_for can only return a string, got unicode instead: https://ckannet-storage.commondatastorage.googleapis.com/file/fd3e00d9-eb0d-479b-8303-38909e5400ca?Signature=cmuU3CzRHQ86F3aZ0gljxv%2B3IqQ%3D&Expires=1345109432&AWSAccessKeyId=GOOGC6OU3AYPNY47B66M&x-goog-meta-uploaded-by=d5c8ed25-70de-4035-b29d-ddbe363913c6 CGI Variables CKAN_CURRENT_URL '/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca' CKAN_LANG 'en' CKAN_LANG_IS_DEFAULT True CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_CHARSET 'utf-8;q=0.7,iso-8859-1;q=0.2,*;q=0.1' HTTP_CONNECTION 'close' HTTP_HOST 'ckan.net' HTTP_USER_AGENT 'Mozilla/5.0 (compatible; Ezooms/1.0; ezooms.bot@gmail.com)' PATH_INFO '/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '37236' REQUEST_METHOD 'GET' REQUEST_URI '/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.net' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '
Apache/2.2.22 (Ubuntu) Server at ckan.net Port 80
\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application beaker.cache beaker.get_session > beaker.session {'_accessed_time': 1345109433.273328, '_creation_time': 1345109433.273328} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (, '') paste.registry paste.throw_errors True pylons.action_method > pylons.controller pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons pylons.routes_dict {'action': u'file', 'controller': u'ckan.controllers.storage:StorageController', 'label': u'file/fd3e00d9-eb0d-479b-8303-38909e5400ca'} repoze.who.logger repoze.who.plugins {'openid': , 'friendlyform': , 'ckan.lib.authenticator:UsernamePasswordAuthenticator': , 'auth_tkt': , 'ckan.lib.authenticator:OpenIDAuthenticator': } routes.route routes.url webob._parsed_query_vars (GET([]), '') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper wsgi.version (1, 1) wsgiorg.routing_args (, {'action': u'file', 'controller': u'ckan.controllers.storage:StorageController', 'label': u'file/fd3e00d9-eb0d-479b-8303-38909e5400ca'}) " 1345114669000000 1345128279000000 2868 enhancement ross ross closed fixed 1.8 SOLR error "From: Date: Wed, Aug 15, 2012 at 8:34 AM Subject: WebApp Error: : SOLR returned an error running query: {'sort': 'metadata_modified desc', 'fq': u'groups:""welcome"" capacity:""public"" +site_id:""www.ckan.net"" +state:active', 'facet.mincount': 1, 'rows': 21, 'facet.limit': '50', 'facet': 'true', 'q': '*:*', 'start': -20, 'wt': 'json', 'fl': 'id data_dict'} Error: ""'start' parameter cannot be negative"" To: ckan-sysadmin@okfn.org, kindly@gmail.com URL: http://thedatahub.org/feeds/group/welcome.atom?page=0 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:155 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:131 in __call__ << r'\1', oldpath) 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:239 in __call__ << try: res = WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> res = 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.feed:180 in group << data_dict['fq'] = 'groups:""%s""' % id item_count, results = _package_search(data_dict) navigation_urls = self._navigation_urls(params, >> item_count, results = _package_search(data_dict) Module ckan.controllers.feed:57 in _package_search << # package_search action modifies the data_dict, so keep our copy intact. query = get_action('package_search')(context, data_dict.copy()) return query['count'], query['results'] >> query = get_action('package_search')(context, data_dict.copy()) Module ckan.logic.action.get:1130 in package_search << query = search.query_for(model.Package) query.run(data_dict) for package in query.results: >> query.run(data_dict) Module ckan.lib.search.query:350 in run << except SolrException, e: raise SearchError('SOLR returned an error running query: %r Error: %r' % (query, e.reason)) try: data = json.loads(solr_response) >> (query, e.reason)) SearchError: SOLR returned an error running query: {'sort': 'metadata_modified desc', 'fq': u'groups:""welcome"" capacity:""public"" +site_id:""www.ckan.net"" +state:active', 'facet.mincount': 1, 'rows': 21, 'facet.limit': '50', 'facet': 'true', 'q': '*:*', 'start': -20, 'wt': 'json', 'fl': 'id data_dict'} Error: ""'start' parameter cannot be negative"" CGI Variables CKAN_CURRENT_URL '/feeds/group/welcome.atom?page%3D0' CKAN_LANG 'ja' CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'close' HTTP_FROM 'googlebot(at)googlebot.com' HTTP_HOST 'thedatahub.org' HTTP_USER_AGENT 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' PATH_INFO '/feeds/group/welcome.atom' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/ja/feeds/group/welcome.atom' QUERY_STRING 'page=0' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '33139' REQUEST_METHOD 'GET' REQUEST_URI '/ja/feeds/group/welcome.atom?page=0' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'thedatahub.org' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '
Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80
\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application beaker.cache beaker.get_session > beaker.session {'_accessed_time': 1345016040.884951, '_creation_time': 1345016040.884951} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (, '') paste.parsed_dict_querystring (MultiDict([('page', '0')]), 'page=0') paste.parsed_querystring ([('page', '0')], 'page=0') paste.registry paste.throw_errors True pylons.action_method > pylons.controller pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons pylons.routes_dict {'action': u'group', 'controller': u'feed', 'id': u'welcome'} repoze.who.logger repoze.who.plugins {'openid': , 'friendlyform': , 'ckan.lib.authenticator:UsernamePasswordAuthenticator': , 'auth_tkt': , 'ckan.lib.authenticator:OpenIDAuthenticator': } routes.route routes.url webob._parsed_query_vars (GET([('page', '0')]), 'page=0') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper wsgi.version (1, 1) wsgiorg.routing_args (, {'action': u'group', 'controller': u'feed', 'id': u'welcome'}) " 1345114696000000 1345124503000000 2871 defect shevski demo phase 3 closed fixed user profile about text does not show up "tested with my http://s031.okserver.org:2375/user/shevski and daniel's account. I have added about text and yet see ' Irina Bolychevsky You have not provided a biography.' The about text is saved (and viewable on the edit form itself) but does not show on profile " 1345114953000000 1345121991000000 2860 enhancement toby shevski demo phase 3 closed fixed target blank link in qa report can we get the link going to an explanation of the 5 star system on page http://s031.okserver.org:2375/qa/dataset/five_stars to open in new tab? it's leaving demo all together so better to open in new tab than navigate away 1345113826000000 1345120404000000 2862 enhancement toby markw demo phase 4 new Revised revised groups description "Revised text for 'What are groups?' box at demo.ckan.org/group (after discussion with IB re #2812): What are groups? Groups allow you to group users and data together so that they are easier to manage. Group owners can assign roles and authorisations, giving each project or department control of its own data publishing. Users can browse or facet by groups, which could be an organisation (for example, the Department of Health) or topic (e.g. Transport, Health), making it easier to find the data they are looking for." 1345114322000000 1345115072000000 2870 enhancement seanh ross new 1.8 tag_list not defined "From: Date: Thu, Aug 16, 2012 at 3:20 AM Subject: WebApp Error: : ""tag_list"" not defined To: ckan-sysadmin@okfn.org, kindly@gmail.com URL: http://ckan.net/dataset/uk-postboxes 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:155 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:131 in __call__ << r'\1', oldpath) 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:239 in __call__ << try: res = WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> res = 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.package:322 in read << template = template[:template.index('.') + 1] + format return render(template, loader_class=loader) def comments(self, id): >> return render(template, loader_class=loader) Module ckan.lib.base:153 in render << try: return cached_template(template_name, render_template, loader_class=loader_class) except ckan.exceptions.CkanUrlException, e: raise >> loader_class=loader_class) Module pylons.templating:249 in cached_template << return content else: return render_func() >> return render_func() Module ckan.lib.base:102 in render_template << if loader_class == NewTextTemplate: return literal(stream.render(method=""text"", encoding=None)) return literal(stream.render(method=method, encoding=None, >> return literal(stream.render(method=""text"", 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:569 in __call__ << def __call__(self, stream): strip_markup = self.strip_markup for event in stream: if event[0] is TEXT: data = event[1] >> for event in stream: Module genshi.core:288 in _ensure << # unchanged yield event for event in stream: yield event >> for event in stream: Module genshi.core:288 in _ensure << # unchanged yield event for event in stream: yield event >> for event in stream: Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream): for mark, event in stream: kind = event[0] if not (kind is None or kind is ATTR or kind is BREAK): >> for mark, event in stream: Module genshi.filters.transform:1145 in __call__ << :param stream: The marked event stream to filter """""" for mark, event in stream: yield mark, event if mark is ENTER: >> for mark, event in stream: Module genshi.filters.transform:714 in __call__ << stream = iter(stream) next = stream.next for mark, event in stream: if mark is None: yield mark, event >> for mark, event in stream: Module genshi.filters.transform:682 in _mark << def _mark(self, stream): for event in stream: yield OUTSIDE, event >> for event in stream: Module genshi.core:288 in _ensure << # unchanged yield event for event in stream: yield event >> for event in stream: Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream): for mark, event in stream: kind = event[0] if not (kind is None or kind is ATTR or kind is BREAK): >> for mark, event in stream: Module genshi.filters.transform:1145 in __call__ << :param stream: The marked event stream to filter """""" for mark, event in stream: yield mark, event if mark is ENTER: >> for mark, event in stream: Module genshi.filters.transform:714 in __call__ << stream = iter(stream) next = stream.next for mark, event in stream: if mark is None: yield mark, event >> for mark, event in stream: Module genshi.filters.transform:682 in _mark << def _mark(self, stream): for event in stream: yield OUTSIDE, event >> for event in stream: Module genshi.core:288 in _ensure << # unchanged yield event for event in stream: yield event >> for event in stream: Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream): for mark, event in stream: kind = event[0] if not (kind is None or kind is ATTR or kind is BREAK): >> for mark, event in stream: Module genshi.filters.transform:1145 in __call__ << :param stream: The marked event stream to filter """""" for mark, event in stream: yield mark, event if mark is ENTER: >> for mark, event in stream: Module genshi.filters.transform:714 in __call__ << stream = iter(stream) next = stream.next for mark, event in stream: if mark is None: yield mark, event >> for mark, event in stream: Module genshi.filters.transform:682 in _mark << def _mark(self, stream): for event in stream: yield OUTSIDE, event >> for event in stream: Module genshi.core:288 in _ensure << # unchanged yield event for event in stream: yield event >> for event in stream: Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream): for mark, event in stream: kind = event[0] if not (kind is None or kind is ATTR or kind is BREAK): >> for mark, event in stream: Module ckanext.googleanalytics.plugin:93 in download_adder << [downloaded %s times]''' count = None for mark, (kind, data, pos) in stream: if mark and kind == START: href = data[1].get('href') >> for mark, (kind, data, pos) in stream: Module genshi.filters.transform:714 in __call__ << stream = iter(stream) next = stream.next for mark, event in stream: if mark is None: yield mark, event >> for mark, event in stream: Module genshi.filters.transform:682 in _mark << def _mark(self, stream): for event in stream: yield OUTSIDE, event >> for event in stream: Module genshi.core:288 in _ensure << # unchanged yield event for event in stream: yield event >> for event in stream: Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream): for mark, event in stream: kind = event[0] if not (kind is None or kind is ATTR or kind is BREAK): >> for mark, event in stream: Module genshi.filters.transform:1175 in __call__ << """""" callable_value = hasattr(self.value, '__call__') for mark, (kind, data, pos) in stream: if mark is ENTER: if callable_value: >> for mark, (kind, data, pos) in stream: Module genshi.filters.transform:714 in __call__ << stream = iter(stream) next = stream.next for mark, event in stream: if mark is None: yield mark, event >> for mark, event in stream: Module genshi.filters.transform:682 in _mark << def _mark(self, stream): for event in stream: yield OUTSIDE, event >> for event in stream: Module genshi.core:288 in _ensure << # unchanged yield event for event in stream: yield event >> for event in stream: Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream): for mark, event in stream: kind = event[0] if not (kind is None or kind is ATTR or kind is BREAK): >> for mark, event in stream: Module genshi.filters.transform:1145 in __call__ << :param stream: The marked event stream to filter """""" for mark, event in stream: yield mark, event if mark is ENTER: >> for mark, event in stream: Module genshi.filters.transform:714 in __call__ << stream = iter(stream) next = stream.next for mark, event in stream: if mark is None: yield mark, event >> for mark, event in stream: Module genshi.filters.transform:682 in _mark << def _mark(self, stream): for event in stream: yield OUTSIDE, event >> for event in stream: 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.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 ?:51 in <<
  • Tags

    ${tag_list(c.pkg_dict.get('tags', ''))}
  • >> ${tag_list(c.pkg_dict.get('tags', ''))} Module genshi.template.eval:309 in lookup_name << val = BUILTINS.get(name, val) if val is UNDEFINED: val = cls.undefined(name) return val >> val = cls.undefined(name) Module genshi.template.eval:410 in undefined << """"""Raise an ``UndefinedError`` immediately."""""" __traceback_hide__ = True raise UndefinedError(key, owner=owner) >> raise UndefinedError(key, owner=owner) UndefinedError: ""tag_list"" not defined CGI Variables CKAN_CURRENT_URL '/dataset/uk-postboxes' CKAN_LANG 'en' CKAN_LANG_IS_DEFAULT True CKAN_PAGE_CACHABLE True CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT 'text/html,text/plain,text/xml' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' HTTP_ACCEPT_ENCODING 'gzip' HTTP_ACCEPT_LANGUAGE 'vi,en-us;q=0.7,en;q=0.3' HTTP_CONNECTION 'close' HTTP_HOST 'ckan.net' HTTP_USER_AGENT 'coccoc/1.0 ()' PATH_INFO '/dataset/uk-postboxes' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/dataset/uk-postboxes' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '47065' REQUEST_METHOD 'GET' REQUEST_URI '/dataset/uk-postboxes' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.net' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '
    Apache/2.2.22 (Ubuntu) Server at ckan.net Port 80
    \n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application beaker.cache beaker.get_session > beaker.session {'_accessed_time': 1345083636.079552, '_creation_time': 1345083636.079552} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (, '') paste.registry paste.throw_errors True pylons.action_method > pylons.controller pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons pylons.routes_dict {'action': u'read', 'controller': u'package', 'id': u'uk-postboxes'} repoze.who.logger repoze.who.plugins {'openid': , 'friendlyform': , 'ckan.lib.authenticator:UsernamePasswordAuthenticator': , 'auth_tkt': , 'ckan.lib.authenticator:OpenIDAuthenticator': } routes.route routes.url webob._parsed_query_vars (GET([]), '') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper wsgi.version (1, 1) wsgiorg.routing_args (, {'action': u'read', 'controller': u'package', 'id': u'uk-postboxes'}) " 1345114732000000 1345114732000000 2869 defect shevski demo phase 4 new user profile not linked on disqus until page refresh "Reported by Daniel: Problem: DISQUS comments don't appear with profile details (inc. username). How to reproduce: 1) Go to a dataset, e.g. I went to http://s031.okserver.org:2375/dataset/ff 2) I logged into DISQUS using the Google Authentication, e.g. in my case that is okfn.daniel.lewis@gmail.com 3) I made a comment and submitted 4) It comes up with the comment, but no linked profile until the page gets refreshed" 1345114714000000 1345114714000000 2642 enhancement shevski amercader demo phase 3 closed fixed Adapt harvest frontend to new theme 1341846196000000 1345113645000000 2859 defect icmurray icmurray ckan-v1.8 new Fix the build "The requires files have been removed. These were required by buildkit. We've lost the information regarding which packages were already in ubuntu repos, which conflicted and which were missing. But perhaps we can just package everything up." 1345109217000000 1345109217000000 2856 defect toby shevski demo phase 3 closed fixed server error when clicking on deleted app link "1. go to http://s031.okserver.org:2375/user/okfn 2. Click on activity stream 3. Click on 'Deletion test' related item that's linked to in entries 1 & 2 4. Server error" 1345049684000000 1345107503000000 2857 defect toby shevski demo phase 4 new no UI to follow another user although option on dashboard "e.g. second option in left hand sidebar is follow another user' http://s031.okserver.org:2375/user/dashboard but if you click on that and then any user, there's no follow button to me the dashboard user stuff is highly unfinished and probably should not be included unless someone is very keen for it" 1345049983000000 1345107097000000 2652 enhancement toby toby demo phase 3 closed fixed get qa working with the demo 1341937315000000 1345106904000000 2852 enhancement toby shevski demo phase 3 closed fixed better message for trying to refresh inactive sources in harvest "Currently if you try to refresh (i.e. schedule the harvester to re-run) an inactive source (one who's state is 'withdrawn' - e.g. http://s031.okserver.org:2375/harvest/3feea629-32d8-4431-9957-9f31d32864f1) you get the error message: ""An error occurred: [Can not create jobs on inactive sources]"" This could be better and not red, e.g. and info box (maybe yellow) saying that ""Cannot re-run harvesting on inactive sources. Please first change the status to 'active'""" 1345048317000000 1345106515000000 2858 enhancement toby toby demo phase 3 closed fixed Harvester tweaks "I've had a look at the new harvesting theme, it looks great, thanks. I did some minor changes and reworded the errors as per tickets #2852 and #2853, but I kept the messages red, as the only other ones available (""flash_notice"") are blue and are not very prominent. Toby, on the old form there was a list of descriptions for all available harvesters which could be nice to have back. I couldn't find an easy way with the new form macro, so I don't know how easy would be to implement http://i.imgur.com/pzS8z.png" 1345103198000000 1345105842000000 2853 enhancement toby shevski demo phase 3 closed fixed unclear error message in refreshing harvest source "Tried to refresh the datagm harvest source to get error message: ""An error occurred: [There already is an unrun job for this source]"" This is unclear and not sure why it created an error. We should have something informative such as ""A harvest has already been scheduled for this source"" Do we have a date/time for when this has been scheduled that we can display?" 1345048482000000 1345104231000000 2855 defect shevski shevski demo phase 3 closed fixed language box no longer functional e.g. tried changing the lang here: http://s031.okserver.org:2375/ to no effect. Doesn't work on any other pages either. Flags have also dissappeared 1345049152000000 1345104178000000 2854 enhancement shevski demo phase 5 new no way to see which dataset an app is related to on /apps page e.g. from http://s031.okserver.org:2375/apps?page=1 you cannot edit a related item as an admin or view what dataset the item is related to 1345048728000000 1345048728000000 2816 enhancement toby toby ckan-v1.8 closed fixed DomainObjectOperation not in model "Over-enthusiastic removal of some model items this breaks qa extension" 1344496621000000 1345040471000000 2851 enhancement ross new Preview of PDF tries to connect to datastore "e.g. http://datahub.io/dataset/ccc-gistemp/resource/80ebdbd6-d91b-4fef-9db4-d3dfbd7e868e CKAN attempts to render the PDF as a datastore tabular date even though the mimetype of the PDF is correctly specified." 1345032766000000 1345032766000000 2772 enhancement seanh seanh ckan-v1.8 closed fixed Update transifex for 1.8 translations Upload the new pot file/resource on transifex, put out the call for translations. Some recent commits on master need to be merged into 1.8 first 1343393299000000 1345027445000000 2728 defect toby shevski demo phase 4 new deleted group shows on search index - for admins 'test-group', which has been deleted,shows up on main search page under groups - and can be filtered by - see http://s031.okserver.org:2375/dataset?groups=test-group 1342950784000000 1345023944000000 2780 enhancement toby shevski demo phase 4 new way for admins to undelete datasets "Since admins can see deleted datasets - there should be a way for them a) to know they are currently deleted & not viewable by normal users - ticket: #2779 b) way to undelete such datasets - this ticket I suggest a button on the edit form instead of the delete button i.e. remove normal delete button with 'deleted dataset, only admins can view' with undelete button next to the message?" 1343737248000000 1345023811000000 2847 defect toby shevski demo phase 3 closed fixed 'show inactive sources' checkbox displaying incorrectly "On harvest page: http://s031.okserver.org:2375/harvest the checkbox appears above the text and not clear what it refers to/ Beter to relocate to the left (as on publicdata.eu) see screenshots attached. " 1344864322000000 1345023769000000 2790 enhancement kindly toby demo phase 4 new logic.action.user_show is slow "This is a very slow call it would benefit from the sort of speed-ups that package-search received for me locally this is taking 6 seconds for rufus using the datahub data I have. I think a lot of this is the dataset retrival/dictization can we just grab json blobs from solr? also is it possible to specify a sort order/paging? I've put this as a demo-theme ticket as it is an big issue on the demo we are at 25 second page loads - which i can get down to about 8.8 secs so this is the main pain point now" 1343852483000000 1345023734000000 2808 enhancement aron.carroll toby demo phase 3 closed fixed Confirm delete dialog badly placed on small screen "If you make your browser window short - say half screen height on a page with delete eg http://localhost:5000/dataset/edit/1-kmwaterfractionfromnationaltopographicdatabasemapscanada the dialog box is partially off the screen - it should try to stay on screen" 1344333474000000 1345023693000000 2836 enhancement toby toby demo phase 3 closed fixed Need extra info for forms "like we have on the form here http://s031.okserver.org:2375/harvest/new you said it partly exists so maybe I just need some training" 1344605931000000 1345023663000000 2849 defect toby shevski demo phase 4 closed fixed header tagline misalighned "should be left alighned, not right aligned. Otherwise tag line disappears left off the page. See: header here: http://s031.okserver.org:2375/ckan-admin/config" 1344938638000000 1344947130000000 2848 defect toby shevski demo phase 3 closed fixed no dataset descriptions on front page http://s031.okserver.org:2375/ 1344938505000000 1344947085000000 2850 enhancement aron.carroll demo phase 4 new Add JSON support for IE7 "The JavaScript just isn't going to work without it. Look into either the newer JSON3: http://bestiejs.github.com/json3/ or the old faithful: https://github.com/douglascrockford/JSON-js/" 1344940692000000 1344940692000000 2841 enhancement aron.carroll amercader demo phase 3 closed fixed Slug generation fails on demo dev "On the add dataset form, slug generation fails with JS error: {{{ Uncaught TypeError: Object [object Object] has no method 'incompleteFormWarning' basic-form.js:5 }}} " 1344855653000000 1344857415000000 2834 enhancement aron.carroll demo phase 4 new Defer all publish calls until all modules have been initialised "Currently if a module uses sandbox.publish() in its initilaize() function then any modules initialised afterwards will miss the event. We should queue all calls to .publish() in the pubsub module in an array until all modules have loaded then iterate over and execute them." 1344532093000000 1344856692000000 2842 enhancement seanh ckan-v1.8 closed fixed Allow sort ordering of dataset listings on group pages 1344855695000000 1344855852000000 2839 enhancement seanh ckan-v1.8 closed fixed Specifying sort order breaks search results on group page Create a group, create some datasets and add them to the group, then view the group's page with a sort-order specified in the URL, e.g. {{{/group/foo?q=&sort=title_string+asc}}}, no datasets are displayed even though there are datasets in the group that match the search query. Remove the sort order from the URL and the datasets will appear. 1344787799000000 1344854522000000 2840 enhancement aron.carroll toby demo phase 3 closed fixed tag line styling "@aron Is it possible to get the tagline text to float the other way at the moment we have ...........Title Tag line to here I'd like ...........Title ...........Tag line to here is this possible or too much pain based partly on this comment Markw wrote A minor problem visible on the home page and other pages, when viewing in both Chrome and Firefox: if the browser width is not very wide, the tag line 'Open source data portal' vanishes off the *left* hand side of the screen. For some reason the browser doesn't even recognise this with a horizontal scroll bar (as it does when stuff is off the *right* hand side) - it just chops off the text." 1344851307000000 1344852538000000 2837 enhancement aron.carroll toby demo phase 3 closed fixed checkbox styling Is this done I know checkboxes are a pain but it looks a bit out of place compared to the other items. 1344605993000000 1344851271000000 2838 enhancement seanh ckan-v1.9 new Context variables accepted by action functions need to be documented "I was doing this: {{{ context = {'model': base.model, 'session': base.model.Session, 'user': toolkit.c.user or toolkit.c.author, 'extras_as_string': True} group_dict = logic.get_action('group_show')(context, {'id': group_id}) }}} in an extension and one of the group_dicts fields, one that uses convert_to/from_extras, was coming out with the wrong value. It took me ages to realise that I had to pass {{{'extras_as_string': True}}} in the context. I don't think this or other context variables are documented anywhere." 1344630911000000 1344630911000000 2827 defect danieljohnlewis demo phase 4 closed fixed View Item - RSS Feed Issues "Problem: Server Error (HTTP Code 500) when trying to see information related to an RSS feed... example: http://s031.okserver.org:2375/en/dataset/testerisation/resource/974df29e-77bb-4b5e-982c-cb7a295c1923 Expected: A page that looks a bit more like this: http://s031.okserver.org:2375/dataset/epims-lod2/resource/97531bd8-e75c-4efa-bfa2-bb51d0ba90d0" 1344505590000000 1344549139000000 2830 enhancement toby toby demo phase 4 new Need method to undelete groups need controller action and front-end method 1344509408000000 1344547341000000 2828 enhancement toby shevski demo phase 4 new Draft datasets are confusing - tickets need creating "reported as editing datasets incorrect e.g. clicking on edit here http://s031.okserver.org:2375/dataset/ff takes you to create dataset page http://s031.okserver.org:2375/dataset/edit/ff but this is the correct behaviour of a draft dataset We need to show draft datasets correctly proper tickets need making for the different issues after review of issues with them - who can see, where, admins and viewing, orgs too etc" 1344506178000000 1344547324000000 2825 defect danieljohnlewis demo phase 5 closed fixed Loss of URL encoding on language change on apps page "Problem: On /apps page if you start in one language, filter the data, and then change languages it loses the correct format for the HTTP Get Parameters (and therefore loses the filters). Example, start in English language, change filter settings to to Application and Newest, change language to German. Expected: Retain correct format for HTTP Get Parameters so that the filter settings are retained. Solution will involve not turning ""="" into ""%3D"" in the URL, i.e. turn off URL encoding." 1344505317000000 1344547172000000 2819 defect danieljohnlewis demo phase 5 closed worksforme Related Item Summary of Descriptions Markdown Issue "Problem: When creating a related item it mentions that you can use markdown in the description, however markdown doesn't render in apps page nor in related items page. Expected: Make shortened descriptions (on apps page & related items page) render markdown " 1344504321000000 1344545479000000 2817 defect danieljohnlewis demo phase 5 closed worksforme Item Type Reverts on Invalid URL "Problem: When creating a related item, if you put in a invalid URL it loses the choice of Item Type (e.g. Visualisation, Application) and reverts to the first time (API). Expected: It remembers which one was chosen" 1344504076000000 1344544901000000 2800 enhancement aron.carroll shevski demo phase 5 closed worksforme tooltip on popular datasets with number of views be good to do this in phase 3 1344243925000000 1344544461000000 2721 defect toby shevski demo phase 4 new deleted groups should not show on 'Add to Groups' dropdown "Groups previously deleted still show up in the add dataset process in step 3 'Additional info' http://s031.okserver.org:2375/dataset/new_metadata/ff" 1342948632000000 1344544214000000 2718 enhancement toby shevski demo phase 4 new can't add dataset to more than one group "trying to add a dataset to another group means it's no longer part of the first group http://demo.ckan.org/dataset/edit/afterfibre" 1342780550000000 1344544203000000 2822 enhancement toby toby demo phase 4 new Resource additional info titles format/i18n "the title for additional info should be translated capitalised etc" 1344504620000000 1344543985000000 2775 enhancement toby aron.carroll demo phase 4 new Add bin/less to paster serve command "Ideally the ./bin/less command would be run when the server is started. * Also it would be good to have a paster command to build the production CSS with {{{ ./bin/less --production }} * The command could also detect missing node binaries and redirect to the documentation." 1343685686000000 1344543962000000 2461 enhancement toby aron.carroll demo phase 4 assigned Create demo revisions page "I believe this is to be merged in with site activity. Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts Implementation: http://s031.okserver.org:2375/en/revision" 1338212055000000 1344543838000000 2787 enhancement toby aron.carroll demo phase 5 closed fixed Ensure templates_legacy directory is loaded for extensions Currently the stats plugin has a template and templates_legacy directory. We need to ensure that the templates in templates_legacy are loaded. 1343827782000000 1344543473000000 2698 enhancement toby shevski demo phase 4 assigned markdown preview for description / other fields with markdown support 1342620085000000 1344543252000000 2766 enhancement seanh shevski demo phase 4 assigned prevent draft datasets making it to activity stream "The new ckan creates datasets as part of a 3 phase process. To allow for this partially created datasets can have a state that is 'draft' or 'draft-complete'. These datasets should not be seen as active by the activity stream. If we click 'add dataset' and then complete the first phase of adding a dataset then we end up having a activity stream created. When we add a resource in the next phase (add data) again an activity stream item xxx added resource to dataset is created We do not want these adding. Essentially if a dataset has a state.startswith('draft') then we want the activity stream to ignore all actions involving it. finally when the state is changed form state.startswith('draft') to state=='active' we want a xxx has created dataset ... to be added to the stream. The best way to do this would be to branch from 2375-demo-theme-stable and get it to work there. Let me know if you need any help with this ticket or a better explanation of the problem." 1343318795000000 1344543193000000 2832 enhancement shevski demo phase 4 closed duplicate can't add a dataset to more than one group "add to groups is a drop down menu where you can only choose one needs a new UI & logic allowing user to add new groups & potentially remove from other lists" 1344521472000000 1344542984000000 2824 defect danieljohnlewis demo phase 4 closed fixed Multiple of the same Flag Issues "There is some bizarre language flag issues. 1) Log in to http://s031.okserver.org:2375/ (I'm logged in as danieljohnlewis) 2) Visit the apps page: http://s031.okserver.org:2375/apps 3) Have a look at the languages drop down, flags look fine (although Deutsche does have an EU flag rather than the German flag.. but that's irrelevant) 4) Change filters to, say, type: Application and sort: Newest, and apply. Web address becomes: http://s031.okserver.org:2375/apps?page=1&type=application&sort=created_desc 5) Look at the languages drop down: Flags are largely incorrect, with more than one country having the same flag. Please see the attached screenshot. Note: this was originally tested with Google Chrome on Linux (Ubuntu)." 1344505215000000 1344532640000000 2835 enhancement aron.carroll demo phase 5 new Client module needs a template loading method "{{{ Client#getTemplate(name, params, success, error); }}} Where params, success and error are optional arguments. test/index.html already has an implementation called loadFixture()." 1344532233000000 1344532233000000 2833 enhancement aron.carroll demo phase 5 new Load module templates before calling .initialize() "I think this would be a nice feature for remote loading templates if the options.template value ends in "".html"". {{{ ckan.module('my-module', { options: { template: 'my-template.html' }, initialize: function () { this.template // This is the loaded template. } }); }}}" 1344531939000000 1344531939000000 2801 defect aron.carroll shevski demo phase 3 closed fixed no way to see full description of a related item "e.g. see here: http://s031.okserver.org:2375/apps same with related page on a dataset" 1344245809000000 1344531016000000 2826 defect toby danieljohnlewis demo phase 3 closed fixed Null group image "Problem: Example group ( http://s031.okserver.org:2375/en/group/example-group ) has a broken image, image not found. Link either incorrect, or no image set, if no image set then shouldn't it show a default image? Expected: There should be an image." 1344505546000000 1344528004000000 2812 enhancement toby markw demo phase 3 closed invalid Groups description needs improving "The 'What are Groups?' text at is a bit naff. Here is a suggested replacement: What are groups? Groups allow you to group users and data together so that they are easier to manage. For example datasets in a group could be visible only to group members, or publicly visible but only editable by group members. Groups can be used to collect together datasets from a single publisher, or related to a particular project, for example. " 1344419953000000 1344524290000000 2831 enhancement aron.carroll ckan 2.0 new Create a limited subset of markdown that's supported "Allowing people to use the full range of markdown results in extremely messy output across the site. I'd suggest limiting support to only a subset of common use cases. * Allow all inline elements, this allows bold, italic, code and links. * Allow lists. Disallow * Horizontal Rules * Headings * Block quote and code (this may turn out to be useful and so could be included) This way you get markdowns paragraph handling and a few inline styles without breaking the entire layout of the page. Here's the full syntax if anyone is interested http://daringfireball.net/projects/markdown/syntax" 1344512467000000 1344512467000000 2781 enhancement aron.carroll shevski demo phase 3 closed fixed add way to edit homepage text to simple theming "demo.ckan.org has a small field for adding text on homepage current text: ""Welcome to the CKAN demo Try out standard CKAN functionality in a sandbox environment. Search for datasets directly from the homepage or by navigating to the Datasets search page where you can facet by tags, groups and format."" Want to make this editable for demos" 1343738523000000 1344510922000000 2722 defect aron.carroll shevski demo phase 3 closed fixed Ordering or search of datasets of a group brings up 'no results' "1. go to a group, e.g. http://s031.okserver.org:2375/group/data-explorer 2. Order by anything, e.g. choose 'popular' and click go 3. ""sorry no datasets found"" message appears instead of ordering the group datasets in wanted order http://s031.okserver.org:2375/group/data-explorer?q=&sort=views_recent+desc" 1342948854000000 1344510010000000 2680 enhancement shevski shevski demo phase 3 closed fixed review group deletion "Super admins & owners/creators of groups need a way to delete them Is the auth model in place for all this stuff? May be worth sitting down and going through how this should work Currently can change state from active to deleted - this is not ery user friendly (want a button with a 2 step process maybe?) & I'd like to know who can view this option? Everyone who can edit a group? Who can edit?" 1342436525000000 1344509493000000 2829 enhancement johnglover toby ckan-v1.9 new Archiver fails on 403 http response "Had this issue with the archiver on my local machine need to be logged in (I am admin) to see via web front end {{{ $ paster archiver update -c ../ckan/development.ini 2012-08-09 11:01:37,636 INFO [ckanext.archiver.commands] Archival of dataset resource data added to celery queue: opencontext-chogha-mish-fauna (1 resources) 2012-08-09 11:01:37,671 INFO [ckanext.archiver.commands] Getting dataset metadata: south-african-national-gov-budget-2012-13 2012-08-09 11:01:37,900 INFO [ckan.lib.base] /api/action/package_show render time 0.043 seconds Traceback (most recent call last): File ""/home/toby/okfn/pyenv/bin/paster"", line 8, in load_entry_point('PasteScript==1.7.5', 'console_scripts', 'paster')() File ""/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/script/command.py"", line 104, in run invoke(command, command_name, options, args[1:]) File ""/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/script/command.py"", line 143, in invoke exit_code = runner.run(args) File ""/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/script/command.py"", line 238, in run result = self.command() File ""/home/toby/okfn/pyenv/src/ckanext-archiver/ckanext/archiver/commands.py"", line 98, in command response = app.post(api_url + '/package_show', data) File ""/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/fixture.py"", line 262, in post expect_errors=expect_errors) File ""/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/fixture.py"", line 243, in _gen_request return self.do_request(req, status=status) File ""/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/fixture.py"", line 406, in do_request self._check_status(status, res) File ""/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/fixture.py"", line 439, in _check_status res.body)) paste.fixture.AppError: Bad response: 403 Forbidden (not 200 OK or 3xx redirect for /api/action/package_show) {""help"": ""Return the metadata of a dataset (package) and its resources.\n\n :param id: the id or name of the dataset\n :type id: string\n\n :rtype: dictionary\n\n "", ""success"": false, ""error"": {""message"": ""Access denied"", ""__type"": ""Authorization Error""}} }}}" 1344508484000000 1344508484000000 2699 enhancement shevski shevski demo phase 5 assigned workflow for associating datasets with groups "needs review & speccing out e.g. datasets created by a user who belongs to a certain publisher (group) get auto added to this group" 1342620176000000 1344507133000000 2700 enhancement aron.carroll shevski demo phase 3 closed fixed language box lang box improvements: styling, images, submit upon selection 1342620223000000 1344505614000000 2821 enhancement danieljohnlewis demo phase 5 new Featured Items on Filter "Problem: On /apps page in the Filter Results box there is a ""Only show featured items"" checkbox, on selection it comes up with 0 solutions. Expected: Presumably an admin can create ""featured items"" so that they can be randomly selected on front page (is this correct)? If there are no ""featured items"" in the whole database can this check box be hidden? Bug is: no UI or obvious way to create featured items. Also the checkbox looks un-styled" 1344504504000000 1344505492000000 2755 enhancement toby shevski demo phase 3 closed fixed user pages very slow to load navigating to a user page -one's own or http://s031.okserver.org:2375/en/user/ira or http://s031.okserver.org:2375/en/user/shevski, even when signed out is noticeably slower than navigating between other parts of the site; over 2 seconds. Maybe even 3 1343225395000000 1344505304000000 2707 enhancement toby shevski demo phase 3 closed fixed Tidy up additional info boxes on dataset and resource pages "This currently looks terrible. Some simple things we should do to improve this. * Localise and captitalise known (non custom) keys into human titles. eg. ""size"", ""created_at"", ""mime_type"". * Apply units to values of known keys where possible eg. ""size in appropiate units"" * Convert dates into a more human friendly format. We can avoid localisation hell by using an ISO format like YYYY/MM/DD hh:mm:ss which is still better than ISO8061 * Move the non user fields to the top of the table. " 1342621471000000 1344504846000000 2823 enhancement toby toby demo phase 5 new resource additional info title order "Order the items so that none user fields are first from ticket #2707 " 1344504773000000 1344504773000000 2820 defect danieljohnlewis demo phase 5 new English Language: Visualization -> Visualisation "Problem: In the English version (which has a UK flag, indicating British English), the word ""Visualization"" is used. For an example see the ""Filter by type"" drop down on the /apps page. Expected: This should be ""Visualisation"" in British English. Any instances of ""Visualize"" should be changed to ""Visualise"" too. " 1344504455000000 1344504455000000 2748 enhancement shevski demo phase 5 new add 'add new resource' button to sidebar "When editing a resource you see the current and any other existing resources in sidebar (e.g. see http://s031.okserver.org:2375/en/dataset/format-error-test/resource_edit/d1eac556-c16f-44af-8148-5e3467b57cf8?inner_span=True) Would be good to have a pretty 'add new' slightly transparent resource folder/pointer undearneath - letting you add resources from the end resource page" 1343212878000000 1344503744000000 2813 enhancement toby markw demo phase 5 new Confusing sidebar on demo dataset page "On a dataset page on demo.ckan.org, the left sidebar is confusing. * It starts with some random links. Actually they are links to groups which the dataset is in, but this isn't clear. * The sidebar elements that are actually part of the dataset are 'Datset extent' and 'License', so these should be right at the top (if they belong in the sidebar at all), instead of which they are right at the bottom in the junk part of the page (i.e. probably lower than the bottom of the main page, and hence lower than anyone will scroll)." 1344420206000000 1344445419000000 2810 enhancement kindly ckan-future new heroku ckan support Get ckan working on heroku 1344364858000000 1344364858000000 2717 enhancement shevski toby demo phase 3 closed fixed French breaks the demo header "when language is french a) the menu overlaps the logo b) much of the logo becomes unclickable @shevski a) seems like you b) is aron" 1342780487000000 1344359846000000 2768 enhancement toby shevski demo phase 5 new normalise excel to xls so that data proxy works 1343319382000000 1344351663000000 2774 enhancement toby aron.carroll demo phase 3 closed fixed Provide a method of passing localised strings into the JavaScript "We need to be able to do the following: * Rip the localised strings from the JavaScript source code. These are strings that look like {{{_('String')}}}, {{{translate('String') }}} and {{{ isPlural('String') }}}. * An endpoint that provides the translations in the correct locale for the user. * The endpoint should provide the locale as JSON (possibly using http://jsgettext.berlios.de/doc/html/po2json.html or similar tool) The JavaScript can then read this file on page load." 1343661072000000 1344351626000000 2674 defect kindly shevski demo phase 5 assigned Data preview not loading on s031 "Not loading for all resources as far as I can tell; e.g. http://s031.okserver.org:2375/dataset/afghanistan-election-data/resource/f6331f99-51f6-44d9-95b9-b20f3b74f360 Fine on demo.ckan.org" 1342435102000000 1344349324000000 2735 enhancement toby shevski demo phase 5 assigned Dataset order on user page "I think the datasets on user pages http://s031.okserver.org:2375/user/me should be ordered by latest updated (with most recent at the top) instead of in alphabetical order. What do you think?" 1343062877000000 1344349245000000 2809 enhancement aron.carroll toby demo phase 3 closed fixed _ not defined for modules "eg on confirm delete http://localhost:5000/zh_TW/dataset/edit/1-kmwaterfractionfromnationaltopographicdatabasemapscanada _(....) gives [object Object] not translation" 1344335863000000 1344347814000000 2545 requirement ross ross opendatasuite 1 closed fixed Need to build DataGM site based on ODS " == Requirements == We need to clone the demo ODS site for DataGM as soon as we have a mostly working demo so that the DataGM team can try it out and comment/feedback on functionality. == Interface == None == User Stories == None == Tasks == [ ] Deploy demo DataGM site. == Estimates == " 1340016640000000 1344337973000000 2807 enhancement aron.carroll toby demo phase 3 closed fixed autocomplete.js error "@aron, edit dataset has a js error http://localhost:5000/dataset/edit/1-kmwaterfractionfromnationaltopographicdatabasemapscanada TypeError: options is undefined [Break On This Error] this.lookup(options.term, options.callback); autocomplete.js (line 231)" 1344266228000000 1344270190000000 2804 enhancement aron.carroll shevski demo phase 3 closed fixed please make download button blue "on resource pages (e.g. http://s031.okserver.org:2375/dataset/afghanistan-election-data/resource/f6331f99-51f6-44d9-95b9-b20f3b74f360), same as old ckan for continuity and to highlight!" 1344252255000000 1344269865000000 2802 enhancement aron.carroll aron.carroll demo phase 3 closed fixed Need to tweak the JSON formatting of the localisations "This is what we need the JSON to look like. Taken from the Jed documentation (http://slexaxton.github.com/Jed/). {{{ { // The empty string key is used as the configuration // block for each domain """" : { // Domain name ""domain"" : ""the_domain"", // Language code ""lang"" : ""en"", // Plural form function for language ""plural_forms"" : ""nplurals=2; plural=(n != 1);"" }, // Other keys in a domain contain arrays as values // that map to the translations for that key. // Gettext suggests that you use english as your keys // in case the key isn't found, and it can just pass // the value directly through. // Note: by convention, the 0-index location of the translations // is never accessed. It's just a thing, I guess. ""a key"" : [ null, ""the translation"", ""the plural translations"", ... ], // The plural form string is converted into a function // and the value that's passed into the gettext call // is passed into the plural form function. It's result // (plus 1) is the index that the translation comes from. // We're using sprintf interpolation on our keys so we can // then sub in the _actual_ values into the result. ""%d key"" : [ null, ""%d key"", ""%d keys"" ], // Contexts are keys that are just prefixed with a context string // with a unicode \u0004 as the delimiter. // You can use it for anything. Usually it's just for being content aware // in some way (e.g. male vs. female, product vs. category) ""context\u0004%d key"": [ null, ""context %d key"", ""context %d keys"" ] } }}} This looks like an appropriate python library to do the formatting. http://pypi.python.org/pypi/pojson/ but I'll leave to your discretion. Finally an API endpoint that returns the appropriate request would save us making requests to the i18n directory. {{{ /api/i18n/{locale} }}} For example if the current url is http://localhost:5000/pl/dataset then the client would request: {{{ http://localhost:5000/api/i18n/pl }}} This should return the Content-Type: application/json and a 200 with an appropriate JSON body (this can be the language requested or an appropriate fallback). I think that if the fallback is the default language (in most cases English) then we just return a 204 No Content to save data. " 1344248847000000 1344269446000000 2458 enhancement aron.carroll aron.carroll demo phase 3 closed fixed Create demo statistics page "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62998513/comments Implementation: http://s031.okserver.org:2375/en/stats" 1338211906000000 1344262256000000 2803 enhancement aron.carroll aron.carroll demo phase 3 closed fixed Convert all JS translations to use keywords 1344251817000000 1344256274000000 2702 enhancement shevski shevski demo phase 5 assigned Future Javascript wishlist for demo "tooltip on popular datasets with number of views facets to update automatically creating a dataset without reloading page between steps hover on licences information autocomplete on search terms group filtering social share buttons in lightboxes dataset counts on homepage" 1342620475000000 1344255984000000 2644 enhancement shevski toby demo phase 5 assigned user dashboard for demo theme "we now have a user dashboard that needs theming not sure if we need sam to look at it http://localhost:5000/user/dashboard" 1341910821000000 1344255836000000 2805 enhancement seanh toby closed fixed zh_TW has no Plural-Forms "the .po file for zh_TW does not contain Plural-Forms which breaks the i18n JavaScript Extractions for ckan-demo. I've added the following which may or may not be correct - from web search ""Plural-Forms: nplurals=1; plural=0\n"" I suspect it will get overwritten when translations are pulled from transiflex so passing to you as you are the expert in that realm" 1344253863000000 1344254760000000 2797 enhancement aron.carroll toby demo phase 3 closed fixed plain_textarea styling "http://localhost:5000/ckan-admin/config uses a plain (non markup) textarea for custom css I've added form macro plain_textarea to provide one, however it renders without a bottom border due to markup textarea styling can you fix this - thanks" 1344000422000000 1344250973000000 2799 enhancement toby aron.carroll demo phase 3 closed fixed Translations for demo not picking up {% trans %} blocks "Also they seem to be missing the odd {{{ _() }}} block. Such in the new package form. https://github.com/okfn/ckan/blob/2375-demo-theme-development/ckan/templates/package/snippets/package_form.html#L44 " 1344243005000000 1344249253000000 2751 enhancement toby toby demo phase 5 new check translations for full demo site need to check everything gets translated - sean did this before so will have info 1343216443000000 1344243046000000 2322 enhancement ross rgrp ckan-sprint-2012-05-29 closed fixed Convenience offset on end of resource urls: /raw, /api, /viewer "== Raw == /raw or /download (latter may be better) {{{ /dataset/{id}/resource/{resource-id}/raw => redirects to resource url (download) }}} == API == {{{ /dataset/{id}/resource/{resource-id}/api[/....] => either redirects or directly serves /api/data/{resource-id} }}} == Viewer (Explorer?) == Do data viewer but without anything else showing (full-screen?). this would not be just the data explorer but other cases too (including iframe etc ...) {{{ /dataset/{id}/resource/{resource-id}/viewer Resource (pre)-viewer without anything else (perhaps include resource title) }}} ----- Assigning for kindly for review. These would take about 20m to implement and would be *very* convenient from my experience of using the data API. ---- Implementation at enhancement-2322-convenience-urls" 1335236581000000 1344086640000000 2302 enhancement toby ross demo phase 3 closed fixed Simple theming "Needs re-testing after the ODS re-theme. ==== Simple image upload, text changes and css updates for a single instance. All done on a single configuration/admin page See http://ckan.okfnpad.org/simple-themes for user stories [x] Initial version will only take an image_url rather than allowing an upload. [x] New page with form for title, tagline, image loader etc. [x] Allow the user to paste in values for the CSS, do we really want a colour swatch? [x] Generate local CSS override which should *somehow* override colors in the original CSS. [x] Allow user to provide text for an about page. " 1334582628000000 1344012491000000 2701 enhancement toby shevski demo phase 3 closed fixed add comments to datasets disqus?? 1342620406000000 1343949913000000 2526 enhancement aron.carroll aron.carroll demo phase 5 closed fixed Demo theme new custom form fields should be created when needed "Implementation: http://s031.okserver.org:2375/dataset/new_metadata" 1339680105000000 1343924205000000 2453 enhancement aron.carroll aron.carroll demo phase 5 closed fixed Create demo edit user profile page "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62268474/comments Implementation: http://s031.okserver.org:2375/user/edit" 1338211351000000 1343924178000000 2452 enhancement aron.carroll aron.carroll demo phase 5 closed fixed Create demo user profile page "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62268474/comments Implementation: http://s031.okserver.org:2375/user/aron" 1338211295000000 1343924143000000 2447 enhancement aron.carroll aron.carroll demo phase 5 closed fixed Create demo add dataset page "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62234769/comments Implementation: http://s031.okserver.org:2375/dataset/new http://s031.okserver.org:2375/dataset/new_resource" 1338210835000000 1343924125000000 2669 enhancement aron.carroll toby demo phase 5 closed fixed style [Draft] "I've added [Draft] to partial completed datasets in the package list and read commit 6a8e74d0 templates/snippets/package_list.html templates/package/read.html do you want to style them in some way?" 1342174110000000 1343907572000000 2791 enhancement aron.carroll toby demo phase 3 closed fixed Logo fix "@aron We should be able to have longish tag lines that look ok currently they wrap and stop the logo text being clickable Can we have `white-space:nowrap;` for the tagline so long ones don't wrap and maybe look at aligning long ones " 1343895034000000 1343906891000000 2779 enhancement aron.carroll shevski demo phase 3 closed fixed add 'deleted' to deleted datasets that admins can view "Currently, as a logged in admin, you can view deleted datasets just as if they are live datasets. Nothing distinguishes them apart from normal datasets other than they don't show up on the dataset page This is potentially very confusing Can we add some kind of banner / label to deleted datasets to show they have been deleted? & Do you guys need Sam to design this? Related ticket for undeleting datasets - http://trac.ckan.org/ticket/2780" 1343737077000000 1343903455000000 2795 enhancement toby demo phase 5 new Check validation of HTML, CSS, JS Ensure that we are being standards compliant 1343903128000000 1343903128000000 2794 enhancement aron.carroll toby demo phase 3 closed fixed top buttons missing on edit resource "http://s031.okserver.org:2375/dataset/resource-markdown/resource_edit/ba1b094d-697c-47c4-a72a-6c2557da5409 should have `back to resource` as a minimum" 1343897926000000 1343903064000000 2792 enhancement aron.carroll toby demo phase 3 closed fixed dropdown fixes - open correctly "http://s031.okserver.org:2375/ language dropdown expands downwards it should open upwards select2 can do this see http://ivaynberg.github.com/select2/#documentation can you see if we can get this in ckan demo " 1343895296000000 1343901501000000 2793 enhancement toby ross demo phase 3 closed fixed Markdown of resource page not rendered as markdown "As per #2650 (on master/1.8 now) If the resource has a description it isn't rendered as markdown .. " 1343896663000000 1343897811000000 2778 enhancement aron.carroll toby demo phase 3 closed fixed apps dashboard needs some design love "apps dashboard available at http://localhost:5000/apps in main dev branch I have got this to work in the demo however a) it is a bit ugly b) the template could do with some sorting eg the dropdowns should be being created in a nicer way " 1343734040000000 1343841130000000 2789 enhancement aron.carroll toby demo phase 3 closed fixed logo fixups "With the text logo I'd like the tag line to be under the site name so some css like `float:left;clear:left;font-size:13px;line-height:0.1;` Also the site name can be larger if no tagline commit daac54dbd856 I've added a new global g.header_css that sets the hgroup class to 'header-image' 'header-text-logo' 'header-text-logo-tagline' I think maybe we should also have 'header-image-css' for the equivalent of the class=""logo"" in the link to allow/stop the image replacement " 1343835141000000 1343835904000000 2788 enhancement amercader amercader ckan-v1.9 new Speed improvements on creating/updating and indexing "Specially needed when importing large numbers of datasets. Profiling the import command from the harvesting extension has shown some areas where improvements could be made. " 1343832992000000 1343832992000000 2776 enhancement aron.carroll shevski demo phase 3 closed fixed add styled text field for header title "to use on demos instead of the ckan logo & tag line. Design here: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/63387712/comments#190457381 (First, text only one at the bottom)" 1343724603000000 1343824375000000 2786 enhancement shevski demo phase 5 new target blank HTML downloads e.g. if I click on download here: http://s031.okserver.org:2375/dataset/example-dataset/resource/d8797e51-b497-46ca-a274-8675533d110b can it take me to a new tab instead of navigating away from ckan? 1343819814000000 1343819814000000 2783 enhancement shevski closed wontfix Way to generate homepage backgrounds for demos/ckan hosted "Really we want this for CKAN Hosted & for creating demos. Currently we're using http://leaflet.cloudmade.com/ - but by finding the area & taking screenshots. Would be better to interate with the app so that: a) this happens automatically and b) correct attribution will be visible on maps" 1343812931000000 1343818702000000 2739 enhancement aron.carroll shevski demo phase 3 closed fixed Help text for format field "Can we please add some text next to the format field when user adding a new resource along the lines of: ""This will be generated automatically, but you can edit if you wish"" It always seems to work better when the user does not fill it themselves..." 1343123175000000 1343817919000000 2765 enhancement aron.carroll aron.carroll demo phase 3 closed fixed Demo login error messages "I'd suggest we add a generic ""failed to login, invalid fields"" in the error_summary block. Then more specific ""this field is required"" when a required field is left empty. So in general, provide an error dict" 1343317842000000 1343817858000000 2784 defect icmurray icmurray new model dictize sensitive data The model dictize layer doesn't consistently remove sensitive data from the dictized models. It should use the current context to decide whether to include sensitive data or not. 1343814685000000 1343814685000000 2782 enhancement toby shevski demo phase 3 closed wontfix integrate with leaflet for demo background generation use http://leaflet.cloudmade.com/ properly to generate map backgrounds for demo instances 1343748857000000 1343811113000000 2769 enhancement toby shevski demo phase 3 closed fixed add site wide related page "Can we add the related dashboard (http://trac.ckan.org/ticket/2347) to demo - central place to show off all the related stuff added. " 1343323567000000 1343734083000000 2777 enhancement icmurray new bug: user attributes 1343726363000000 1343726363000000 2614 enhancement aron.carroll toby demo phase 3 closed fixed improve the documentation around less/node "needs to move to a better home better ubuntu install instructions plus test they work `apt-get install nodejs` integrate with paster" 1340815928000000 1343685572000000 2408 enhancement aron.carroll markw demo phase 3 closed fixed Only 4 'extras' can be added at a time The settings > extras page for a dataset allows extra fields to be added, but only four can be added a time in a single atomic update. It would be helpful to have an 'add another' button on the form that can be used any number of times. 1337683639000000 1343657014000000 2713 enhancement aron.carroll toby demo phase 3 closed fixed button colour not set properly in variables.css "to reproduce run paster color fuchsia -c development.ini then go to http://localhost:5000/dataset/new Add button is blue gradient at the top this should be overridden in variables.less when added send this ticket to me and i'll update the color command to change it" 1342706428000000 1343656865000000 2733 enhancement johnglover johnglover ckan-v1.9 new Datastore logic functions "== Where does the data go? == In a postgres database configured by the ckan.datastore_write_url config option which is a sqlalchemy url. The user should have rights to create tables. == Whats the api like? == We will just implement it as logic functions like the rest of CKAN and will part of core. After that we may add some nicer api functions that use these but that is a secondary concern. == What are the initial logic functions? == * datastore_create * datastore_delete * datastore_show == What is the JSON input format for datastore_create == To begin with it can have the following keys. It is fairly consistent with Max Ogdens' gut servers. Except adds resource_id. {{{ { resource_id: resource_id # the data is going to be stored against. fields: a list of dictionaries of fields/columns and their extra metadata. records: a list of dictionaries of the data eg [{""dob"": ""2005"", ""some_stuff"": ['a', b']}, ..] } }}} * The first row will be used to guess types not in the fields and the guessed types will be added to the headers permanently. Consecutive rows have to conform to the field definitions. * rows: can be empty so that you can just set the fields * fields are optional but needed if you want to do type hinting or add extra information for certain columns or to explicitly define ordering. eg: [{""id"": ""dob"", ""type"": ""timestamp"" }, {""id"": ""some_stuff"", ""type"": ""text""}, ...]. A header items values can not be changed after it has been defined nor can the ordering of them be changed. They can be extended though. * Any error results in total failure!! For now pass back the actual error. * Should be transactional == What json does datastore_delete take? == {{{ { resource_id: resource_id # the data is going to be deleted. filters: dictionary of matching conditions to delete e.g {'key1': 'a. 'key2': 'b'} this will be equivalent to ""delete from table where key1 = 'a' and key2 = 'b' "". No filters (either not present or not defined) then delete the table. If we want truncate then add truncate: true to truncate the table. } }}} == What json does datastore_search take? == {{{ { resource_id: resource_id # the data is going to be selected. filters : dictionary of matching conditions to select e.g {'key1': 'a. 'key2': 'b'} this will be equivalent to ""select * from table where key1 = 'a' and key2 = 'b' "" q: full text query limit: limit the amount of rows to size default 100 offset: offset the amount of rows fields: list of fields return in that order, defaults (empty or not present) to all fields in fields order. sort: comma separated field names with ordering e.g ""fieldname1, fieldname2 desc"" } }}} Some free code: https://gist.github.com/3163864 == What json does datastore_search return? == {{{ { fields: same type as datastore_create accepts (i.e. with metadata) offset: The same offset that was supplied in datastore_show limit: The original limit filters: The filters that were applied in data_show total: # total matching records without size or offset records: [same as data_create] # list of matching results } }}} On error will return: {{{ { __error__: … sql error … } }}} == What types are allowed? == Aim to support as many postgres/postgis types that have string representations. http://www.postgresql.org/docs/9.1/static/datatype.html http://www.postgresql.org/docs/9.1/static/sql-createdomain.html == IDs == Each row in a table will be given an _id column which has an id generated by us which you can use in queries. == Other Features == Each row will store the _full_text index of all the data in the row. At some later point there will most likely be a way to index fields add constraints etc." 1343058886000000 1343656105000000 2759 enhancement aron.carroll toby demo phase 3 closed fixed resource upload pointer incorrect "On the add resource forms new or existing dataset when hovering over `Upload a file` css cursor should be pointer not text" 1343289469000000 1343651082000000 2773 enhancement markw markw ckan-v1.9 new About page needs improving The about page for the DataHub (thedatahub.org/about) could be improved. More importantly the default about page for a generic CKAN instance should be completely different - focus more on Open Data rather than the community hub idea (as this is more relevant for most installations) and remove specific references to tdh. 1343646795000000 1343646795000000 2767 enhancement aron.carroll aron.carroll demo phase 3 closed fixed Upgrade macro form.select to use tuples instead of dicts This keeps the intended order. 1343319298000000 1343645517000000 2750 enhancement toby toby demo phase 3 closed fixed javascript translations need ripping "we need to ensure that translations in .js files are ripper for translation look at what is available as preference to creating our own" 1343216246000000 1343415279000000 2628 enhancement seanh seanh closed duplicate Add docs for upgrading a source install 1341585472000000 1343392717000000 2238 enhancement seanh seanh ckan-future closed duplicate Deploy some test vocabs and publishers on test.ckan.net, check tutorial-style instructions for these 1332165311000000 1343392681000000 2629 enhancement seanh seanh ckan-v1.9 closed duplicate Move ckanext-examplevocabs into master and document 1341586555000000 1343392596000000 2630 enhancement seanh seanh ckan-v1.8 closed duplicate UPdate docs after IDatasetForm schema change 1341586625000000 1343392411000000 2757 enhancement Adria seanh ckan-v1.8 closed fixed Write documentation for upgrading a CKAN install from an older to a newer version of CKAN 1343235242000000 1343392006000000 2770 defect seanh seanh ckan-v1.8 closed fixed Some strings potentially not marked for translation "Luca De Santis reported these strings not marked in 1.7.1: > - /user/login.html (""Remember me"" & ""Sign in"") > - /package/search.html and template/package/group/read.html (Tags, Resource Formats, Groups) > - /package/resource_read.html (the ""No description"" message) > - the ""Add related item"" dialog (some strings are i18n savvy, others not) > - the stats page (labels on the graphs) > - the history page (as far as the log messages are concerned). lets check that they are marked in 1.8" 1343386840000000 1343389747000000 2764 enhancement rgrp closed duplicate Simplify filestore "Definitely do: * Local file filestore: Remove pairtree (and OFS) and do something very simple * Options: 1. Local file only. Allow for uploaders to GS / S3 in the background * Advantages: simpler, if local upload can do progress bars etc etc * Disadvantages: strain for web-app (upload a 2GB file what happens) * This is probably fixable ... 2. Stick with how we are === New filestore without pairtree === Each uploaded file is located on disk at: {uuid}/{filename} Alternative: yyyy/mm/dd/{uuid}/{filename} Need the uuid to avoid collisions. Metadata: Store no metadata." 1343303928000000 1343320440000000 2760 enhancement aron.carroll shevski demo phase 3 closed fixed fix spacing between data API button and other buttons on dataset page "see spacing between 'download' button and 'data api' button http://s031.okserver.org:2375/dataset/afterfibre/resource/66f5b980-06db-4ccd-a005-c18de4d68a4b" 1343297360000000 1343319140000000 2724 enhancement toby shevski demo phase 3 closed fixed Inconsistent labelling / UX on draft datasets "1. One of the datasets here: http://s031.okserver.org:2375/en/user/shevski has [DRAFT] after it. It's not clear why this has been added -> user confusion 2. The draft dataset is not clickable in the dataset list 3. The ff dataset (same as the ff [DRAFT] dataset) in the Activity Steam section a) is clickable and b) does not have [DRAFT] after it" 1342949402000000 1343319009000000 2710 enhancement tobes toby demo phase 3 closed fixed make the api_info.html not look like shit you know the score 1342624385000000 1343318314000000 2375 enhancement toby aron.carroll demo phase 5 closed fixed Create new base theme "As designed by Sam Smith -> https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/ Also to be used as the demo theme although I think they will diverge at some point. At the moment they should be implemented as one and the same." 1336469009000000 1343317873000000 2454 enhancement toby aron.carroll demo phase 5 closed fixed Create demo login page "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62935295/comments Implementation: http://s031.okserver.org:2375/en/user/login" 1338211420000000 1343317795000000 2354 enhancement aron.carroll aron.carroll demo phase 5 closed wontfix Front end performance improvements [super] "Try and increase the page load times for the front end. = Now = * Always include scripts at the bottom * Include CSS at the top * Load fonts with JS * Concatenate and minify JavaScript files * Create a build script to load dependancies seperately * Enable Gzip compression on resources * Enable future cache headers on resources = Next = * Support serving assets from a CDN * Look into optimising the CSS - Remove large portions of unused CSS * Remove extreaneous libraries, can jQuery UI be replaced with bootstrap? = Tools = * Webkit Inspector Audits * YSlow Firebug Plugin - http://yslow.org/ * Speed Tracer - https://chrome.google.com/webstore/detail/ognampngfcbddbfemdapefohjiobgbdl = Continuous Integration = YSlow can be hooked up to Jenkins via Phantom JS" 1335885042000000 1343317505000000 2762 defect seanh ckan-v1.8 new test_related.py crashes "/home/seanh/Projects/ckan/ckan/ckan/tests/functional/test_related.py ImportError (cannot import name assert_regexp_matches)" 1343303753000000 1343303753000000 2761 enhancement seanh ckan-v1.8 new Document all the errors you can get when setting up filestore, and how to fix them "Add it to a 'Troubleshooting' section on the filestore page: http://docs.ckan.org/en/ckan-1.7.1/filestore.html For the error messages and their solutions, see various threads on ckan-dev" 1343302566000000 1343302566000000 2758 enhancement toby toby ckan-v1.9 new file storage gives error if config not available but no useful user information "We get an error which should be improved the actual problem is this but not passed to user ⇝ KeyError: 'ofs.impl' View as: Interactive (full) | Text (full) | XML (full) Module ckan.controllers.storage:2 in auth_form view Module ckan.lib.jsonp:26 in jsonpify view >> data = func(*args, **kwargs) Module ckan.controllers.storage:407 in auth_form view >> authorize(method, bucket, label, c.userobj, self.ofs) Module ckan.controllers.storage:200 in ofs view >> StorageAPIController._ofs_impl = get_ofs() Module ckan.controllers.storage:71 in get_ofs view >> storage_backend = config['ofs.impl'] Module paste.registry:146 in __getitem__ view >> return self._current_obj()[key] KeyError: 'ofs.impl'" 1343287709000000 1343287709000000 2756 enhancement seanh seanh ckan-v1.8 closed fixed Fix handling of extras in group read It doesn't pass extras_as_string 1343231514000000 1343232429000000 2749 enhancement aron.carroll toby demo phase 5 closed fixed page title issue with super() super() "title broken for http://s031.okserver.org:2375/en/dataset/new_resource/gold-prices we have inherited the title from the extended page not from the base should be 'add data - ckan' not 'add data - create dataset - ckan' any idea how we fix this?" 1343215828000000 1343232304000000 2647 enhancement aron.carroll toby demo phase 5 closed fixed api bullshit button make it as a snippet calling thing like aron would love 1341920530000000 1343229185000000 2267 enhancement aron.carroll rgrp demo phase 5 closed fixed Add generator=ckan tag in head Add generator=ckan tag in head of templates to identify site as generated by CKAN 1333040018000000 1343229146000000 2754 enhancement aron.carroll shevski demo phase 2 closed fixed Add + icon to two buttons Specifically the 'add resource' button and the 'add item' button in related section 1343225177000000 1343227446000000 2753 enhancement aron.carroll shevski demo phase 2 closed fixed rename breadcrumb on user page "Currently lower case 'active' is the name of this page: http://s031.okserver.org:2375/user Should be 'All Users' or 'Active Users'" 1343225088000000 1343227431000000 1553 defect aron.carroll dread demo phase 5 closed fixed Upload handles non-logged in user badly "When you install ckanext-store (Storage extension) then CKAN displays 'Upload a file' button in the dataset/resource edit tab. If you are not logged in, then this feature doesn't work, but there is nothing to indicate this. The button should be disabled. Furthermore, it lets you think you are starting the upload process, the spinner spins, it says 'Uploading...' and stays like that for a long while. This is a problem CKAN 1.4.3(ish) - 1.5.1 (current version) when you install the current ckanext-storage." 1324056405000000 1343226756000000 2347 enhancement icmurray ross ckan-v1.8 closed fixed Related stuff dashboard and changes " Some additions to the related stuff functionality to make it more useful post the 1.7 release. [x] Edit item (after checking auth) [x] My related things on my user page [x] Show user created related things on the users' page with links direct to the related page of that dataset. {0.5d} [x] Related stuff usage counts { 1d } Record the number of times the link for a related item is clicked. This is likely to mean that the link fires to call CKAN and then redirects to the actual URL. [x] Un-attached related items {0.25d} Allow related items to be created without being attached to datasets. This may mean that the dataset field is optional in the API. [ ] Dashboard for related A dashboard for related items, site-wide (not package specific) and orderable by date, views, {rating}, popularity of the dataset. Would be useful (possibly) for site-admin to mark one or more as 'featured' [x] Dashboard + Controller (Related) {1d} [x] Ordering at logic layer (date, views, rating, popularity of package, featured) {1d} [x] date [x] views [x] featured [x] 'Featured' related item with mechanism to fetch it. {0.5d} [ ] UI within dashboard for sysadmins to check/uncheck feature status {0.5d} [x] Changing auth for related. Currently auth is based on deletion being possible by dataset owner and the related owner but it may be that a lot of the auth for related items should be configured to have more restrictive auth. [x] Implement auth changes for publisher auth profile. { 0.5d } [x] General issues [x] Serverside validation of URLs [x] Activity updates [x] Make optional [x] Related item only includes App, Idea, Visualization but not API | Post | Paper | News Article options as in original ticket #2204 [ ] UI Changes [ ] General tidy up, fix form etc (icon for menu bar) [ ] Highlight featured items py:if=""related.featured"" [ ] Show either view count or popularity ${ related.view_count } [ ] A user's related items should be on their home page [ ] Related item plus sign is very poorly aligned within box [ ] Add related items should be in drop down like for resources (?) to make it easy to add items [ ] Hover should show a title that gives some information about what related are (not at all clear) ""Apps, Ideas, Visualization and other material related to this dataset"" [x] Related is a pretty terrible name in the UI - much better to have it called Apps, Ideas etc (perhaps title tag could even give more details e.g. ""Apps, Ideas, Visualization and other material related to this dataset"") -- btw i thought this was in #2332 but realize it wasn't (apologies for that!) - Went with Apps & Ideas (for now) [x] Documentation, documentation, documentation - AFAICT I can't see anything in v1.7 or master docs. I imagine this would be a short section like http://docs.ckan.org/en/ckan-1.7/commenting.html (and probably coming right after that in the ToC) which says * What it does * How to enable (and perhaps includes a nice-screenshot!) * How to customize (e.g. can one customize the list of options of things one can create (e.g. can I set it to just be app and idea or ...) * Also liase with Mark W re a blog post about this from the user perspective (a screenshot walkthrough ...) [ ] Clearly mark the old extension as deprecated from v1.7 forward: https://github.com/okfn/ckanext-apps (I just met someone last week who was working on integrating this and had no idea it was replaced by something better in v1.7)" 1335879539000000 1343226149000000 2682 defect seanh seanh ckan-v1.8 closed fixed CKAN's internal tracking counts each view twice, needs unit tests "CKAN's internal tracking seems to count each page view twice, the problem appears to be with the SQL in the update_tracking() method in ckan/lib/cli.py. The internal tracking feature needs some tests, and some of the code could maybe do with some more explanatory comments, e.g. what is the intended difference between count and running_total?" 1342446402000000 1343225636000000 2752 enhancement toby ross demo phase 2 closed fixed Navigation highlight missing When navigating to http://s031.okserver.org:2375/group on the demo server, the Group link in the navbar is not highlighted in the same was as the other links are when visiting those pages. 1343216582000000 1343222618000000 2357 enhancement aron.carroll aron.carroll demo phase 5 accepted Create build script for front-end resources Should minify and concatenate JavaScript and CSS as part of #2354 1335886181000000 1343220524000000 2225 enhancement aron.carroll rgrp demo phase 2 closed fixed Run jshint on our javascript and clean up as needed 1331407316000000 1343220502000000 2666 enhancement aron.carroll toby closed fixed templates/package/resource_edit.html "There is a new template for editing resources outside of the add dataset logic this is the template it just throws some crap onto the page at the moment - we need to create a form - the form will end up with the usual data/edit stuff but for now you can use the resource to populate the form and I can then change it to use data - I just want to know which fields we'll have templates/package/resource_edit.html when done reassign to me and I'll get it functioning" 1342084373000000 1343220176000000 2372 task aron.carroll aron.carroll closed fixed Create frontend style guide "This should cover formatting and best practices for HTML, CSS and JavaScript Perhaps this should sit in it's own repository (ckan-styleguides?) or gh-pages branch. " 1336071043000000 1343220160000000 2421 enhancement aron.carroll toby closed fixed demo-theme pills break in dataset search if pills cross onto 2 lines they split which they shouldn't to see just add some tags/formats till it breaks 1337865196000000 1343220041000000 2419 enhancement aron.carroll aron.carroll closed fixed Add dataset form needs hooking up to action/controller Currently for some reason I'm not getting the errors/data dict in the package/new.html template. 1337793401000000 1343220027000000 2720 enhancement aron.carroll shevski demo phase 2 closed fixed no padding around gravitars on all users page "http://s031.okserver.org:2375/user needs some spacing between the image & user name We could also display some stats here (e.g. number of dataset created, timestamp of last activity)" 1342948111000000 1343219999000000 2744 defect aron.carroll toby demo phase 2 closed fixed license dropdown is cramped "http://s031.okserver.org:2375/dataset/new license dropdown - when open we need some line spacing at least in FF I think it'd be nice to fix this in phase 2" 1343144543000000 1343219298000000 2575 enhancement toby amercader ckan-v1.9 closed fixed Licenses have i18n issues (was Inconsistent language on license dropdown) "License titles at least for some of them need translating. This wants to be done in a more efficient and simple manner than currently exists. the original problem was: The license dropdown on the dataset form shows titles in Swedish by default. Changing the language seems to default to English, but after refreshing the page a couple of times it shows a wrong language again. Thanks to pudo for reporting." 1340125845000000 1343216544000000 2747 enhancement toby shevski demo phase 2 closed fixed Breadcrumb should use title not URL of dataset "For example here: http://s031.okserver.org:2375/en/dataset/new_resource/gold-prices The breadcrumb shows ""gold-prices"" which is not the title of the dataset" 1343211742000000 1343215679000000 1345 enhancement kindly nils.toedtmann closed fixed Investigate possible memory leak "There is some evidence pointing to CKAN handling memory inefficiently or even leaking under certain conditions: When we migrated ckan.net/thedatahub.org from eu7.okfn.org (32bit) to s053.okserver.org (64bit) ([http://trac.okfn.org/ticket/882 ticket]) we experienced extraordinary memory usage peaks ([http://trac.okfn.org/ticket/904 ticket]). Here are the observed value with Apache default settings: * eu7, mpm-prefork: base level ~0.6GB, peaks up to 2GB * s055, mpm-prefork: base level ~1GB, peaks up to 4GB * s055, mpm-worker: base level ~1.5GB, peaks up to 6GB William reduced the life-time of a WSGI CKAN process from 500 requests down to 25 requests ([https://bitbucket.org/okfn/sysadmin/changeset/126290aead28 changeset]). This (together with two other tweaks) changed the situation drastically: * s055, mpm-event: base level ~1.4GB, no peaks This suggests that the more requests a CKAN processes serves over time, the more memory it consumes, aka bad memory management or a leak. To prove this theory, one could reduce the total number of WSGI CKAN processes as much as possible without killing the performance (e.g. down to ''processes=3''), and then observing the relation between ''maximum-requests=25...500'' and memory consumption. On 14/09/11 17:49, David Read wrote: > Someone to do a bit of top-down memory-use profiling would be very useful. Also useful would be something in the tests that reported what test cases use lots of memory - this could be in the nose plugin. +1" 1316041450000000 1343215489000000 2746 enhancement toby shevski demo phase 2 closed fixed help bubble on demo homepage missing Hey, this is still missing. It's the one with the add dataset text 1343209387000000 1343214031000000 2651 enhancement icmurray ross ckan-v1.8 closed fixed Check support for TSV which doesn't appear to work well. "TSV support doesn't seem to work very well, may be the mimetype ( text/tab-separated-values ) See http://thedatahub.org/dataset/wikipedia-e3-timestamp-position-modification/resource/d883ab44-07f4-4992-800a-3e4bf5d53a96 " 1341923318000000 1343209784000000 2693 enhancement seanh toby ckan-v1.8 closed fixed License is out of date "https://github.com/okfn/ckan/blob/master/LICENSE.txt mentions requires/lucid_conflict.txt which is no longer the case for 1.8 and needs updating not sure where requirements-testing/docs fit in @sean I've assigned this to you as you changed the requirements and my plate is full feel free to pass on to someone else" 1342605447000000 1343148356000000 2745 defect amercader ckan-v1.9 new Password reset returns an exception if the key parameter is missing "Instead of showing a notice, the password reset page throws an exception if the key parameter is missing: {{{ Module ckan.controllers.user:329 in perform_reset c.reset_key = request.params.get('key') if not mailer.verify_reset_link(user_obj, c.reset_key): h.flash_error(_('Invalid reset key. Please try again.')) abort(403) if not mailer.verify_reset_link(user_obj, c.reset_key): Module ckan.lib.mailer:100 in verify_reset_link if not user.reset_key or len(user.reset_key) < 5: return False return key.strip() == user.reset_key return key.strip() == user.reset_key AttributeError: 'NoneType' object has no attribute 'strip' }}} Apart from the obvious fix of checking for the 'key' parameter, it seems like is quite common to get these reset urls without the key parameter, so I suspect some email clients might strip the query params when building the links. We could avoid this problem by making the key part of the url instead of a param: http://thedatahub.org/en/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d/b4c2d03fa8 instead of: http://thedatahub.org/en/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key=b4c2d03fa8 " 1343145931000000 1343145931000000 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 2696 enhancement aron.carroll shevski demo phase 2 closed fixed autocomplete for resource format in create/edit dataset forms 1342619938000000 1343138454000000 2695 enhancement aron.carroll shevski demo phase 2 closed fixed autocomplete for tags in dataset creation / edit form 1342619891000000 1343138240000000 2740 enhancement toby shevski demo phase 2 closed fixed misleading breadcrumbs "When adding a resource, the breadcrumb should say ""add data"" or ""add resource"" not ""create dataset"" as you see here: http://s031.okserver.org:2375/dataset/new_resource/frere " 1343123274000000 1343137576000000 2723 defect aron.carroll shevski demo phase 2 closed fixed Search result summary badly displayed "Text goes over the order by text, with drop down floating on top meaning it's all impossible to read http://s031.okserver.org:2375/dataset?q=unemployment%2C+data&sort=metadata_modified+desc" 1342949143000000 1343136190000000 2737 enhancement toby shevski demo phase 2 closed fixed change help/prefilled text in format field "Should be basic format (which is what the datastore wants & what we display to users) e.g. ""CSV, XML, JSON etc"" http://s031.okserver.org:2375/dataset/new_resource/" 1343121262000000 1343136141000000 2681 enhancement aron.carroll shevski demo phase 2 closed duplicate autofill on resource format "This is pretty key for standardization. Also would like us to change the grey text to be: e.g. CSV, JSON, [more examples... i have no idea what they key ones are tbh]" 1342440406000000 1343135874000000 2493 enhancement aron.carroll toby demo phase 5 accepted Demo site 404 needs some love "templates/error_document_template.html I've converted the 404 page to the new style but we probably want to serve this as a 'full page' ie content is 100% page width not sidebar and primary content just go to a non-existant url to see Discusion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/63374042/ Implementation: http://s031.okserver.org:2375/404" 1338986081000000 1343135815000000 2743 enhancement toby shevski demo phase 2 closed fixed add dataset button within group "Currently the 'add dataset' button on a group page http://s031.okserver.org:2375/group/another-group-in-the-wall goes to edit group. This is confusing since the interface for this is no way streamlined or helpful. Can we get this to go to the create dataset process instead (ideally with the group pre-chosen) for now? Further on will need to re-think & plan the workflow for publishers which will be a large part of new work" 1343125202000000 1343131092000000 2605 enhancement ross ross ckan-v1.8 closed fixed Problem with user.get_groups "From DR at DGU Basically get_groups() appears to cache its results, but this falls down when subsequent calls are in a different session. We get this when saving a dataset. get_groups() first gets called in the controller when it is trying to work out what permissions the user has. It later gets called, and by this time c.userobj is detached, so get_groups() fails. I'm working around this by refreshing c.userobj (from c.user) before calling get_groups(), but I wonder if the get_groups caching could detect the detached session and bypass the cache in this case? diff at https://gist.github.com/3003117" 1340793006000000 1343127369000000 2734 enhancement toby shevski demo phase 2 closed fixed once format on resource form has errored, no longer submits form "Steps to reproduce: 1. go to edit a resource, e.g. http://s031.okserver.org:2375/dataset/ted/resource_edit/a621a6ad-6f1c-46d1-b858-03cdb7a25c07 2. Change the format field to something it doesn't get. e.g. add a comma ""HTML,"" 3. Get message: ""The form contains invalid entries: Last modified: Date format incorrect Size: Invalid integer"" 4. Format field reverts, try to re-save/submit form - i.e. click on ""update resource"" 5. nothing happens (same if you even try changing the format field" 1343059061000000 1343127101000000 2608 refactor seanh ckan-v1.8 closed wontfix Uploading a file to a resource hangs I'm not seeing any javascript or python error, the upload just hangs. 1340806788000000 1343125400000000 2738 enhancement toby shevski closed invalid Data API "Why is datastore not enabled for this resource http://s031.okserver.org:2375/dataset/frere/resource/cdeddb39-b0cb-4762-aa5b-f80fc892d4dd ? Is this going to be a site wide setting? How do new resources get added to datastore? Or are we just using the dataproxy for demo?" 1343123012000000 1343125335000000 2627 defect seanh seanh ckan-v1.8 closed fixed IDatasetForm.form_to_db_schema() is not called IDatasetForm's form_to_db_schema() method is not getting called by ckan 1341576508000000 1343125213000000 2437 task icmurray icmurray ckan-v1.8 closed fixed Add coding standards to CKAN docs "* [ ] Write up python coding standards as discussed at dev-meetup into CKAN docs. (Mostly written-up as part of dev-meetup notes.) * [ ] Collate frontend coding standards (http://aron.github.com/ckan-style/styleguide/) into same doc(s). " 1338196895000000 1343124799000000 2313 enhancement icmurray icmurray ckan-v1.8 closed fixed Deprecate old facet data structures and related functions. "In branch feature-1821-multilingual-extension, a new faceting datastructure was introduced. This makes the old one and related functions obsolete. These have been marked as deprecated for the 1.7 release, and should be removed for the 1.8 release. * helpers.py:facet_items() * facets.html:facet_sidebar() * uses of c.facets (rather than c.new_facets) " 1334677916000000 1343124732000000 2672 enhancement icmurray icmurray ckan-v1.8 closed fixed Session.is_modified should use passive=True "According to sqlalchemy docs [1], when calling Session.is_modified(), the `passive` argument needs to be passed in as True. [1] http://docs.sqlalchemy.org/en/rel_0_7/orm/session.html?highlight=is_modified#sqlalchemy.orm.session.Session.is_modified" 1342185523000000 1343124666000000 2477 enhancement seanh shevski ckan-v1.9 accepted Add extensions section to readthedocs Need a central up to date place for currently supported extensions (closest we have is http://wiki.ckan.org/List_of_Extensions) & their documentation. I suggest this gets added to a dedicated section of docs.ckan.org 1338393244000000 1343124123000000 2667 enhancement shevski toby demo phase 2 closed fixed edit resource needs form "I thought I'd made this ticket before but can't find it. When we have a fully created dataset we need to be able to edit the resources. template: package/resource_edit.html when you've made a form reassign to me and I'll get it working " 1342170103000000 1343058578000000 2727 enhancement toby shevski demo phase 2 closed fixed long resource name breaks sidebar navigation box "see http://s031.okserver.org:2375/en/dataset/test-dataset/resource_edit/9d27a9d9-36ec-460e-9edb-6dff7ba4fc28 & image attached" 1342950093000000 1343053760000000 2731 enhancement markw new Some sites permanently 'down for maintenance' "A large number of XXX.ckan.net sites give the following message: ""This Site is Down for Maintenance We apologize for the inconvenience. ~ The Open Knowledge Foundation sysadmins."" The message is unhelpful and patently false - the sites do not exist. Some of them were supposed to have been redirected to a relevant group at thedatahub.org in this ticket (now closed): http://trac.okfn.org/ticket/933 However, the redirection only seems to have worked in one case, http://si.ckan.net. The problem still affects the following sites - the first 4 of which have supposedly been merged: * http://lt.ckan.net * http://hu.ckan.net * http://be.ckan.net * http://gr.ckan.net * http://nz.ckan.net * http://bg.ckan.net * http://fi.ckan.net * http://katalogdanych.centrumcyfrowe.pl * http://pl.ckan.net * http://southampton.ckan.net * http://sl.ckan.net Please sort this out by redirecting, removing the sites, giving a more helpful (and accurate) failure message, etc, as appropriate." 1343045168000000 1343051608000000 2551 enhancement johnglover ross datahub-oct closed fixed Feature metrics " == Requirements == Would be useful if we could extend the Google Analytics extension to push track events to GA so that we can determine how the system is being used, and where we can optimise the workflow. Assuming it isn't configured to be off, track events should be added to some key action buttons so that the information on what users are doing is logged for analysis. == Interface == This could possibly just be a list of JS calls to $('x').click(_gaq.push('track'...)) == User Stories == * As a developer I would like to know which components of the system are used the most so I can streamline the processes. * As a support developer I would like to know which parts add complexity to the system for minimal gain and could possibly be removed, de-prioritised. For which metrics, as many of the following as possible that are achievable without changing the templates. I think for now it is enough to just record counts of these pages/actions. * Any group link on homepage * Clicking on username (to go to profile) * In user profile, clicking on Edit Profile * Clicking Save Changes on Edit Profile page * Clicking on any dataset link on User Profile page * Any of the group links on /group * Clicking any of the right hand sidebar tags on /group/X * Visiting /group/history/X * Compare Button on /group/history/X * Compare Button on /dataset/history/X * Tags on right hand sidebar of /dataset/X * Download button on any /dataset/X/resource/* page * Data API button on any /dataset/X/resource/* page == Tasks == [ ] Analysis/Clarification [ ] Code/Config changes [ ] Documentation == Estimates == " 1340017689000000 1343042712000000 1387 defect toby johnglover ckan-v1.8 closed fixed Not specifying a protocol in dataset url causes broken link to be served on dataset view page "If a user enters a url with no protocol (eg: www.data.gov.uk) in the 'url' field of a dataset, a broken link is created on the view page. CKAN should probably either put in a http:// if no protocol is given, or validation should fail." 1318428893000000 1343042311000000 2730 defect toby shevski demo phase 2 closed fixed please change pricing footer link "Pricing needs to go to http://ckan.org/datasuite/services/" 1342951353000000 1343032612000000 2726 enhancement toby shevski demo phase 5 new confusing logic on data preview formats "1. If a user enters the wrong format on a file that can be previewed - it simply won't be previewed (e.g. a CSV or XML file that can be filled in with JSON in format will just not work or check this 2. If I incorrectly edit format to one that data preview will try to preview it will work even for a format that it doesn't accept (sometimes) e.g. this PDF file I changed the metadata to HTML http://s031.okserver.org:2375/en/dataset/test-dataset/resource/9d27a9d9-36ec-460e-9edb-6dff7ba4fc28" 1342949927000000 1343030906000000 2725 enhancement toby shevski demo phase 5 new Case sensitivity on tags "My feeling is that 'country-US' and 'country-us' should be the same tag. However currently tags with caps are treated differently see http://s031.okserver.org:2375/en/dataset/test-dataset with TEST and test - there also get indexed twice in the search page" 1342949667000000 1343030773000000 2729 enhancement kindly shevski ckan-backlog new searching for tags:[tag] works but tag:[tag] doesn't "which is confusing since you can only search for one tag like this at a time. I.e. tags:economics,cvs or tags:economics, csv or tags:economics+CSV doesn't work for example; therefore tag:economics, should also work! http://s031.okserver.org:2375/dataset?q=tags%3Aeconomics&sort=relevance+asc" 1342951109000000 1342951176000000 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 1512 defect ross rgrp ckan-v1.8 closed fixed Modifying user name makes you semi-log-out "If you modify your user name, it looks like you are logged out, but you are actually logged in and therefore can't login. (Reported by Pablo) As a work around, you need to logout and log back in. = implementation = * We should force this by auto-logging you out (DR: maybe!)" 1323100214000000 1342781122000000 2715 enhancement toby shevski demo phase 2 closed fixed inactive sidebar widgets hide trackbacks & subscribe wboxes on dataset pages until we add disqus 1342714073000000 1342716931000000 2716 enhancement toby shevski demo phase 2 closed fixed truncate long resource names http://s031.okserver.org:2375/dataset/hi-people/resource/4558c365-fd7a-4f0e-9f2a-90ad47db6b39 1342714182000000 1342716474000000 2661 enhancement aron.carroll toby demo phase 2 closed fixed delete dataset/group javascript confirm "in 2375-demo-theme-development templates/package/confirm_delete.html needs to be made to look nice note some writing in black delete button needs nice home on dataset/edit you can add js support add ?confirm=yes to url on dataset button to force delete Please note delete is not yet implemented - but will be in the next few hours" 1342012395000000 1342716070000000 2648 enhancement shevski aron.carroll demo phase 2 closed fixed Add file upload to the demo site 1341921081000000 1342714659000000 2612 enhancement shevski shevski demo phase 2 closed fixed Hide options based on auth For example, hide the 'edit' button on user profiles http://s031.okserver.org:2375/user/ross2#activity unless I'm logged in as Ross 1340812165000000 1342714613000000 2706 enhancement aron.carroll shevski demo phase 2 closed fixed hide all prefilled fileds from resource edit form page i.e. mimetype, size, last updated etc 1342621381000000 1342707718000000 2712 enhancement toby toby demo phase 2 closed fixed delete resource functionality needed we need a delete_resource logic action and enable for resources 1342680517000000 1342690104000000 2703 enhancement toby shevski demo phase 2 closed fixed add new resource to existing dataset with add button on dataset page and in 'data & resource' section when there's no data 1342620885000000 1342687332000000 2678 enhancement toby shevski demo phase 2 closed fixed No UI for deleting a related item "Needs to be a way for admins (owners of dataset) to delete related items. I suggest adding a button to the edit page http://s031.okserver.org:2375/dataset/gold-prices/related/edit/d3249863-040a-4f55-a5d8-c86697d0b7b8" 1342436087000000 1342685932000000 2694 defect toby toby demo phase 2 closed fixed index page 500 error "we need to have proper fix for this - not sure if there is some caching issue this around the group search" 1342605699000000 1342680771000000 2664 enhancement toby toby demo phase 2 closed fixed tags with : cause crazy error message on add dataset in demo 1342018503000000 1342632478000000 2709 enhancement icmurray markw new Atom feeds are undocumented There doesn't seem to be any documentation yet for Atom feeds. 1342624310000000 1342626212000000 2708 enhancement kindly toby ckan-v1.9 new limit extra data for package/group show " context['package_limits'] = { 'tags': 5, <- get first 5 'extras': 0, <- get all } only get what you ask for have to be explicit context['group_limits'] = {} only main item start with datasets/groups expand if we like it" 1342622420000000 1342622420000000 2613 enhancement aron.carroll shevski demo phase 2 closed wontfix Javascript functionality " 1. file uploads on dataset creation 2. create dataset validation 3. create dataset slugs 4. Add dataset to group process: pop-up allowing you to quickly search for a pick a dataset to add to group. Must check you have necc auth over dataset to be added validation of user name 5. Language box 6. toggling activity stream 7. Search sorting 8. autocomplete on tags 9. add and remove custom fields on forms 10. the rest: tooltip on popular datasets with number of views facets to update automatically creating a dataset without reloading page between steps hover on licences information autocomplete on search terms group filtering add comment to datasets social share buttons in lightboxes dataset counts on homepage?" 1340814271000000 1342620543000000 2555 enhancement toby aron.carroll demo phase 5 new Demo site needs a breadcrumb helper Something to make building breadcrumbs a bit nicer 1340026983000000 1342618384000000 2416 enhancement toby aron.carroll demo phase 5 accepted Normalise resource/data types "Currently we have far too many types that are essentially the same format. The new demo theme is using icons for common types. So we need to normalise the common formats into pretty strings. e.g. application/json, JSON, .json and json all should be output as “json” See the following Basecamp thread for UI examples and discussion. https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/61906351/comments#comment_179681056" 1337792946000000 1342617802000000 2692 defect aron.carroll shevski demo phase 2 closed fixed 'add your own data' link in no search results wrong "the ""add your own data"" link in ""Try another search term, browse the datasets below or add your own data."" here http://s031.okserver.org:2375/dataset?q=stuff doesn't take you to add a dataset, just back to the search/datasets page" 1342540803000000 1342617328000000 2689 enhancement aron.carroll shevski demo phase 2 closed fixed clicking on 'save & add another' doesn't act as expected "Clicking on 'save & add another' button here http://s031.okserver.org:2375/dataset/new_resource/yo takes you to step 3 instead of leaving you on step 2 when you haven't added any data. Instead it should show an alert/ message that no data has been added & that you need to link to a file or upload something Also, can upload be option 2 instead of 3?" 1342538126000000 1342617293000000 2643 enhancement aron.carroll aron.carroll demo phase 2 closed fixed Demo homepage redesign "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/61696765/comments" 1341848685000000 1342617247000000 2637 enhancement aron.carroll aron.carroll demo phase 2 closed fixed Submit search form when user changes sort order 1341835218000000 1342617226000000 2691 enhancement toby shevski demo phase 2 closed fixed Tag 404 error " 404 Not Found The resource could not be found. " 1342538490000000 1342604273000000 2690 enhancement aron.carroll shevski demo phase 2 closed fixed long URL misaligns edit button for slug See attachment. Just need to amke sure that there's enough spacing around the edit button and that it lines up so it doesn't look too wierd 1342538301000000 1342542394000000 2684 enhancement aron.carroll toby demo phase 2 closed fixed .js leaving forms warning "I think it would be nice to have all form pages monitor their forms - excluding search ones - and if a field has changed then warn the user that they have not saved the form data but are leaving the page. This would help with things like changing resources on the add dataset resource form etc." 1342510477000000 1342539637000000 2687 defect aron.carroll shevski demo phase 2 closed fixed uploading file breaks add dataset process "Once you upload a file, all the buttons on the page stop working. You can't complete & go to next step or save & add another or go to previous Clicking on these just seems to re-load the page http://s031.okserver.org:2375/dataset/new_resource/super" 1342518422000000 1342534855000000 2688 enhancement ross new Allow ordering of groups in WUI Currently the group_index page just shows the entire list of groups, forcing the ordering to be by name. It would be better if it could be sortable by name (or reversed) or by package_count (or reversed) 1342520875000000 1342520875000000 2685 enhancement toby toby demo phase 2 closed fixed delete buttons should be form buttons stop bots/browsers etc following links and auto deleting stuff 1342510565000000 1342514443000000 2677 enhancement aron.carroll shevski demo phase 2 closed fixed related item links should open in new tab Clicking on the blue buttons or images on related page http://s031.okserver.org:2375/dataset/gold-prices/related should take you to a new tab instead of navigating you away 1342435923000000 1342461576000000 2675 defect aron.carroll shevski demo phase 2 closed fixed editing related item uses 'create' button instead of save "see http://s031.okserver.org:2375/dataset/gold-prices/related/edit/46ba1174-3666-486e-b822-b5b45ffbb703 when editing a record, button at bottom right should change to save instead of create" 1342435576000000 1342461534000000 2683 enhancement seanh new Add no-cache header to _tracking API call's response to make sure it doesn't get cached 1342446577000000 1342446577000000 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 1286 enhancement rgrp ckan-backlog new Remove remaining formalchemy stuff "Stuff I've spotted: * forms/* * template/group/edit_form.html * template/package/edit_form.html This can go once new DGU form is in." 1314116996000000 1342436420000000 2679 enhancement icmurray icmurray ckan-v1.9 new Change default behaviour of TemplateController.view to 404. "The current behaviour of TemplateController.view() (which is the fallback controller should all others fail) is to attempt to render (as a genshi template) the requested file. Although this may be a feature that some instances want. In general, it leads to: - 500s when attempting to access a normal template (eg - http://datahub.io/importer/preview) - A way of inadvertantly serving things you may not want to serve. (Small risk, as it needs to be renderable as a genshi template). Solution: - Change the controller to 404 - Ensure there's a way for existing ckan instances to override that behaviour should they need it." 1342436133000000 1342436133000000 2673 enhancement rgrp new simplify set of options for resources Far too many resource options. Lets restrict back to data file and API. Visualizations etc can either get linked in description or in the Related items. 1342300559000000 1342300559000000 2589 enhancement toby toby demo phase 2 closed fixed users can view draft datasets need to add some logic for this 1340373194000000 1342172694000000 2638 enhancement toby toby ckan-v1.8 closed fixed add a get from request param helper function 1341844597000000 1342112772000000 2640 enhancement amercader amercader demo phase 2 closed fixed Update recline on the demo site Depends on #2639 1341845911000000 1342112730000000 2388 enhancement amercader amercader ckan-v1.8 closed fixed "Update ""out of the box"" settings for CKAN" " * Only logged in users able to create * Creation permissions have only creators able to update a dataset * Synchronous search is enabled (#1678) " 1337095269000000 1342104475000000 2574 enhancement kindly toby demo phase 1 closed fixed look at package states "we want to be able to add new datasets but not have them indexed or seem by people is the vdm.state the place to do this" 1340115771000000 1342092416000000 2580 enhancement kindly toby demo phase 1 closed fixed create resource validation "david I've got the add resource working but it is happy to add empty resources which implies that it isn't doing validation correctly. I'm not sure what the validation rules are so hard to test this - I'm coming through as an api call let me know if i can help" 1340285208000000 1342092353000000 2636 enhancement aron.carroll aron.carroll demo phase 2 closed duplicate Style activity stream in user profile 1341835166000000 1342090614000000 2660 defect shevski shevski demo phase 2 closed fixed server error when updating dataset "same as yesterday: http://demo.ckan.org/dataset/edit/newcastle-city-council-payments-over-500 clicking update/save returns error" 1342010970000000 1342090301000000 2553 enhancement toby toby demo phase 2 closed fixed Create a get snippet api action "just passes template name ?template_name=..." 1340020613000000 1342090078000000 2659 defect aron.carroll shevski demo phase 2 closed fixed HTML preview window in demo too small "See http://demo.ckan.org/dataset/example-dataset/resource/d8797e51-b497-46ca-a274-8675533d110b David previously fixed this on some version of demo, seems to have regressed. Just want the window to be longer" 1342010723000000 1342089310000000 2617 enhancement aron.carroll aron.carroll demo phase 2 closed fixed Move data preview into demo 1340875192000000 1342088744000000 2665 enhancement aron.carroll toby demo phase 2 closed fixed add dataset stages need to be form buttonable "the stages snippet needs to be inside
    so I can make some links buttons - eg stage 1 -> stage 2 I want to save the dataset not just move to add resource if you can just move it within the form html leaving everything else the same - I can then add buttons and pass back for styling" 1342023971000000 1342088650000000 2632 enhancement toby toby ckan-v1.9 closed fixed check allowed helpers exist in lib helpers make sure the allowed function lists functions exist or throw an error. 1341827811000000 1342087027000000 2595 enhancement toby aron.carroll demo phase 2 closed fixed Demo add dataset needs to remember which stages have been visited "For example. 1. Start on stage one 2. Add dataset click next 3. Click previous Expect Stage 1 to be ""active"", stage two to be ""complete"" 1. Start on stage one 2. Add dataset click next 3. Click next 4. Click previous Expect Stage 2 to be ""active"", stage one and three to be ""complete"" 1. Start on stage one 2. Add dataset click next 3. Click next 4. Click previous 5. Click previous Expect Stage 1 to be ""active"", stage two and three to be ""complete""" 1340642246000000 1342086346000000 2583 enhancement toby toby demo phase 5 new make sure that we implement authentication where needed in development many auth checks may have been lost we need to check they are still working etc 1340359478000000 1342086274000000 2634 enhancement toby toby ckan-v1.8 closed fixed change log - helper function limited in 1.8 make sure documented 1341828248000000 1342085656000000 2362 enhancement toby kindly ckan-v1.9 accepted Improve plugin documentaion, including examples. Improve documentation for plugins and add examples. Could use ckanext-example as a base. 1335888791000000 1342085420000000 2569 enhancement toby shevski demo phase 2 closed fixed add other resources to sidebar of resource pages Allow user to navigate directly from one resource page to another via resource box in sidebar 1340039608000000 1342085235000000 2560 enhancement toby aron.carroll demo phase 2 closed fixed Demo theme add metadata is missing functionality " * Hide remove button when adding new field * Finish takes you to the newly created dataset" 1340035384000000 1342084988000000 2559 enhancement toby aron.carroll demo phase 2 closed fixed Demo theme add resource has missing functionality " * Show resources in the sidebar * Allow people to go backward and forward * Have a back button on each form * Lose resource type * Add extras as optional metadata * Remove save * Add back/Previous * Add Another" 1340035336000000 1342084940000000 2649 enhancement ross ross ckan-v1.8 closed fixed Description on resources not rendered as markdown "When a resource doesn't have a description, it is rendered as markdown from the description of the dataset. If the resource does have a description it isn't rendered as markdown .. See http://thedatahub.org/dataset/wikipedia-e3-timestamp-position-modification/resource/d883ab44-07f4-4992-800a-3e4bf5d53a96" 1341923135000000 1342084280000000 2620 enhancement toby aron.carroll demo phase 2 closed fixed Pass a related item into the dataset tempate "See the related sidebar box http://s031.okserver.org:2375/dataset/adur_district_spending If a package has related items the first (or a random) related item should be passed into the snippet." 1340897809000000 1342074737000000 2581 enhancement toby toby demo phase 2 closed fixed allow state = 'draft' pass some stuff through the context 1340287298000000 1342074635000000 2662 defect toby shevski demo phase 2 closed fixed adding colons in tags results in server error on demo "changing a tag from ""country-uk"" to ""country:uk"" and updating gives server error otherwise updating metadata / adding tags seem fine either we should allow colons or form should return a message indicating what characters are allowed" 1342017594000000 1342018898000000 2663 enhancement toby toby ckan-v1.9 new h.resource_display_name needs love "This function is shit and needs cleaning up and a doc string description is markdown and should be treated properly either we should truncate all or leave it to the templates but work universally url if no name / desc this is in demo-theme branch" 1342017746000000 1342017746000000 2646 enhancement toby toby demo phase 2 closed fixed delete dataset make it so 1341920466000000 1342014170000000 2657 enhancement toby shevski demo phase 2 closed fixed hide history button on group pages until retheme History button in top right of http://demo.ckan.org/group/data-explorer goes to http://demo.ckan.org/group/history/data-explorer and needs hiding 1342007213000000 1342008765000000 2611 enhancement aron.carroll shevski demo phase 1 closed fixed Text / link changes "In the footer: Change 'Powered by CityData' to Powered by DataSuite (with link to ckan.org/datasuite) Links in left hand side of footer should change to a link to ckan.org, link to OKFN, link to ckan.org/datasuite/about and link to Pricing Page (on ckan.org .. will be /datasuite/solutions) In create dataset form, prefilled tag examples should include one example with a space, e.g. ""mental health"" Change 'Groups' to 'Publishers' everywhere Homepage copy/images (Ira to supply?)" 1340810740000000 1342008509000000 2653 enhancement toby aron.carroll demo phase 2 closed fixed Requesting file upload authentication fails on demo "Try: http://localhost:5000/api/storage/auth/form/photo-of-a-duck Gets: {{{ File '', line 2 in auth_form File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/lib/jsonp.py', line 26 in jsonpify data = func(*args, **kwargs) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/storage.py', line 407 in auth_form authorize(method, bucket, label, c.userobj, self.ofs) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/storage.py', line 200 in ofs StorageAPIController._ofs_impl = get_ofs() File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/storage.py', line 71 in get_ofs storage_backend = config['ofs.impl'] File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/paste/registry.py', line 146 in __getitem__ return self._current_obj()[key] KeyError: 'ofs.impl' }}}" 1341938467000000 1342005167000000 2655 defect toby shevski closed fixed updating datasets loses data Editing and saving a resource wipes the data from the dataset. Happened with http://demo.ckan.org/dataset/my-tes I clicked on edit, changed a tag, clicked update and the data was gone! 1341999482000000 1342001885000000 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 2645 enhancement johnglover johnglover ckan-ecportal closed fixed Update server setup to use local files "Server setup scripts need to have two distinct steps: 1) Download all files that aren't in RHEL repositories, create RPMs where necessary (python virtualenv). 2) Install from local files." 1341916281000000 1341996302000000 2650 enhancement ross ross ckan-v1.8 closed fixed Description on resources not rendered as markdown "When a resource doesn't have a description, it is rendered as markdown from the description of the dataset. If the resource does have a description it isn't rendered as markdown .. See http://thedatahub.org/dataset/wikipedia-e3-timestamp-position-modification/resource/d883ab44-07f4-4992-800a-3e4bf5d53a96" 1341923137000000 1341943716000000 2418 enhancement aron.carroll aron.carroll closed fixed Facets disappear once selected "Currently facets in the new demo site disappear from the sidebar once they are selected. http://s031.okserver.org:2375/dataset?tags=fibre&tags=terrestrial&q=Africa Instead they should be marked with an ""active"" class and clicking the link should remove the filter in the same way as clicking the cross in a token below the search field works." 1337793330000000 1341833880000000 2624 enhancement ross seanh ckan-v1.8 closed fixed Organizations breaks dataset tag editing "Enable the organizations and organizations_dataset plugins, login to ckan, create a group, create a dataset and add it to the group. Edit the dataset, add some tags to it. The new tags are not saved when you submit. Disable the organizations and organizations_dataset plugins and tag editing works again." 1341226411000000 1341831716000000 2633 enhancement toby toby demo phase 2 closed fixed for dev always look for templates so we find newly created templates 1341828058000000 1341830278000000 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 2443 enhancement aron.carroll aron.carroll ckan-sprint-2012-06-25 closed fixed Create demo dataset data (resource) page "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62308209/comments Implementation: (to be added once test server is working)" 1338210382000000 1341824663000000 2610 enhancement aron.carroll shevski demo phase 1 closed duplicate Text / link changes "In the footer: Change 'Powered by CityData' to Powered by DataSuite (with link to ckan.org/datasuite) Links in left hand side of footer should change to a link to ckan.org, link to OKFN, link to ckan.org/datasuite/about and link to Pricing Page (on ckan.org .. will be /datasuite/solutions) In create dataset form, prefilled tag examples should include one example with a space, e.g. ""mental health""" 1340810738000000 1341501424000000 2563 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Add font based icons to the demo theme "Allowing them to be displayed in many sizes, colours and resolutions. http://www.zurb.com/playground/foundation-icons" 1340035831000000 1341501320000000 2626 enhancement aron.carroll toby closed invalid ff render issue in edit dataset "http://localhost:5000/dataset/edit/2010-nigeria-budget the edit url button appears too high up" 1341499419000000 1341499834000000 2522 enhancement aron.carroll toby closed fixed view user gatavar not sqaure the user pic should be square on the user read page 1339604954000000 1341499095000000 2525 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Demo theme should auto-generate slugs on forms 1339679954000000 1341497344000000 2561 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Demo theme edit dataset is missing functionality "* Add tags * Add groups * JavaScript for custom fields" 1340035457000000 1341497328000000 2438 enhancement icmurray icmurray ckan-v1.8 closed fixed resource_search action not accessible via GET request This action is not currently usable via a GET request as it relies upon a nested dict of fields. 1338197305000000 1341406005000000 1678 enhancement amercader amercader ckan-v1.8 closed fixed Make synchronous search the default behaviour "Right now you need to explicitly load the synchronous_search plugin in your ini file, when this is probably the behaviour that all users expect by default. We could keep a config flag to deactivate it, but synchronous search should be the default behaviour." 1326807604000000 1341405749000000 2428 enhancement seanh seanh ckan-v1.8 closed fixed Reduce/sort out CKAN's dependencies "This ticket depends on #2423, #2424, #2425, #2426 and #2427. - Try to remove as many of CKAN's dependencies as possible - Try to update as many of the remaining ones as possible - Try to get rid of some dependencies that are fetched from random hg or git servers instead of pypi - Then try to get the order of deps in the requirements files right so that you end up with the right versions of everything - Each module in the dependencies file should specify the exact version, to protect us from changes due to them upgrading versions under us and breaking things or changing their own deps - Consider shipping dependencies with ckan instead of pip installing them? - This is related to moving CKAN to Ubuntu 12.04 - Add a test case that runs pip freeze and tests that all the right versions of deps are installed? " 1337946896000000 1341314475000000 2289 defect toby seanh ckan-v1.8 closed fixed Flash messages are not being translated? "There are a couple of flash messages in ckan/controllers/user.py that show up in English, even if another language is in use, and even though the strings are marked for translation with gettext and have translations in the po and mo files: ""[USER NAME] is now logged in"" ""Login failed. Bad username or password. (Or if using OpenID, it hasn't been associated with a user account.)""" 1334255836000000 1341314151000000 2439 defect icmurray icmurray ckan-v1.8 closed fixed tag_search and tag_autocomplete not fully available via GET request `tag_search` and `tag_autocomplete`: The `fields` argument is not available when accessing this action with a GET request. 1338197549000000 1341295142000000 2601 defect ross seanh closed fixed 500 Server Error when editing datasets with organizations plugins enabled "Add the organizations and organizations_dataset plugins to ini file, run ckan, login, create an organization, create a dataset and put in organization, edit the dataset and set organization to none, try to edit the dataset again (you must be sysadmin to do this) and get a 500: {{{ Error - : [] has no member named ""get"" URL: http://127.0.0.1:5000/dataset/edit/fooset File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/weberror/errormiddleware.py', line 162 in __call__ app_iter = self.application(environ, sr_checker) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/beaker/middleware.py', line 73 in __call__ return self.app(environ, start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/beaker/middleware.py', line 155 in __call__ return self.wrap_app(environ, session_start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/routes/middleware.py', line 130 in __call__ response = self.app(environ, start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/wsgiapp.py', line 125 in __call__ response = self.dispatch(controller, environ, start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/wsgiapp.py', line 324 in dispatch return controller(environ, start_response) File '/home/seanh/Projects/ckan/ckan/ckan/lib/base.py', line 221 in __call__ res = WSGIController.__call__(self, environ, start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/controllers/core.py', line 221 in __call__ response = self._dispatch_call() File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/controllers/core.py', line 172 in _dispatch_call response = self._inspect_call(func) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/controllers/core.py', line 107 in _inspect_call result = self._perform_call(func, args) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/controllers/core.py', line 60 in _perform_call return func(**args) File '/home/seanh/Projects/ckan/ckan/ckan/controllers/package.py', line 499 in edit extra_vars=vars) File '/home/seanh/Projects/ckan/ckan/ckan/lib/base.py', line 148 in render return cached_template(template_name, render_template, loader_class=loader_class) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/templating.py', line 249 in cached_template return render_func() File '/home/seanh/Projects/ckan/ckan/ckan/lib/base.py', line 101 in render_template return literal(stream.render(method=method, encoding=None, strip_whitespace=True)) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/core.py', line 183 in render return encode(generator, method=method, encoding=encoding, out=out) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 57 in encode return _encode(''.join(list(iterator))) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 339 in __call__ for kind, data, pos in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 670 in __call__ for kind, data, pos in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 771 in __call__ for kind, data, pos in chain(stream, [(None, None, None)]): File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 586 in __call__ for ev in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/core.py', line 288 in _ensure for event in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/base.py', line 605 in _include for event in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/markup.py', line 327 in _match for event in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/base.py', line 545 in _flatten for kind, data, pos in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/directives.py', line 169 in _generate attrs = _eval_expr(self.expr, ctxt, vars) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/base.py', line 277 in _eval_expr retval = expr.evaluate(ctxt) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/eval.py', line 178 in evaluate return eval(self.code, _globals, {'__data__': data}) File '/home/seanh/Projects/ckan/ckan/ckanext/organizations/templates/organization_package_form.html', line 110 in File '/home/seanh/Projects/ckan/ckan/ckan/config/environment.py', line 248 in genshi_lookup_attr val = cls.undefined(key, owner=obj) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/eval.py', line 410 in undefined raise UndefinedError(key, owner=owner) UndefinedError: [] has no member named ""get"" }}}" 1340722754000000 1341291379000000 2427 enhancement kindly seanh ckan-v1.9 new Reduce cruft installed into CKAN's virtualenv due to Pylons 1337946507000000 1341268323000000 2415 defect kindly markw ckan-v1.9 new Confusing message on attempting to register new account with upper case "On registering a new account, if you try to use a capital letter in your 'Login', you get the unhelpful error message: ""The form contains invalid entries: Name: Url must be purely lowercase alphanumeric (ascii) characters and these symbols: -_"" What does 'Name' or 'Url' have to do with anything? It means 'Login must be ...' But even better would be to make the login case-insensitive and allow capitals to be entered. " 1337779189000000 1341268304000000 2530 enhancement kindly rgrp ckan-v1.9 new DataHub purge fails on some revisions "See http://datahub.io/ckan-admin/trash and try to purge revisions (*not* datasets). It will fail on some of the revisions with errors like: Problem purging revision 391db9e8-df57-4e0e-8fe6-d4e0c2318344: (IntegrityError) update or delete on table ""revision"" violates foreign key constraint ""group_extra_revision_revision_id_fkey"" on table ""group_extra_revision"" DETAIL: Key (id)=(391db9e8-df57-4e0e-8fe6-d4e0c2318344) is still referenced from table ""group_extra_revision"". 'DELETE FROM revision WHERE revision.id = %(id)s' {'id': u'391db9e8-df57-4e0e-8fe6-d4e0c2318344'}" 1339750498000000 1341268280000000 1434 enhancement seanh dread ckan-v1.8 closed fixed Add i18n strings from extensions Decide which extensions are important. 1320145648000000 1341245889000000 2290 defect seanh seanh ckan-v1.8 closed fixed Mark facet titles in search pages for translation The strings Tags, Res_format and Groups on e.g. the package index page should be marked for translation. These strings have been refactored in the feature-1821-multilingual-extension branch, so wait until that branch has been merged into master. 1334326651000000 1341238415000000 2625 enhancement seanh ckan-v1.9 new Add i18n strings from non-core but supported extensions to ckan.pot file Have to decide which non-core extensions are going to be supported first. 1341236903000000 1341236903000000 2615 enhancement seanh seanh ckan-v1.8 closed fixed Add activity stream activity when a user starts to follow something 1340874249000000 1341235002000000 2592 enhancement seanh seanh ckan-v1.8 closed fixed Update and simplify source install instructions "Make the same instructions work for Ubuntu Lucid and Precise and make them simpler Also see #1471" 1340633697000000 1341234947000000 2516 enhancement seanh seanh ckan-v1.9 accepted Make 'Assign to:' field on trac.ckan.org into a dropdown list there's a setting for this 1339578442000000 1341234822000000 2478 enhancement seanh seanh ckan-v1.9 accepted Get NeverNotifyUpdaterPlugin installed on trac.ckan.org 1338396734000000 1341234591000000 2475 enhancement seanh seanh ckan-v1.9 accepted Upgrade trac.ckan.org to trac 0.12.3 "This is not trivial, requires a database upgrade. But 0.12.3 has some nice new features (multiple vcs repository support, ticket comment editing and nicer preview) and the latest spam filter plugin requires 0.12. http://trac.edgewall.org/wiki/ChangeLog" 1338317176000000 1341234564000000 2466 task seanh seanh ckan-v1.9 accepted Fix spam handling on trac 1338213103000000 1341234539000000 2431 enhancement seanh seanh ckan-v1.9 accepted Trac git integration 1337947128000000 1341234362000000 2430 enhancement seanh seanh ckan-v1.9 accepted Look into marking tickets as dependent on other tickets in trac 1337947086000000 1341234346000000 2623 enhancement ross seanh closed invalid Organization join/authorization buttons weirdness "Enable the organizations and organizations_dataset plugins. Start CKAN. Login and create a new organization. Logout. Login with a different account that is a sysadmin. Go to the organization you just created with the other account. There are Edit and Join buttons. Click on the Edit button, and the Join button changes to Authorization. It should probably be an Authorization button right from the start if you are a sysadmin." 1341220902000000 1341232433000000 1732 enhancement johnglover seanh ckan-v1.8 closed fixed Update CKAN's search for taxonomies "Initially we'll just add all tags from all vocabularies into the existing tags search facet (this should happen automatically). Later we want to enable templates to use separate search facets for different vocabularies. Also need to make sure that search terms are matched against the texts of the tag names themselves (should happen already) and maybe also against the texts of the vocabulary names?" 1328008169000000 1341224357000000 2389 defect amercader amercader ckan-v1.8 closed fixed More robust handling of DataExplorer errors "US-0a Do not show failed preview with red-bar (esp when just empty datastore ...) * Data Viewer checks if datastore is empty nad falls back to ther options if emtpy * DataStore enabled is off by default and only turned on either explicitly by user or by DataStorer on successful store ... Loading/showing error reports " 1337095447000000 1341222201000000 2472 enhancement amercader kindly ckan-v1.8 closed fixed clean up datastore controller to get rid of datastore_url enables checks "Datastore_url enabled checks are useless. We should probably change this to datastore_url = 'active' and only update the flag to when a attempt at a post is made. This will need to be removed from the form at some point." 1338293407000000 1341222195000000 2598 enhancement aron.carroll toby demo phase 1 closed fixed stages css broken in FF I see X where none should be 1340708102000000 1341218567000000 2467 defect amercader amercader ckan-v1.8 closed fixed Fix stats extension frontend After moving to Bootstrap the tables on the frontend look broken. 1338213230000000 1340981885000000 2604 enhancement amercader amercader ckan-v1.8 closed fixed Add Requests as requirement for tests "Requests (http://python-requests.org) is really useful to deal with http requests and saves a lot of time. I propose we include it as a requirement for the tests for the time being, and even for core if necessary at a later stage." 1340790229000000 1340968458000000 2515 enhancement ross seanh closed fixed Related tab doesn't look selected when selected The related tab on the dataset page doesn't change its appearance when selected like the other tabs do 1339578247000000 1340967971000000 2514 enhancement ross seanh closed wontfix Follow/unfollow button looks weird It's in the tab bar (maybe not the right place for a button? but I wanted it to be next to the follower tab and count) and doesn't like very much like a button 1339578189000000 1340959787000000 2622 defect seanh new Login fails in Opera 12 "Try to login to CKAN using Opera 12, get ""Login failed. Bad username or password. (Or if using OpenID, it hasn't been associated with a user account.)""" 1340902602000000 1340902602000000 2621 refactor icmurray icmurray ckan-v1.9 new Remove the deprecated 'fields' parameter from tag_search and tag_autocomplete "This was deprecated in 1.8 as it wasn't accessible via GET requests due to being a dict. See #2439 In a future release of CKAN (probably 1.9) it can be removed. Internal uses of it were removed in #2439, but there are tests that still use it." 1340900569000000 1340900569000000 2609 enhancement toby aron.carroll opendatasuite 1 closed fixed Demo theme errors when creating a dataset without a resource "1. Complete step one of add dataset 2. Click next without adding any resource data. Page errors. {{{ URL: http://localhost:5000/dataset/new_resource/asdasd File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/weberror/evalexception.py', line 431 in respond app_iter = self.application(environ, detect_start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 147 in __call__ resp = self.call_func(req, *args, **self.kwargs) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 208 in call_func return self.func(req, *args, **kwargs) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/fanstatic/publisher.py', line 234 in __call__ return request.get_response(self.app) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1053 in get_response application, catch_exc_info=False) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1022 in call_application app_iter = application(self.environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 147 in __call__ resp = self.call_func(req, *args, **self.kwargs) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 208 in call_func return self.func(req, *args, **kwargs) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/fanstatic/injector.py', line 52 in __call__ response = request.get_response(self.app) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1053 in get_response application, catch_exc_info=False) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1022 in call_application app_iter = application(self.environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/beaker/middleware.py', line 73 in __call__ return self.app(environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/beaker/middleware.py', line 152 in __call__ return self.wrap_app(environ, session_start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/routes/middleware.py', line 130 in __call__ response = self.app(environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/wsgiapp.py', line 125 in __call__ response = self.dispatch(controller, environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/wsgiapp.py', line 324 in dispatch return controller(environ, start_response) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/lib/base.py', line 258 in __call__ res = WSGIController.__call__(self, environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 221 in __call__ response = self._dispatch_call() File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 172 in _dispatch_call response = self._inspect_call(func) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 107 in _inspect_call result = self._perform_call(func, args) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 60 in _perform_call return func(**args) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/package.py', line 495 in new_resource get_action('resource_create')(context, data) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/logic/action/create.py', line 240 in resource_create raise ValidationError(errors, _error_summary(errors)) ValidationError: {u'URL': u'Missing value'} }}} http://localhost:5000/dataset/new_resource/asdasd" 1340810211000000 1340900271000000 2572 enhancement toby toby ckan-v1.9 new clean up stats plugin attempt to disengage the stats plugin from core as much as possible 1340105054000000 1340899524000000 2579 enhancement toby toby ckan-v1.9 new move sort_by functions into lib.helpers "make these more available but keep existing functionality so not to break any users remove_field() drill_down_url() etc" 1340281798000000 1340899337000000 2305 enhancement seanh seanh ckan-v1.8 closed fixed User dashboard with private consolidated activity stream "User story #035 here: http://ckan.okfnpad.org/feature-1515-activity-streams-user-stories Technical analysis here: http://ckan.okfnpad.org/27" 1334587329000000 1340879812000000 2532 enhancement toby toby demo phase 1 closed fixed show activity steam for user no js "We should allow the user activity stream to be accessible with no js by passing a param or something. Need to agree how we hide/show basically agree what classes we use. This should be a generalised solution that we can use in other places as needed. I think this just needs discussion" 1339754158000000 1340874456000000 2588 enhancement toby toby demo phase 1 closed fixed search index for new package when package is added it does not seem to get indexed 1340373145000000 1340817441000000 2591 enhancement toby toby ckan-v1.8 closed fixed postgres unicode problems postgres v9.1.4 "sqlalchemy fails on postgres 9.1.4 when unicode is returned see http://docs.sqlalchemy.org/en/rel_0_7/dialects/postgresql.html " 1340627776000000 1340813161000000 1471 enhancement seanh dread ckan-v1.8 closed fixed Be compatible with new ubuntu release in April "Nils flagged up that Ubuntu launches another LTS in April which we should probably move to. This ticket is to get the ball rolling with what we do. We can always include in our package the exact package versions of deps that we want, but it is good to be in line with the release if possible. Here's how to see the packages included with it: http://packages.ubuntu.com/search?keywords=python-pylons&searchon=names&suite=all§ion=all Pylons 0.9.7 -> 1.0-2 Requires a small amount of work SQLAlchemy 0.7.3-2 OK Babel 0.9.6-1 OK Genshi 0.6-2 Perfect Another alternative is to move to another web framework, especially minding that Pylons is not being further developed." 1321552345000000 1340810270000000 2435 defect seanh seanh ckan-v1.8 closed worksforme ckanext-qa doesn't work with CKAN 1.7+ 1337963228000000 1340810257000000 2602 defect seanh closed fixed Users can set a dataset's organization to None, and then they cannot edit it With the organizations and organizations_dataset plugins enabled login and create a new dataset, adding it to a group that you are a member of. Edit the dataset and set the group to none. Now you can no longer edit your own dataset. (You can also specify None for the organization when first creating the dataset, same problem.) 1340722892000000 1340805904000000 2606 enhancement toby toby demo phase 1 closed fixed make fanstatic use full path ckan/main not main 1340795985000000 1340799139000000 2600 defect seanh seanh ckan-v1.8 closed fixed "Replace broken ""Login to Add an Organization"" button" If you're not logged in and you click this button, it takes you to the add group page not the login page. Anyway, the default behaviour everywhere else in CKAN is to hide buttons that you don't have permission to use (e.g. add dataset, edit dataset, etc.) 1340721718000000 1340791910000000 2603 refactor icmurray icmurray ckan-v1.9 new Remove deprecated 'fields' parameter from resource_search The fields parameter of resource_search was deprecated when fixing #2438. It can be removed in release 1.9, and the action tidied up as a result. 1340730601000000 1340730601000000 1447 defect kindly dread ckan-backlog assigned disk space leakage "Periodically we see some CKAN servers fall over because they run out of disk space. We need to find out if there is a common cause and fix it. One problem in the past has been file handles running out when creating lots of tiny files in the data directory. Another problem has been several enourmous backups being created every day - pdeu on eu25." 1320666843000000 1340727330000000 1785 enhancement seanh seanh ckan-v1.9 accepted Replace 'Revisions' page with site-wide activity stream Replace the /revision page with a /activity page showing a site-wide activity stream of all activities in the site. Or perhaps the site-wide activity stream can go somewhere on the front page of the site instead? 1328632458000000 1340724312000000 2593 enhancement johnglover johnglover ckan-ecportal closed fixed Setup nginx caching for EC ODP Add caching config to ecportal-server-setup repository. 1340638428000000 1340721249000000 2594 enhancement johnglover johnglover ckan-ecportal closed fixed Add EU27 to EC ODP geographical coverage field EU27 option seems to have been removed at some point, needs to be added back to geographical coverage vocabulary and tested. 1340638576000000 1340716640000000 2399 defect amercader seanh ckan-v1.8 closed fixed Model cleanup in CKAN core has broken ckanext-spatial "root@lucid32:/usr/local/feature-2375-demo-theme/pyenv/src/ckan# sudo -u www-data /usr/local/feature-2375-demo-theme/pyenv/bin/paster --plugin=ckanext-spatial spatial initdb 4326 --config=/usr/local/feature-2375-demo-theme/pyenv/src/ckan/development.ini Traceback (most recent call last): File ""/usr/local/feature-2375-demo-theme/pyenv/bin/paster"", line 9, in load_entry_point('PasteScript==1.7.3', 'console_scripts', 'paster')() File ""/usr/local/feature-2375-demo-theme/pyenv/lib/python2.6/site-packages/paste/script/command.py"", line 84, in run invoke(command, command_name, options, args[1:]) File ""/usr/local/feature-2375-demo-theme/pyenv/lib/python2.6/site-packages/paste/script/command.py"", line 123, in invoke exit_code = runner.run(args) File ""/usr/local/feature-2375-demo-theme/pyenv/lib/python2.6/site-packages/paste/script/command.py"", line 218, in run result = self.command() File ""/usr/local/feature-2375-demo-theme/pyenv/src/ckanext-spatial/ckanext/spatial/commands/spatial.py"", line 38, in command self._load_config() File ""/usr/local/feature-2375-demo-theme/pyenv/src/ckan/ckan/lib/cli.py"", line 53, in _load_config load_environment(conf.global_conf, conf.local_conf) File ""/usr/local/feature-2375-demo-theme/pyenv/src/ckan/ckan/config/environment.py"", line 204, in load_environment plugin.configure(config) File ""/usr/local/feature-2375-demo-theme/pyenv/src/ckanext-spatial/ckanext/spatial/plugin.py"", line 60, in configure setup_model() File ""/usr/local/feature-2375-demo-theme/pyenv/src/ckanext-spatial/ckanext/spatial/model.py"", line 20, in setup define_spatial_tables(srid) File ""/usr/local/feature-2375-demo-theme/pyenv/src/ckanext-spatial/ckanext/spatial/model.py"", line 66, in define_spatial_tables package_extent_table = Table('package_extent', metadata, NameError: global name 'metadata' is not defined" 1337173470000000 1340706702000000 2548 enhancement kindly ross datahub-july assigned Object ownership for groups/package " == Requirements == We need to be able to easily determine who the owner of a dataset or group is. Datasets and Groups should have an Owner, who may change over time but is a specific user within the CKAN instance. It should be easy for CKAN components to determine the user and for the initial version we should ignore the can of worms labelled 'ownership transfer'. At this point migration is likely to be the biggest issue, and would suggest that it is acceptable that the last user to edit a dataset be set as the current owner. More tickets should arise as a result of this work where we may be able to optimise some queries to use the new feature. == Interface == None == User Stories == None == Tasks == [ ] Analysis/Clarification [ ] Tests [ ] Migration [ ] Code/Schema changes [ ] Documentation == Estimates == " 1340017331000000 1340706539000000 2547 enhancement shevski ross opendatasuite 2 assigned ODS Initial data sets " == Requirements == The ODS demo site will need data adding, initially as fixtures but it would also be useful if we started evaluating datasets that we can ship with ODS installations (at least in the UK) from places such as DGU and ONS. May wish to create a ticket for making sure the datasets within the system are reset every X hours. Perhaps. == Interface == None == User Stories == * As a new system administrator for an ODS instance, I don't want to have a site devoid of any data. Geographically relevant datasets would be welcomed. * As a bizdev person I would like to be able to demonstrate how ODS works with real datasets. == Tasks == [ ] Identify relevant sources for datasets [ ] Pick datasets [ ] Set them up for import == Estimates == " 1340016906000000 1340705614000000 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 2597 enhancement toby aron.carroll demo phase 1 closed fixed Demo add dataset throws error if tags are empty " 1. Go to new dataset 2. Add a slug 3. Click next Get error. {{{ URL: http://localhost:5000/dataset/new File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/weberror/evalexception.py', line 431 in respond app_iter = self.application(environ, detect_start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 147 in __call__ resp = self.call_func(req, *args, **self.kwargs) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 208 in call_func return self.func(req, *args, **kwargs) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/fanstatic/publisher.py', line 234 in __call__ return request.get_response(self.app) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1053 in get_response application, catch_exc_info=False) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1022 in call_application app_iter = application(self.environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 147 in __call__ resp = self.call_func(req, *args, **self.kwargs) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 208 in call_func return self.func(req, *args, **kwargs) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/fanstatic/injector.py', line 52 in __call__ response = request.get_response(self.app) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1053 in get_response application, catch_exc_info=False) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1022 in call_application app_iter = application(self.environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/beaker/middleware.py', line 73 in __call__ return self.app(environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/beaker/middleware.py', line 152 in __call__ return self.wrap_app(environ, session_start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/routes/middleware.py', line 130 in __call__ response = self.app(environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/wsgiapp.py', line 125 in __call__ response = self.dispatch(controller, environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/wsgiapp.py', line 324 in dispatch return controller(environ, start_response) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/lib/base.py', line 258 in __call__ res = WSGIController.__call__(self, environ, start_response) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 221 in __call__ response = self._dispatch_call() File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 172 in _dispatch_call response = self._inspect_call(func) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 107 in _inspect_call result = self._perform_call(func, args) File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 60 in _perform_call return func(**args) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/package.py', line 422 in new return self._save_new(context) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/package.py', line 703 in _save_new return self.new(data_dict, errors, error_summary) File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/package.py', line 430 in new data['tag_string'] = ', '.join(h.dict_list_reduce(c.pkg_dict['tags'], 'name')) TypeError: string indices must be integers, not str }}}" 1340642399000000 1340644591000000 2542 enhancement seanh seanh ckanbuild accepted Create jenkins job to run ckanbuild, and run tests It should run the script to create the debian package, boot a VM, install the debian package on the VM, boot a CKAN instance, then run the tests. 1339775888000000 1340639863000000 2541 enhancement seanh seanh ckanbuild accepted Add non-core extensions to ckanbuild We want some extensions from outside of CKAN core to be included in ckanbuild. These would be pip installed into the virtualenv before packaging the debian package. Decide which extensions to include. 1339775826000000 1340639856000000 2540 enhancement seanh seanh ckanbuild accepted Implement a way of upgrading ckan sites using ckanbuild When there are multiple ckan sites installed on a single server via ckanbuild, there needs to be some way of upgrading them all to a new ckan version at once. 1339775740000000 1340639850000000 2539 enhancement seanh seanh ckanbuild accepted Investigate the existing ckan debian package for ckanbuild Do we want to build on top of the existing debian packaging code? Or throw it away and start fresh? 1339775661000000 1340639845000000 2538 enhancement seanh seanh ckanbuild accepted Add multiple-instance support to ckanbuild "Probably use ansible to do this. To create an instance, create a dir at /etc/ckan/MYSITE, and put MYSITE.wsgi, MYSITE.ini and who.ini files in it. Also put a MYSITE file in /etc/apache2/sites-available. See the example files already present in ckanbuild. Booting a new site should be a single command. May not handle the postgres/solr/elastic-search side of things yet, could just require the user to set these up herself first and then pass them as args to the create-instance command." 1339775499000000 1340639836000000 2537 enhancement seanh seanh ckanbuild accepted Test and document ckanbuild "https://github.com/okfn/ckanbuild Verify that what's there so far still works, write a README explaining how it works" 1339775328000000 1340639830000000 2469 enhancement seanh seanh ckanbuild closed duplicate Find a better way to deploy CKAN instances "We want a much quicker and easier way of deploying multiple CKAN instances to the same or multiple servers and managing them (e.g. configuration, themes, extensions, upgrades, and adding new instances). Currently we just deploy and manage each instance separately, which doesn't scale.. We'd also want to have (as far as possible) one single way of deploying CKAN that works across different situations, e.g. deployment server, demo server, jenkins, local deployment for development, these should share the same tools for installing CKAN and its dependencies. Components that this might include: Virtualenv bootstrap script https://gist.github.com/2206132 Ansible http://ansible.github.com/ CKAN deb package" 1338216064000000 1340639702000000 2336 enhancement seanh seanh ckanbuild accepted Move Jenkins' install script into ckan core so it can be versioned 1335792914000000 1340639637000000 2342 enhancement seanh seanh ckan-v1.9 accepted Fix Jenkins issue when testing branches with different solr schema versions 1335876445000000 1340639494000000 2341 enhancement seanh seanh ckan-v1.9 accepted Fix Jenkins issue when testing branches that contain model changes 1335876396000000 1340639472000000 2473 enhancement kindly kindly ckan-v1.9 assigned Make datstorer store field ordering in _meta field Recline views should have a default table order, being the same as the csv that was imported. 1338293492000000 1340636871000000 2406 defect kindly markw ckan-v1.9 new Errors in source install doc "There are a few errors or unclarities in the source install doc - see http://lists.okfn.org/pipermail/ckan-dev/2012-May/002203.html http://lists.okfn.org/pipermail/ckan-dev/2012-May/002204.html " 1337595093000000 1340636804000000 2291 enhancement kindly rgrp ckan-v1.9 new DataStorer incorrectly attempts to store JSON in DataStore "See http://thedatahub.org/dataset/ecb13156-cf11-4e91-b51c-f287d154276e/resource/5db67915-40cb-467e-9d72-194ea4973670 This was marked as json format (and is JSON) but appears to have been imported as a quasi-CSV. Either this hsould not be imported at all or it should be imported as JSON ... (which is straightforward to do). Assigning to David for triage and review." 1334431147000000 1340636737000000 2485 defect icmurray nils.toedtmann ckan-v1.9 new Encourage leak containment by limiting the number of requests a CKAN process serves "CKAN has [ticket:1345 memory leaks]. They can be contained by limiting the time-to-live of a ckan process. An easy way to achieve this is to limit the number of requests a ckan server process can serve before it gets killed and replaced. One should ... * research ways to limit requests-per-process with the different web servers (see below for a start); * explain these safeguards in the CKAN documentation and encourage users to apply them; * consider the helper script '''[https://github.com/okfn/ckan/blob/master/ckan_deb/usr/bin/ckan-create-instance ckan-create-instance]''' to generate Apache configs with '''WSGIDaemonProcess ... maximum-requests=XY''' being active instead of [https://github.com/okfn/ckan/blob/master/ckan_deb/usr/lib/ckan/common.sh#L262 commented out]. Or at least let it warn the user to use '''!MaxRequestsPerChild'''; * Investigate current CKAN deployments whether they suffer from mem leaks, and if so contain them. ---- How to limit requests-per-process * Apache: * Use '''WSGIDaemonProcess''' with '''maximum-requests=50''' or whatever limit is appropriate. We did this sucessfully on [http://trac.okfn.org/ticket/904 datahub.io] and the [http://trac.okfn.org/ticket/1245 ckan farm] * (This need to be verified) Without WSGIDaemonProcess, '''!MaxRequestsPerChild 50''' should achieve the same. * nginx/supervisord: to be researched. " 1338551229000000 1340636028000000 2405 defect icmurray rgrp ckan-v1.9 assigned Improvements to data viewer embed " * Decent powered by icon for the Embed for the DataHub? (make this text customizable and allow html ...) * Current icon and text looks really bad * Embed link uses uuid rather than dataset name (this goes to perma-url question ...) * Data viewer embed url includes all the resource info (not needed -- just url and backend info ...) * Embed extension urls do not respect original domain but instead use site_url (I'm guessing). E.g. datahub.io domain ends up with links to embed on thedatahub.org " 1337583565000000 1340635981000000 2350 enhancement icmurray icmurray ckan-v1.9 new Hooks in package controller for validating form data "When the validation schema was moved from the package controller into the logic layer, the schema's role was changed from that of processing a form and validating data; to just validating data. Whilst is makes sense to have a schema for validating data as it comes in and leaves the logic layer; there's no longer the hook available to PackageController subclasses to do form validation/processing. Add a hook into _save_new() and save_edit() prior to the logic-layer call which subclasses can then override. NB - form processing/validation *is* different to validating data. For example, many data can be inferred from a user's input; or there may be aspects of the form that need to be filled in, but do not make sense to pass as data into the logic-layer, eg. agreeing to T&Cs. - [ ] Add hooks - [ ] Use in ckanext-example" 1335881761000000 1340635966000000 2298 enhancement icmurray icmurray ckan-v1.9 new Add sort-by controls to the search results page "Sort-by functionality was exposed through the package controller in [1]. But no controls were added to the search-page. * What should the sortBy controls/widget look like? * Which fields should be exposed? The above commit is in the release-1.6.1 branch, so this work is dependant upon release-1.6.1 from being merged into master. [1] https://github.com/okfn/ckan/commit/8685c6000d1cb211928b4dbc63990fb72d884f8c" 1334569162000000 1340635947000000 2301 enhancement seanh seanh ckan-future new Replace old-style string formatting with format() method (at least in strings marked for translation) "Some strings in CKAN are passed to gettext with more than one %s in them, this is no good as translators may need to change the order of substituted words. Strings should not use the old style % substitution, they should use the new format method in Python 2.6+, e.g.: 'This {food} is {adjective}.'.format(food='spam', adjective='absolutely horrible') http://docs.python.org/release/2.6.8/tutorial/inputoutput.html#fancier-output-formatting We should probably only change strings that are marked for translation and that contain multiple %s, don't want to make too much work or cause too many strings to change and need to be re-translated." 1334579264000000 1340635812000000 2273 enhancement seanh seanh ckan-v1.8 closed duplicate Review publisher organisations code with Ross 1333375723000000 1340635788000000 2243 enhancement seanh seanh ckan-v1.9 reopened Fix ckanext-example 1332172710000000 1340635768000000 1796 enhancement ross dread ckan-future closed fixed Get rid of lxml dependency "lxml is used in CKAN core in two places: * ckan/lib/helpers.py:239 Parsing Markdown and ensuring it is valid XML (i.e. tags close nicely so the HTML of the rest of the CKAN page is not disruptable). * reading the SOLR config XML to determine what version it is. 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 1130 enhancement lucychambers assigned First time users Send users to FAQ first time on CKAN 1304938761000000 1340633514000000 2407 enhancement amercader markw ckan-v1.9 new 'Access denied' message is unhelpful "This chap tried to use the API to add a dataset to a group and got the uninformative message 'Access denied': http://lists.okfn.org/pipermail/ckan-dev/2012-May/002229.html The problem was he didn't have access to the group. A message like 'You don't have access to the group ""LODcloud""' would have been clearer." 1337612500000000 1340633440000000 1585 enhancement dread closed fixed Security fix (details embargoed until 31/1/2012) 1324473465000000 1340633128000000 2573 enhancement icmurray ckan-future new package_search does not allow solr's per-field facet parameters "Solr allows its facet parameters to be specified on a per-field basis, eg. `facet.limit` applies to ''all'' facet fields, but solr allows it to be overriden for a specific field, eg. `facet.tags.limit`. We don't support this at the moment because we have a whitelist of valid solr query parameters that we accept. See `ckan.lib.search.query.VALID_SOLR_PARAMETERS`." 1340112439000000 1340633101000000 2543 enhancement icmurray ckan-v1.9 new facet.sort is not available in the package_search action "Not all solr facet parameters are available through the pcakage_search action. In particular, `facet.sort` has been asked for; but this ticket should check to see if there are other parameters that would be easy to add too. See: http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort" 1340013335000000 1340633091000000 1136 enhancement kindly rgrp assigned Move to SessionExtension in vdm When vdm was created there was no !SessionExtension so we use !MapperExtension for doing revisioning. Now that SessionExtension exists we should use it. We can also follow the existing SQLAlchemy recipe: 1305210855000000 1340632980000000 1458 enhancement rgrp rgrp ckan-future assigned Support previewing kml files in data viewer "Super ticket: #1151 (viewing geo data) E.g. preview of http://thedatahub.org/dataset/louisvillecrime should bring up a map" 1320936488000000 1340632932000000 1241 task timmcnamara timmcnamara closed wontfix Overview video of http://thedatahub.org Produce a video explaining some of the things which can be done on the datahub.org 1311567813000000 1340632688000000 1107 refactor tidy-up bitesize rgrp closed fixed Move package autocomplete from package controller and move to API "Currently autocomplete method on package controller. This method should be in API (like other autocomplete methods). Will need to update client code (just forms atm I think)." 1303808480000000 1340632612000000 1135 enhancement kindly rgrp assigned Changeset model for vdm "Move to Changeset model for vdm. A changeset model is like an Audit-Log model in which we just record Changesets with Change-Objects rather than have Revision-Objects for each Object that is revisioned. This change would also incorporate significant simplication of vdm." 1305209986000000 1340632267000000 1069 enhancement tobes rgrp assigned Stub datasets (request for datasets) "Idea is to have stubs for datasets that someone wants but don't yet exist (or haven't been discovered) in the way one has stub pages on a wiki. We could do this within the existing model by a slight 'abuse' - create a dataset and mark it with a special tag e.g. todo.does-not-yet-exist or similar ... (Just as we have datasets listed that exist but aren't available ...) Alternative would be to have a request for datasets subsystem. I prefer the stub dataset model because it's simpler, provides a simple workflow (as a dataset is found or comes into existence), and the package page provides a natural space in which to accumulate information about what is wanted and what exists. == Implementation == * Agree a new dedicated tag. e.g. todo.does-not-exist == Related == * This ticket has clear links to http://getthedata.org/" 1301666919000000 1340632215000000 923 defect rgrp dread closed worksforme Search box doesn't work in leaderboard page "1. Go to: http://ckan.net/stats/leaderboard#content 2. In the far top-right of the browser, select the search box in 'water'. 3. Press enter to search. Nothing happens. Tried in: chrome, firefox" 1295867328000000 1340632144000000 301 enhancement rgrp assigned Package discussion pages "A package discussion page is like a wikipedia discussion page: an editable free text page for people to have discussion/post comments about a given package. It provides a way for people to make suggestions about a package without needing access to main package." 1272301033000000 1340632055000000 1137 enhancement kindly rgrp assigned Remove need for statefulness in vdm "Statefulness, especially statefulness for relation (esp m2m) is cause of most of the complexity in vdm. It is ''required'' because, atm, revision objects have FKs to continuity objects. This ticket proposes the following changes: NB: this could be limited just to case of join tables (leaving state stuff on other tables) * Remove FKs from revision to continuity (or allow for them to be nullable). * We could just limit this to m2m stuff * Delete of an object leads to: * Deletion of continuity object * Adding an entry in revision table with state set to deleted (we retain state on revision table) If this is done we will no longer need to worry about filtering on state on relationships as join table will only contain ""active"" relationships. If we do this on all tables we remove need for any state awareness in client (e.g. no need to filter tables on active state). The only disadvantage of this change is that undeletion becomes more problematic (we have to recreate some continuity objects)." 1305211628000000 1340631974000000 285 enhancement rgrp assigned Paginate list of packages on tag read page "Is this worth doing? On hmg.ckan.net start to have a lot of packages with a given tag ... " 1270664606000000 1340631923000000 272 enhancement rgrp rgrp closed fixed Atom/RSS feeds for individual tags and groups "I want to be able to easily check when a package is added (or removed?) from a given tag or groups. To do this I would like access to an Atom/RSS feed for a given tag or group. * This would allow people to embed feed widgets in other places" 1268988652000000 1340631775000000 250 enhancement icmurray dread ckan-v1.9 assigned RDF link in Atom feed Add link to RDF representation of a package in our Atom feed. 1266507695000000 1340631430000000 2534 defect amercader seanh ckan-v1.8 closed duplicate ckanext-spatial is broken with CKAN 1.8b "Looks like recent cleanups in CKAN broke an import in the extension: https://gist.github.com/2935688" 1339754762000000 1340631124000000 235 enhancement tobes dread ckan-v1.9 assigned Resource format normalization and detection "Try to gather proper MIME information for all package resources in CKAN. This is a shared ticket with dcat-tools (https://bitbucket.org/pudo/dcat-tools), i.e. opendatasearch.org. This can then also be used by ckanrdf, the CKAN RDF conversion service. Sub-tasks: * Create a Google Spreadsheet with two Worksheets: ""MIME-Mappings"", i.e. ""CSV"" -> ""text/csv"" and ""Name mappings"", i.e. ""text/csv"" -> ""Comma-Separated Spreadsheet"". * Collect and map surface forms from all CKANs * Access this via Swiss and apply, store as a PackageResource extra field pending #826 (Resource extras). * Add heuristics for format auto-detections: * Map well-known file extensions * Recognize obvious magic (Zip, Tar) * Peek into Zipfile/Tarfiles * Define a convention for generic data types (many CKAN packages have only ""Spreadsheet"" defined, either detect specific type or set MIME to */tabular-data or similar) * See also: #816 (Autocomplete for the resource format field)" 1263827604000000 1340627624000000 2380 enhancement ross ross opendatasuite 1 closed duplicate DataGM Upgrade Provide a new test install of DataGM based on the ODS demo site being completed through June. 1337002144000000 1340627558000000 193 enhancement rgrp dread closed wontfix Searching by time-related field "Cost - 2 days Search interface has new options to filter and sort the results by the time-related field of the package. Search options are included in both Web UI and Search API. The filter specifies a range of dates. The results can be sorted by ascending or descending dates. The last modification date is surfaced in the package. Need to decide for a time-related field value that is date range, what date is used for the search. Example search parameters: || reldate-range=5/4/09- || Exclude packages related to earlier than 5/4/09 || || reldate-range=5/4/09-5/12/09 || Exclude packages related to date outside of 5/4/09-5/12/09 || || order_by=reldate || Sort by date package is related to. Defaults to newest first. || || order_by=reldate-newest || Sort by date package is related to, newest first. || || order_by=reldate-oldest || Sort by date package is related to, oldest first. || Related to ticket:192" 1258388169000000 1340626463000000 84 enhancement kindly rgrp ckan-future assigned Revert support on versioned objects "Basic revert in the classic wiki form is already support by purging a Revision. However may wish to support: 1. Cases where multiple objects changed in a revision but only want to revert 1 (low priority) 2. Want to revert but have reversion as a new revision of that object. Seems low priority at present. Cost: ?" 1248339543000000 1340626385000000 1023 defect pudo pudo closed wontfix Re-queueing of worker requests with errors Schedule worker calls to be ran several times, with certain intervals. 1299493179000000 1340626231000000 1007 defect pudo pudo closed wontfix Backport WDMMG translations for extensions i18n "Needed to allow extensions to be internationalized in the code and in templates. Requires in-template i18n domain switching which is broken between Genshi and Pylons, thus needs this hackish class. cf. https://bitbucket.org/okfn/wdmmg/src/198841e770e5/wdmmg/config/environment.py#cl-16 " 1298630621000000 1340626203000000 526 requirement pudo pudo closed wontfix Integrate validation tool into the registry "Assumes 8 is done: 8. Tool for validation an IATI XML record (referenced by a URL) for compliance with the IATI specification * Outside of scope of registry * Multiple validators with different levels of rigour" 1282894300000000 1340626152000000 882 defect pudo pudo closed wontfix Update i18n user docs and backport genshi i18n:domain fixes from WDMMG 1293192044000000 1340626094000000 2585 enhancement seanh ckan-v1.9 new Escape solr control characters in search queries, add advanced search screen "Suggestion from David Read: We noticed that some search queries produce unexpected search results in CKAN, due to them containing special characters. For example if you were to search for ""Spend over £25,000 - NHS Leeds"" then it would not come up with the dataset with that exact name. It was excluding datasets with the word ""NHS"" due to the dash/minus sign. It works fine if you escape the minus sign: ""Spend over £25,000 \- NHS Leeds"". So in data.gov.uk I've added escaping of such control characters in our plugin and this useful routine: http://fragmentsofcode.wordpress.com/2010/03/10/escape-special-characters-for-solrlucene-query/ Perhaps you would consider providing this in CKAN core in future? I think there is an occasional case when power users would want to use the special characters - brackets, +, -, boolean operators etc. but maybe these could be reserved for an 'advanced search' screen?" 1340360773000000 1340625078000000 2582 enhancement rgrp ckan-v1.9 new Do not hide notes / readme on dataset pages "Current we hide most of readme and then let users reveal it. Stop doing this and if necessary add a quick link down to resources section. (Maybe also rename resources to Data and Resources ...?) Aside: believe I have mentioned this somewhere a month + ago but could not find the ticket." 1340312340000000 1340625009000000 2529 enhancement rgrp ckan-v1.9 new DataHub (or CKAN) widgets "Simple widgets in pure JS. For example: * Count of datasets in a group (could generalise to a query but not sure how useful that is ...) * Embeddable list of top X (5) datasets for a given query * Embeddable list of *my* datasets Either these live at: {site}/widgets and we have some kind of generator (form where I choose my group, or my query). Or: we have this attached to areas of site where relevant. Can combine the 2 so that the latter links to the former. Think first will be easier to do and possibly more useful long-term (e.g. can just link people to that page). Cf. http://okfnlabs.org/ckanjs/" 1339750049000000 1340624917000000 2520 defect seanh seanh ckan-v1.9 assigned Document undocumented config options "There are 21 undocumented config options in CKAN, some of which are not mentioned in the config file template either: ckan.admin.name ckan.admin.email ckan.default.group_type ckan.page_cache_enabled ckan.cache_enabled ckan.cache_expires ckan.extra_resource_fields ckan.extra_resource_group_fields ckan.storage.key_prefix ckan.storage.max_content_length ckan.feeds.authority_name * ckan.feeds.date * ckan.feeds.author_name * ckan.feeds.author_link * ckan.mail_from ckan.gravatar_default * ckan.plugins ckan.api_url ckan.auth.profile ckan.datastore.enabled ckan.tracking_enabled There are also some options that are in the default deployment.ini even though they're deprecated: ckan.async_notifier carrot_messaging_library ckan.build_search_index_synchronously See email to ckan-dev from David Read: http://lists.okfn.org/pipermail/ckan-dev/2012-June/002447.html It'd be best if the docs could be automatically pulled from the source into sphinx using autodoc, see #1358" 1339588368000000 1340624908000000 2495 enhancement rgrp ckan-v1.8 closed duplicate Stats page has lost styling ... http://datahub.io/stats 1339056932000000 1340624905000000 2370 enhancement seanh seanh ckan-v1.9 assigned Add examples of all config settings in default config file The default config file should contains examples (maybe commented out) for all config variables. Makes it easier to edit the config. For example openid_enabled is not in there. 1336042237000000 1340624662000000 2335 defect seanh seanh ckan-v1.9 assigned Unicode characters don't work in CKAN ini files You get a UnicodeDecodeError, looks like it tries to decode the ini file as ascii. This is a problem because someone might try to set their site description to something with an umlaut in it, for example. 1335789726000000 1340624635000000 2337 enhancement seanh seanh ckan-v1.9 assigned Sort out ini file confusion in docs "For example if you follow the source install instructions then you have development.ini, then when you go onto Post-Installation Setup it talks about std.ini. People don't realise that these files are the same. Either fix the docs or fix CKAN to use same ini file names in package and source installs/" 1335797876000000 1340624600000000 2334 enhancement kindly rgrp ckan-v1.9 assigned Improved data import "Placeholder for thinking about this ... * Allow users to configure info for CSV import (e.g. separators, quotes etc)" 1335651662000000 1340624538000000 2333 enhancement rgrp ckan-v1.9 new Introduce new resource type datastore "This is a resource that is *just* in the datastore. At the moment there are hacky ways to do this (create resource with meaningless URL etc) but we should do this properly: * New Option: DataStore Table in add a resource form * URL field is disabled (or points at /api/data or something rather pointless) * Download button is disabled * Better would be to find a way to serialize an ES table or stream it ... " 1335651360000000 1340624473000000 2328 enhancement rgrp ckan-v1.9 new Link to Catalog API for each Dataset, Group and Tag At the moment no way for a normal user to find JSON versions of this material. Would it be worth adding back a link somewhere on the page? 1335442501000000 1340624331000000 2321 enhancement rgrp ckan-v1.9 new Use resource names/titles in URLs "Would make them much nicer but requires: * Ensure uniqueness (or deal with ambiguity) * (?) Slug/names versus titles * Aside: what is currently called name should probably be title " 1335236412000000 1340624174000000 2320 enhancement rgrp ckan-v1.9 new Introduce new state: archived Some datasets become obsolete: e.g. http://datahub.io/dataset/uncdb Do not want to delete them but want them marked as archived or deprecated or something. 1335211949000000 1340624119000000 2319 enhancement rgrp ckan-v1.8 closed wontfix Better auto-complete for groups on dataset edit page Use jquery chosen? 1335211353000000 1340624083000000 2294 defect kindly rgrp ckan-v1.9 assigned Unauthorized action on Data API gets 302 rather than 401 or similar "Well known issue that 401 *in API* end up with 302 redirect to login page (which makes no sense and is very confusing for clients). Fix this by ensuring that error messsages on API get passed through correctly. Minor because affect is annoying but not terminal" 1334432104000000 1340624003000000 2309 enhancement ross ckan-v1.8 closed wontfix Organizations review with SH Review organizations code with Sean and explain the key parts. 1334591679000000 1340623966000000 2283 enhancement rgrp ckan-v1.8 closed wontfix [super] Data Previewer / Viewer v3 " * Basic geo map * Facets * Filtering * Pivot table support (?) * Export data (?) * Save data query and share * More and better graphing * Embedding! - /resource/../embed User stories and analysis: http://ckan.okfnpad.org/feature-2283-data-viewer-v3" 1334138341000000 1340623843000000 1778 enhancement seanh seanh ckan-future assigned Replace classmethod's with module-level functions "In many places we have @classmethods where simple module-level functions would do (and would be more idiomatic in Python), e.g. the {{{get()}}} classmethods in the model/ classes. Doing it with module functions lets us type module.function() instead of module.Class.method(). In many cases we're importing classes directly with {{{from module import Class}}} and then doing {{{Class.method()}}}, but {{{from module import foo}}} is bad style: http://docs.python.org/dev/howto/doanddont.html" 1328543614000000 1340623743000000 2584 enhancement aron.carroll toby demo phase 1 closed fixed edit profile needs new theme " http://localhost:5000/user/edit/" 1340359925000000 1340620576000000 2576 enhancement aron.carroll toby demo phase 1 closed fixed resource side box in dataset resource view broken "assuming you have datahub data http://localhost:5000/en/dataset/2008_facility_ghg_emissions_by_province_territory/resource/28650645-8878-4826-9405-f20b9dfa4c12 also the breadcrumb becomes overly long too " 1340199857000000 1340617688000000 2528 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Create demo edit dataset page "Implementation: http://s031.okserver.org:2375/dataset/edit/5b451cab-8671-4513-91c4-257784c1f484" 1339686982000000 1340617176000000 2426 enhancement kindly seanh ckan-v1.9 new Get rid of CKAN's formalchemy dependency 1337946462000000 1340616095000000 2351 enhancement icmurray icmurray ckan-ecportal closed fixed Install EC Portal on CentOS "Install and document (step-by-step) CKAN (and dependencies, and extensions) onto VM on s031.okserver.org which has CentOS 6.2 installed. Paying particular attention to the fact that we won't have root access on the staging nor production servers, and so a) anything that requires root access must be documented carefully; and b) we want to be able to perform maintenance without being root. == Maintenance == We want to have ''non-root'' access to: - CKAN logs; (relevant) apache logs; qa process' logs; rdf cron logs - restarting CKAN - restarting qa processes - changing/disabling rdf cronjob - our database (through sql) - restarting solr == CKAN and Dependencies == - CKAN installed from source - Required plugins: synchronous_search ecportal ecportal_form organizations multilingual_dataset multilingual_group multilingual_tag qa == Extra configuration == - uploads - analytics (toby) - qa - rdf cron - caching - datastore == Things to remember == - Use ckanext/multilingual/solr/schema.xml and stopword files - Use nginx as proxy. " 1335883455000000 1340615641000000 2558 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Demo site add dataset has missing functionality " * Needs tags * Needs groups * Needs slug * Licenses links to something * Needs tooltips (Ira to write some tooltips)" 1340035280000000 1340615257000000 2517 enhancement johnglover johnglover ckan-sprint-2012-06-25 closed fixed Test installation instructions for EC ODP on CentOS 6.2 * created repo for final list of instructions: http://github.com/okfn/ecportal-server-setup 1339581689000000 1340613194000000 2586 enhancement toby toby demo phase 1 closed fixed edit dataset - tags broken tags is list not string 1340361630000000 1340380561000000 2587 enhancement shevski toby demo phase 1 closed fixed author/maintainer not shown if email missing is this the expected behaviour seems crap to me, should we just see the author but just no link 1340369450000000 1340376975000000 2440 enhancement toby aron.carroll demo phase 1 closed fixed Create demo homepage "Discussion: https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/61696765/comments Implementation: http://s031.okserver.org:2375" 1338206405000000 1340373461000000 2566 enhancement toby shevski demo phase 1 closed fixed add back buttons to create dataset process 1340039366000000 1340373308000000 2501 enhancement toby aron.carroll demo phase 1 closed fixed Implement three step dataset creation in demo site "New form should allow three steps. 1. Add basic fields to create a dataset 2. Add a data resource to the dataset (this can be repeated multiple times using ""Save and add another"" 3. Add final metadata to the dataset. It should be possible to jump backward through the steps by clicking the arrows at the top. Errors in fields should be validated for each step when the next button is clicked. Implementation: http://s031.okserver.org:2375/dataset/new" 1339084829000000 1340373057000000 2571 enhancement kindly toby demo phase 1 closed fixed implement logic.action.create.resource_create() "This function is incomplete If you want I can do this but I need guidance over how to do this properly. ie would I go through lib.dictization.model_save.package_resource_list_save() which looks wrong to me as I'd need the package. resource_dict_save() seems better but to be honest the total lack of docstrings etc makes me feel ill." 1340102259000000 1340369783000000 2523 enhancement toby toby demo phase 1 closed fixed New package metadata form needs creating "http://localhost:5000/dataset/new_metadata/dataset Controller : package Action : new_metadata template package/snippets/package_metadata_form.html" 1339605176000000 1340368036000000 2349 enhancement ross ross ckan-sprint-2012-06-25 closed fixed Make sure semantic.datahub.io gets created " [x] Redeploy Sparql endpoint Done at linkeddata.openlinksw.com/sparql [x] Make sure it is available at datahub.io/sparql or semantic.datahub.io/sparql [x] Generate daily dumps [x] Make dumps available via web [x] Notify Hugh once running [x] Announce to LD guys [x] Think about how we can apply this to publicdata.eu (can we do the same?) ... (being done elsewhere)" 1335880412000000 1340356629000000 2500 defect ross icmurray ckan-v1.8 closed fixed get_action should raise an exception if the action requested doesn't exist "== Original bug report: == > Hi CKAN devs, > > Can I request that ckan.logic.get_action raises an exception if > the action requested doesn't exist? > Two of us had a frustrating time tracking down an exception this > morning. It's difficult when the exception is raised in python in a > template because you don't get a line number. The problem was caused > by a new logic function being added to another extension, and we > hadn't updated the code there. So if get_action raised an proper > exception rather than silently returning None then I think we'd have > found the problem quicker. > I'd write the code for this, but as I understand that the new system > would require a ticket, branch, pull request, code review, merge. It > seems a lot to do for such a small thing. > Dave" 1339072580000000 1340293636000000 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 2484 enhancement toby toby ckan-v1.8 closed fixed move follower functionality into helper functions 1338547770000000 1340285964000000 2293 defect ross rgrp ckan-sprint-2012-06-25 closed fixed Rename of Group results in disappearance of associated datasets from group page "Rename of group makes all the datasets associated with the group disappear on the group listing page. (But they are still there if you look at edit). Suspect this is because we are using group name (rather than id!!) in the search index ... As group rename should be rare I'm marking this as minor though actual effect is major. Assigning to rossjones for review and cost assessment." 1334432078000000 1340266982000000 2365 enhancement ross ross ckan-sprint-2012-06-25 closed fixed Investigation of multisite "What would as a multisite CKAN look like? This is really part of the work around turnkey/hosted CKAN" 1335889911000000 1340266964000000 2556 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Update module styles on the demo theme "They've become inconsistent as the design has changed. * Remove white stripe * Make text sizes consistent * Make white space around text boxes consistent" 1340035028000000 1340212090000000 1244 enhancement dread assigned Notes field carriage-returns converted to CRLF "When you edit a package in the web form, if the notes field had {{{\n}}} as the End Of Line symbol, it gets lost when you preview or save the package, and the notes field is displayed all on one line. This can be seen when editing annakarenina (as created by 'paster create-test-data'). The diff shows for example: {{{ - Some test notes + Some test notes ? + }}} but it would more clearly be shown as: {{{ - Some test notes\n + Some test notes ? ++ }}} This is a significant problem with DGU, since a lot comes in via the API. It's not clear what we should do about it. We could standardise on \n or \r\n when the form submission comes in. Do different browsers on different platforms do different things with EOLs? == Analysis == Displaying the package: the Markdown processor respects both EOLs when displaying the field, putting each line in a

    tag. Creating the package edit form: placed into . Browser displaying package edit form: displays \n and \r\n as EOL. But \n\n gets compressed to one EOL. But on submission, both are returned as \r\n. Receiving the edited package: Somewhere along the line the EOL gets converted to \n\n. " 1311689456000000 1340191253000000 1314 enhancement dread ckan-backlog assigned ckanclient search - generator improvements "Apparently the search generator always makes two requests, even if you don't want to see the search results, which might be slow. Can this be optimised? Maybe we should also provide a second search function that doesn't use the generator - the original simple search function (that leaves the user to deal with limit & offset)." 1315395410000000 1340191233000000 1317 defect dread ckan-backlog assigned password reset - improve user search "In password reset, it gets confused if you have two similar users. This is because with the string the user provides, it searches several fields, not just name but also fullname and email address, allowing you to search for these. But only name is unique. Specific problem: Ira searches for ""Irina"" then it finds both: {{{}}} (I think) Maybe need to choose which field it searches?" 1315415539000000 1340191221000000 1322 enhancement dread assigned Action API improvements "Focusing on improving Action API as the v3 API: * have an optional parameter of the data_dict called ""options"". Options would contain items that would get passed into the context. e.g. {{{{""options"" : {""ref_package_by"": ""id""}}. }}} * instead of using API version to change the way packages are referenced, use the ref_package_by. * All package_show, group_show etc. to accept an object 'name' as an alternative to object 'id'. * Action API is v3 of api, replacement for v1 & v2. Default for most urls is still v1, but if url is /api/action then default to v3. Next steps: * Add search API (package, resource, * Add Util API * Clarify JSONP still applies * Add doc strings, clarifying parameters" 1315474749000000 1340191088000000 1328 defect minspamboks@… assigned Unicode & paster commands "A possible bug in CKAN when I tried deleting users using ""paster --plugin=ckan user delete"" command. To reproduce the bug do the following: 1. Create a user with an ID (which in my case was a user's full name) that contains non-unicode caracters like Norwegian ""æ"", ""ø"", or ""å"". 2. Make sure that you can see something like the example below: (pyenv) rm@mycomputer:$ paster --plugin=ckan user Users: name=Rustæm 3. Then try deleting the user with following command: (pyenv) rm@mycomputer:$ paster --plugin=ckan user delete ""Rustæm"" You should now get a python encoding error. I know that this is quite rare case, but in our case it caused some trouble. Could you guys have a look at this bug? CKAN ver. 1.3.3." 1315823110000000 1340191065000000 1460 enhancement rgrp assigned Improve extensions documentation "Current extensions documentation needs some work: http://docs.ckan.org/en/latest/plugins.html * Queue extension section may now be out of date (?) * Think about how it integrates with https://github.com/okfn/ckanext-example (especially tutorial and example extension) * Document all plugin points (auto-extract from CKAN source??)" 1321114523000000 1340191001000000 1444 defect dread dread ckan-future closed wontfix Language detection defaults to en_us? "Using curl you always get English, even if ckan.locale_default=de. Find out why. (1.5b) Maybe we should disable locale detection for this release if lots of people's browsers don't have it set correctly (e.g. chinese with us internet explorer)" 1320432634000000 1340190852000000 1509 defect dread assigned Mis-dated old revisions of datasets "e.g. http://thedatahub.org/dataset/osm%402011-07-12T12%3A16%3A47.590358 gives: {{{ This is the current revision of this dataset, as edited at 2011-07-12 12:16. }}} but it should say the date 2011-07-12 (which is the data being displayed). The problem is looking at PackageRevision, when it might be a tag or extra." 1323090398000000 1340190814000000 1452 enhancement dread dread closed wontfix Offer detected browser language, rather than auto-switch "There are issues with setting the site's language according to the browser detection: * Many browsers have the language setting incorrectly set. e.g. people who download US versions of Mozilla, pirated US copies in the far east. * Although thedatahub.org has a worldwide audience, many CKAN instances are designed for a particular country's citizens. So Open Berlin should probably be in German as default for all. I suggest the site should have a default language saved in the config. The browser language *should* be detected, and that prompts a flash message offering to change to that language. And if you change language that is saved in the cookie (as we currently do). Then do some testing to see if this suits people." 1320682652000000 1340190587000000 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 * Easy to call and implement * But getting permissions right for the different state values may not be easy - maybe a separate logic function is better? " 1327062214000000 1340190040000000 2312 enhancement ross ross ckan-future closed duplicate Analysis of how datasets could belong to users instead of Groups "** DUPLICATE OF #2548 Currently datasets can only be part of a group but that is quite heavyweight when a single user wants to upload a single dataset. To resolve this it would be great if a dataset could be attached to a user directly - find out how." 1334663770000000 1340188765000000 2323 enhancement ross ross ckan-backlog closed fixed Auto-complete in organizations "Apparently auto-complete in Organizations may not work. Check and fix. See https://github.com/okfn/ckan/commit/5eca7d5e37c0ef392b768b8b3768b2c3f93448b5" 1335274354000000 1340188400000000 1652 enhancement kindly ross ckan-backlog assigned How we intergrate with Drupal Multiligual? " * Analysis of how/where we can integrate with Drupal Multilingual * Is it likely to access CKAN via /en/data/... or /data/en/... (not sure, probably former) and we need to make sure that it ends up at /en/... * Check with Ian for other issues. " 1326709894000000 1340187535000000 2557 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Demo issues on the search dataset page " * Crosses have disappeared * Formats should stretch across the page" 1340035222000000 1340185609000000 2567 enhancement aron.carroll shevski demo phase 1 closed fixed remove resource type field from add data step No real need/use for this for demo/ODS yet 1340039447000000 1340120447000000 2564 enhancement aron.carroll shevski demo phase 1 closed fixed Updates to additional info fields on datasets "E.g. http://s031.okserver.org:2375/en/dataset/adur_district_spending/resource/04127ad5-77e5-4a08-9f40-12d3c383e460 When there are no maintainer/contact details or extra fields we should hide the additional info box completely. Otherwise hide the last updated and licence fields which are already displayed in sidebar. Update sidebar to provide context - so 'CSV' -> 'CSV format' + 'unknown' -> 'Last updated: unknown' " 1340038534000000 1340118952000000 2524 enhancement kindly kindly ckan-ecportal new If there are no translation files for selected language fall back to default lang. If a user selects a language there are no mo files for then an error is raised. Revert to default language instead. 1339609048000000 1340117608000000 2425 enhancement kindly seanh ckan-sprint-2012-06-25 closed fixed Get rid of CKAN's flup dependency 1337946421000000 1340117561000000 2527 enhancement aron.carroll aron.carroll ckan-sprint-2012-06-25 closed wontfix Implement a method of loading templates into the demo site "JavaScript needs to be able to insert html templates into the document. There are three common solutions to templating at the moment. 1. Insert the html into