{22} Trac tickets (2647 matches)
Results (101 - 200 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#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 |
|
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, 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
|
1274302723000000 | 1349778662000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2962 | enhancement | dominik | ckan-backlog | new | Search across multiple ckan instances |
Could be done by:
|
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:
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:
This ticket is to:
## 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:
|
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:
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:
This paster command slots into the above workflow for convenience. ## Notes
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:
|
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 |
|
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? |
|
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:
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]" ImplementationAdd 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:
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. |
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 |
When adding a new resource by uploading a file, I select a file called say create-group.png. I expect the following to happen:
Instead of this,
|
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
Module beaker.middleware:73 in call << self.cache_manager)
Module beaker.middleware:155 in call << headers.append(('Set-cookie', cookie))
Module routes.middleware:131 in call << r'\1', oldpath)
Module pylons.wsgiapp:125 in call <<
Module pylons.wsgiapp:324 in dispatch << if log_debug:
Module ckan.lib.base:239 in call << try:
Module pylons.controllers.core:221 in call << return response(environ, self.start_response)
Module pylons.controllers.core:172 in _dispatch_call << req.environpylons.action_method? = func
Module pylons.controllers.core:107 in _inspect_call << func.name, args)
Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method"""
Module ckan.controllers.template:30 in view << """
Module ckan.lib.base:153 in render << try:
Module pylons.templating:249 in cached_template << return content
Module ckan.lib.base:95 in render_template << template = globsapp_globals?.genshi_loader.load(template_name,
Module genshi.template.loader:223 in load << loadfunc = directory(loadfunc)
Module genshi.template.loader:286 in _load_from_directory << def _load_from_directory(filename):
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 '<address>Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0x7f5312a51650> beaker.cache <beaker.cache.CacheManager? object at 0x7f5312a51790> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0x7f5312a516d0>> 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 (<SimpleCookie: >, ) paste.registry <paste.registry.Registry object at 0x7f5309add610> paste.throw_errors True pylons.action_method <bound method TemplateController?.view of <ckan.controllers.template.TemplateController? object at 0x7f52b0ea2d10>> pylons.controller <ckan.controllers.template.TemplateController? object at 0x7f52b0ea2d10> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0x7f52b0ea2b90> pylons.routes_dict {'url': u'el/tag/jutatt\xe1sok', 'action': u'view', 'controller': u'template'} repoze.who.logger <logging.Logger object at 0x7f53127b2b50> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 139994769488336>, 'friendlyform': <FriendlyFormPlugin? 139994769488528>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator? object at 0x7f5312d893d0>, 'auth_tkt': <AuthTktCookiePlugin? 139994771858704>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350>} routes.route <routes.route.Route object at 0x7f531296ea10> routes.url <routes.util.URLGenerator object at 0x7f5309add810> webob._parsed_query_vars (GET([]), ) webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f52d4004990> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7f5309add810>, {'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
Module beaker.middleware:73 in call << self.cache_manager)
Module beaker.middleware:155 in call << headers.append(('Set-cookie', cookie))
Module routes.middleware:131 in call << r'\1', oldpath)
Module pylons.wsgiapp:125 in call <<
Module pylons.wsgiapp:324 in dispatch << if log_debug:
Module ckan.lib.base:239 in call << try:
Module pylons.controllers.core:221 in call << return response(environ, self.start_response)
Module pylons.controllers.core:172 in _dispatch_call << req.environpylons.action_method? = func
Module pylons.controllers.core:107 in _inspect_call << func.name, args)
Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method"""
Module ckan.controllers.user:409 in perform_reset << c.reset_key = request.params.get('key')
Module ckan.lib.mailer:100 in verify_reset_link << if not user.reset_key or len(user.reset_key) < 5:
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 '<address>Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0x7f5312a51650> beaker.cache <beaker.cache.CacheManager? object at 0x7f5312a51790> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0x7f5312a516d0>> 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 (<SimpleCookie: >, ) paste.parsed_dict_querystring (MultiDict?([('key=b4c2d03fa8', )]), 'key%3Db4c2d03fa8') paste.parsed_querystring ([('key=b4c2d03fa8', )], 'key%3Db4c2d03fa8') paste.registry <paste.registry.Registry object at 0x7f52eba637d0> paste.throw_errors True pylons.action_method <bound method UserController?.perform_reset of <ckan.controllers.user.UserController? object at 0x7f52e49f7a50>> pylons.controller <ckan.controllers.user.UserController? object at 0x7f52e49f7a50> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0x7f52f5649ad0> pylons.routes_dict {'action': u'perform_reset', 'controller': u'user', 'id': u'3086e91c-fe09-4a98-92e1-19de67a9ac9d'} repoze.who.logger <logging.Logger object at 0x7f53127b2b50> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 139994769488336>, 'friendlyform': <FriendlyFormPlugin? 139994769488528>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator? object at 0x7f5312d893d0>, 'auth_tkt': <AuthTktCookiePlugin? 139994771858704>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350>} routes.route <routes.route.Route object at 0x7f5312961ad0> routes.url <routes.util.URLGenerator object at 0x7f52de7f6390> webob._parsed_query_vars (GET([('key=b4c2d03fa8', )]), 'key%3Db4c2d03fa8') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f52fc4f1a08> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7f52de7f6390>, {'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:
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.
[ ] Eventually consider ...
|
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:
|
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
Suggested
|
1331902755000000 | 1346669567000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2552 | enhancement | ross | ckan-future | assigned | Controlling access to features |
RequirementsTo 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. InterfaceThese changes are currently only for the data hub and should be kept as much as possible within the data hub extension. User Stories
Tasks[ ] Clarification of requirements/analysis [ ] Tests [ ] Code
[ ] 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 |
RequirementsIn 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 interfaceOnce changes have been made to the user schema, for a given user we want to be able to:
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 StoriesUser 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.
Tasks[x] Tests [x] Plugin based migration [x] Code
[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 |
RequirementsRequire 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. InterfaceNone User Stories
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:
|
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 Things file upload should do:
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...
This should enable:
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:
Somewhere in the DB we should store ...
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 |