{22} Trac tickets (2647 matches)
Results (2201 - 2300 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2628 | enhancement | seanh | seanh | closed | duplicate | Add docs for upgrading a source install | 1341585472000000 | 1343392717000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2683 | enhancement | seanh | new | Add no-cache header to _tracking API call's response to make sure it doesn't get cached | 1342446577000000 | 1342446577000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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:
lets check that they are marked in 1.8 |
1343386840000000 | 1343389747000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2842 | enhancement | seanh | ckan-v1.8 | closed | fixed | Allow sort ordering of dataset listings on group pages | 1344855695000000 | 1344855852000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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? |
1345540723000000 | 1345540723000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2885 | enhancement | seanh | ckan-v1.9 | new | Labels (editor, admin) not translated in authorization pages for datasets or groups | 1345625351000000 | 1345625524000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2887 | defect | seanh | ckan-v1.8.1 | new | "Welcome to CKAN!" on front page is untranslatable |
ckan/templates/home/index.html contains:
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2896 | defect | seanh | ckan-v1.8.1 | new | resource_create crashes on ValidationErrors with KeyError: 'resources' |
ckan/logic/action/create.py:resource_create():
This assumes that package_update always returns an error dict with 'resources' in it. This assumption doesn't hold. |
1346257754000000 | 1346257754000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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:
|
1346330495000000 | 1346330495000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2913 | defect | seanh | ckan 2.0 | new | IGroupForm has package_form() method |
Should be group_form() I think |
1347374739000000 | 1350303779000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2919 | defect | seanh | ckan-v1.8 | new | Remove IController from docs |
Still in docs but seems gone from code |
1347461253000000 | 1347461253000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2925 | defect | seanh | ckan 2.0 | new | Remove trans mangle paster command? |
|
1347530768000000 | 1347530768000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2931 | enhancement | seanh | ckan 2.0 | new | Better docstring for app_globals.py |
The application's Globals object is not very informative. |
1347891194000000 | 1347891378000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2972 | enhancement | seanh | ckan 2.0 | new | Remove any imports of authz.py and delete file |
it is no longer used |
1350297442000000 | 1350297442000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2987 | refactor | seanh | ckan 2.0 | new | Remove all direct calls to logic action and auth functions |
From Toby |
1350298287000000 | 1350298287000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2990 | enhancement | seanh | ckan 2.0 | new | Fix descriptions of groups and organizations on /groups and /organizations pages | 1350299091000000 | 1350299091000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2993 | defect | seanh | ckan 2.0 | new | "logged_in" and "visitor" show in user list at /users | 1350466922000000 | 1350484826000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 |