: (IntegrityError) update or delete on table ""vocabulary"" violates
foreign key constraint ""tag_vocabulary_id_fkey"" on table ""tag""
DETAIL: Key (id)=(21421955-7560-467c-af30-9f790b73e6ae) is still referenced from table ""tag"".
'DELETE FROM vocabulary WHERE vocabulary.id = %(id)s' {'id': u'21421955-7560-467c-af30-9f790b73e6ae'}
URL: http://33.33.33.10:5000/api/action/vocabulary_delete
The error makes sense, but I'm wondering if it would be useful to extend the API to also allow the deletion of
non-empty vocabularies, possibly via a parameter (not sure what best practice in API design is). At the very least, it
would be cool if the error message coming back in the response had more information in it.",seanh
2831,Create a limited subset of markdown that's supported,ckan,,ckan 2.0,enhancement,,new,2012-08-09T11:41:07Z,2012-08-09T11:41:07Z,"Allowing people to use the full range of markdown results in extremely messy output across the site. I'd suggest limiting support to only a subset of common use cases.
* Allow all inline elements, this allows bold, italic, code and links.
* Allow lists.
Disallow
* Horizontal Rules
* Headings
* Block quote and code (this may turn out to be useful and so could be included)
This way you get markdowns paragraph handling and a few inline styles without breaking the entire layout of the page.
Here's the full syntax if anyone is interested http://daringfireball.net/projects/markdown/syntax",aron.carroll
2357,Create build script for front-end resources,ckan,,demo phase 5,enhancement,aron.carroll,accepted,2012-05-01T15:29:41Z,2012-07-25T12:48:44Z,Should minify and concatenate JavaScript and CSS as part of #2354,aron.carroll
2697,create dataset validation,ckan,,demo phase 5,enhancement,johnmartin,assigned,2012-07-18T14:00:35Z,2012-08-29T10:25:25Z,"Includes: missing fields, existing field checks (i.e. whether a name/dataset already exists with that name) during input (i.e. no need to submit form to check)",shevski
2446,Create demo dataset history/comparison page,ckan,,demo phase 4,enhancement,johnmartin,assigned,2012-05-28T13:12:18Z,2012-11-11T18:33:39Z,"This is a low priority for the demo site.
Discussion:
https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62414120/comments
Implementation:
http://s031.okserver.org:2375/dataset/history/adur_district_spending",aron.carroll
2461,Create demo revisions page,ckan,,demo phase 4,enhancement,toby,assigned,2012-05-28T13:34:15Z,2012-08-09T20:23:58Z,"I believe this is to be merged in with site activity.
Discussion:
https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts
Implementation:
http://s031.okserver.org:2375/en/revision",aron.carroll
2457,Create demo tags list page,ckan,,demo phase 4,enhancement,johnmartin,assigned,2012-05-28T13:28:55Z,2012-11-11T18:34:38Z,"This includes the tag page as well for now.
Discussion:
https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62998445/comments
Implementation:
http://s031.okserver.org:2375/en/tag",aron.carroll
2451,Create demo user list page,ckan,,demo phase 5,enhancement,johnmartin,assigned,2012-05-28T13:20:13Z,2012-11-11T18:35:02Z,"Discussion:
https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62268474/comments
Implementation:
http://s031.okserver.org:2375/user",aron.carroll
1273,Create docs for API v3,ckan,,ckan-backlog,requirement,,new,2011-08-15T12:41:23Z,2011-08-15T12:41:23Z,,amercader
2542,"Create jenkins job to run ckanbuild, and run tests",ckan,,ckanbuild,enhancement,seanh,accepted,2012-06-15T15:58:08Z,2012-06-25T15:57:43Z,"It should run the script to create the debian package, boot a VM, install the debian package on the VM, boot a CKAN instance, then run the tests.",seanh
1134,CREP0003: Description and Configuration of Harvesters,ckan,,ckan-backlog,CREP,,new,2011-05-11T10:14:28Z,2012-06-15T15:35:54Z,"'''Proposer''': Adrià Mercader
== Abstract ==
The new harvester interface allows to create harvesters for different
sources, but right now harvesters don't have many ways to describe and
configure themselves. We need a way of allowing them to:
* Expose their type and other details so they can be used internally
and on the UI.
* Define configuration settings for particular harvester instances.
== The Problem ==
=== Harvester description ===
The current UI for adding and editing harvest sources is the same used
in ckanext-dgu, and thus the 3 harvester types used in DGU to harvest
various GEMINI realted sources are hardcoded in the form. The form will
be migrated to a DGU-independent one, so we need the harvesters to
provide all the necessary data. There is a current {{{get_type}}} method
that returns the harvester type, but for make it compatible with the DGU
forms, it returns a machine-readable string (e.g. ""CSW Server""), making
it error prone.
=== Arbitrary configuration ===
In the current implementation, when the harvest process is started,
ckanext-harvest looks for all the available plugins that implement the
{{{IHarvester}}} interface and calls the appropiate methods for the
current stage ({{{gather_stage}}},{{{fetch_stage}}},{{{import_stage}}}).
At these stages, harvesters have no way of applying arbitrary
configuration options, so all harvesters of the same type behave on the
same way.
For instance, the CKAN harvester needs a way to define the API version
to use when harvesting remote instances (Right now, the version 2 is
hardcoded on the code).
== Specification ==
=== Harvester description ===
Harvesters will need to provide the following information so the UI form
can be built:
* name: machine-readable name (e.g. ""waf""). This will be the value
stored in the database, and the one used by ckanext-harvest to
call the appropiate harvester.
* title: human-readable name (e.g. ""Web Accessible Folder (WAF)"").
This will appear in the form's select box.
* description: a description of what the harvester does (e.g. ""A Web
Accessible Folder (WAF) displaying a list of GEMINI 2.1
documents""). This will appear on the form as a guidance to the
user.
The way to provide it will be an {{{info}}} method that all harvesters
must implement, which will return a dictionary with the previous
elements:
{{{
{
'name': 'csw',
'title': 'CSW Server',
'description': 'A server that implements OGC's Catalog Service
for the Web (CSW) standard'
}
}}}
=== Arbitrary configuration ===
As different harvesters will have very different needs, we need to
provide a way to persist arbitrary configuration flags for each harvest
source. The more flexible way given the current architecture in my
opinion would be to store the configuration options as a JSON encoded
object as a property of the harvest source (There already is an unused
DB field called {{{config}}} in the database) (Maybe using JsonType?).
This will mean adding an extra field in the harvest source form to allow
entering the configuration. This could be just a simple text field where
users enter the JSON encoded object or a more clever mechanism (i.e an
""Add a configuration flag"" link that adds two new text fields for the
key and value for each flag, and a mechanism to later build the JSON
object). In any case, this should probably be hidden in an ""Advance
options"" section.
== Why do it this way ==
=== Harvester description ===
The {{{info}}} method would provide a single point to get all the
information related to the harvester, and future properties could be
added to the dictionary returned without having to modify the interface.
=== Arbitrary configuration ===
There is an already existing {{{config}}} field in the database, so we
won't need to change the model.
Harvesters could access the config object at any of the stages. Of
course they could provide default values in their implementations so
users don't need to enter them everytime.
== Implementation plan ==
=== Deliverables ===
=== Risks and mitigations ===
The highest risk on the harvesters {{{info}}} method side is that
harvester implementation don't offer one of the necessary properties
(namely name and title). This could fire a warning when showing the
UI form or using the CLI.
=== Participants ===
Adrià Mercader to do it.
=== Progress ===
None yet.",amercader
2258,Customizable contributor agreement,ckan,,ckan-future,enhancement,,new,2012-03-26T08:45:49Z,2012-05-28T11:32:27Z," * Customize text at bottom of forms
* Also need to make clear that this does not apply to the data itself (that is covered by the license you choose on your dataset ...)",rgrp
1062,Data preview encoding error,ckan,,ckan-backlog,defect,johnglover,assigned,2011-03-29T10:55:43Z,2011-07-27T13:35:31Z,"The preview of ""Species Misc Turtle Download"" at http://ckan.net/package/taxonconcept results in the following error:
Unable to Preview - Had an error from dataproxy:
Data Transformation Error (Data transformation failed. Reason: 'utf8' codec can't decode byte 0x8b in position 1: unexpected code byte
",sebbacon
2674,Data preview not loading on s031,ckan,,demo phase 5,defect,kindly,assigned,2012-07-16T10:38:22Z,2012-08-07T14:22:04Z,"Not loading for all resources as far as I can tell; e.g. http://s031.okserver.org:2375/dataset/afghanistan-election-data/resource/f6331f99-51f6-44d9-95b9-b20f3b74f360
Fine on demo.ckan.org",shevski
2203,Data Viewer support for PDF,ckan,,ckan-v1.9,enhancement,kindly,assigned,2012-03-04T11:24:53Z,2012-09-25T10:29:21Z," * Boot viewer for format/mimetype: application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf
* propose we use pdf.js - https://github.com/mozilla/pdf.js
* We could also try iframing for browsers with native support but this seems more complex",rgrp
3012,data.gov auth,ckan,,,enhancement,toby,new,2012-11-08T16:50:09Z,2012-11-08T16:50:09Z,,toby
2529,DataHub (or CKAN) widgets,ckan,,ckan-v1.9,enhancement,,new,2012-06-15T08:47:29Z,2012-06-25T11:48:37Z,"Simple widgets in pure JS. For example:
* Count of datasets in a group (could generalise to a query but not sure how useful that is ...)
* Embeddable list of top X (5) datasets for a given query
* Embeddable list of *my* datasets
Either these live at: {site}/widgets and we have some kind of generator (form where I choose my group, or my query).
Or: we have this attached to areas of site where relevant.
Can combine the 2 so that the latter links to the former. Think first will be easier to do and possibly more useful long-term (e.g. can just link people to that page).
Cf. http://okfnlabs.org/ckanjs/",rgrp
2530,DataHub purge fails on some revisions,ckan,,ckan-v1.9,enhancement,kindly,new,2012-06-15T08:54:58Z,2012-07-02T22:31:20Z,"See http://datahub.io/ckan-admin/trash and try to purge revisions (*not* datasets). It will fail on some of the revisions with errors like:
Problem purging revision 391db9e8-df57-4e0e-8fe6-d4e0c2318344: (IntegrityError) update or delete on table ""revision"" violates foreign key constraint ""group_extra_revision_revision_id_fkey"" on table ""group_extra_revision"" DETAIL: Key (id)=(391db9e8-df57-4e0e-8fe6-d4e0c2318344) is still referenced from table ""group_extra_revision"". 'DELETE FROM revision WHERE revision.id = %(id)s' {'id': u'391db9e8-df57-4e0e-8fe6-d4e0c2318344'}",rgrp
2888,Datapreview in Iframe,ckan,,,enhancement,,new,2012-08-23T18:11:01Z,2012-08-23T18:11:01Z,Try and put datapreview in Iframe.,kindly
2513,Dataproxy should not default to utf8,ckan,,ckan-backlog,enhancement,,assigned,2012-06-13T08:23:40Z,2012-09-03T10:54:06Z,"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.",ross
2735,Dataset order on user page,ckan,,demo phase 5,enhancement,toby,assigned,2012-07-23T17:01:17Z,2012-08-07T14:20:45Z,"I think the datasets on user pages http://s031.okserver.org:2375/user/me
should be ordered by latest updated (with most recent at the top) instead of in alphabetical order.
What do you think?",shevski
2326,dataset permalinks,ckan,,ckan-future,enhancement,toby,new,2012-04-25T16:39:06Z,2012-05-28T13:46:39Z,"create permalinks
eg \dataset\~a5-DQ\nice-name
~XXXXX defines the permalink the nice-name is ignored
* packages table needs a new field for this data
* existing datasets need updating
* new datasets need the identifier creating
* routing needs updating
* needs to work for all urls like edit
Once this is implemented we can decide when we will use permalinks vs the normal urls.",toby
1832,dataset purge API,ckan,,ckan-backlog,enhancement,,assigned,2012-02-24T10:02:25Z,2012-06-15T15:21:46Z,"Purging datasets (deleting them fully, not just changing the state to 'deleted') is important for users testing dataset creation over the API on a test CKAN instance.
Without this, they need to resort to more difficult methods such as:
* cleaning and reloading the database
* setting the test datasets to state 'deleted' and also appending a suffix '_00' and incrementing the number until there is no clash of names.
Requested for NHSIC.
== Implementation ==
* This could slot into the Action API.
* Of course we would need to ensure the user's had been given the specific right to purge.
* I suggest we log the full details of the dataset being purged.",dread
2908,Dataset related with image should retain aspect ratio,ckan,,demo phase 5,enhancement,,new,2012-09-06T11:32:42Z,2012-09-06T11:32:42Z,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.,johnmartin
1745,Dataset search UX improvements as of Jan 2012,ckan,,ckan-v1.9,enhancement,,new,2012-02-02T23:22:21Z,2012-06-18T15:29:18Z,"Changes to make search both more exploratory and more satisfying to use
* Search query build - #1603
* Ability to add new facet fields ""live""
* That is add fields which then contain faceted options (a bit like data.hri.fi)
* (??) Autocomplete / drop down on search (i.e. search while you type)
* Dubious about value / cost ratio here
Probably would involve to pure JS and HTML implementation.
== Implementation ==
Probably require
* API changes to expose solr style API directly #1737
",rgrp
2733,Datastore logic functions,ckan,,ckan-v1.9,enhancement,johnglover,new,2012-07-23T15:54:46Z,2012-07-30T13:48:25Z,"== Where does the data go? ==
In a postgres database configured by the ckan.datastore_write_url config option which is a sqlalchemy url.
The user should have rights to create tables.
== Whats the api like? ==
We will just implement it as logic functions like the rest of CKAN and will part of core. After that we may add some nicer api functions that use these but that is a secondary concern.
== What are the initial logic functions? ==
* datastore_create
* datastore_delete
* datastore_show
== What is the JSON input format for datastore_create ==
To begin with it can have the following keys. It is fairly consistent with Max Ogdens' gut servers. Except adds resource_id.
{{{
{
resource_id: resource_id # the data is going to be stored against.
fields: a list of dictionaries of fields/columns and their extra metadata.
records: a list of dictionaries of the data eg [{""dob"": ""2005"", ""some_stuff"": ['a', b']}, ..]
}
}}}
* The first row will be used to guess types not in the fields and the guessed types will be added to the headers permanently. Consecutive rows have to conform to the field definitions.
* rows: can be empty so that you can just set the fields
* fields are optional but needed if you want to do type hinting or add extra information for certain columns or to explicitly define ordering.
eg: [{""id"": ""dob"", ""type"": ""timestamp"" }, {""id"": ""some_stuff"", ""type"": ""text""}, ...].
A header items values can not be changed after it has been defined nor can the ordering of them be changed. They can be extended though.
* Any error results in total failure!! For now pass back the actual error.
* Should be transactional
== What json does datastore_delete take? ==
{{{
{
resource_id: resource_id # the data is going to be deleted.
filters: dictionary of matching conditions to delete
e.g {'key1': 'a. 'key2': 'b'} this will be equivalent to ""delete from table where key1 = 'a' and key2 = 'b' "".
No filters (either not present or not defined) then delete the table. If we want truncate then add truncate: true to truncate the table.
}
}}}
== What json does datastore_search take? ==
{{{
{
resource_id: resource_id # the data is going to be selected.
filters : dictionary of matching conditions to select
e.g {'key1': 'a. 'key2': 'b'} this will be equivalent to ""select * from table where key1 = 'a' and key2 = 'b' ""
q: full text query
limit: limit the amount of rows to size default 100
offset: offset the amount of rows
fields: list of fields return in that order, defaults (empty or not present) to all fields in fields order.
sort: comma separated field names with ordering e.g ""fieldname1, fieldname2 desc""
}
}}}
Some free code: https://gist.github.com/3163864
== What json does datastore_search return? ==
{{{
{
fields: same type as datastore_create accepts (i.e. with metadata)
offset: The same offset that was supplied in datastore_show
limit: The original limit
filters: The filters that were applied in data_show
total: # total matching records without size or offset
records: [same as data_create] # list of matching results
}
}}}
On error will return:
{{{
{
__error__: … sql error …
}
}}}
== What types are allowed? ==
Aim to support as many postgres/postgis types that have string representations.
http://www.postgresql.org/docs/9.1/static/datatype.html
http://www.postgresql.org/docs/9.1/static/sql-createdomain.html
== IDs ==
Each row in a table will be given an _id column which has an id generated by us which you can use in queries.
== Other Features ==
Each row will store the _full_text index of all the data in the row. At some later point there will most likely be a way to index fields add constraints etc.",johnglover
2291,DataStorer incorrectly attempts to store JSON in DataStore,ckan,,ckan-v1.9,enhancement,kindly,new,2012-04-14T19:19:07Z,2012-06-25T15:05:37Z,"See http://thedatahub.org/dataset/ecb13156-cf11-4e91-b51c-f287d154276e/resource/5db67915-40cb-467e-9d72-194ea4973670
This was marked as json format (and is JSON) but appears to have been imported as a quasi-CSV. Either this hsould not be imported at all or it should be imported as JSON ... (which is straightforward to do).
Assigning to David for triage and review.",rgrp
2897,db_to_form_package_schema() crashes historical dataset page,ckan,,ckan-v1.8.1,defect,,new,2012-08-30T12:41:35Z,2012-08-30T12:41:35Z,"If there's an IDatasetForm plugin active with a db_to_form_schema() method based on db_to_form_package_schema(), then viewing historical versions of datasets (e.g. http://127.0.0.1:5000/dataset/dasd%402012-08-30T12%3A26%3A18.524191) crashes.
Reason is that revison_id and revision_timestamp need to be added to db_to_form_package_schema(), something like:
schema.update({'revision_id': [validators.ignore_missing, unicode]})
schema.update({'revision_timestamp':
[validators.ignore_missing, unicode]})
",seanh
2815,"db_to_form_package_schema() strips tracking summary, isopen",ckan,,ckan-v1.8.1,defect,seanh,new,2012-08-08T16:47:07Z,2012-10-15T12:23:41Z,"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.",seanh
1679,Default roles problem,ckan,,ckan-backlog,enhancement,,new,2012-01-17T17:57:22Z,2012-06-15T15:25:23Z,"The 'editor', 'anon_editor' and 'reader' roles are intended to have immutable actions. This was designed to prevent their names being subverted - e.g. an editor should always be able to edit! It also meant that when we add Actions (e.g. DELETE-PACKAGE) then it can be added sensibly to these roles in an upgrade just by changing the defaults table (ckan/model/authz.py).
The problem is that this immutability is only enforced on 'db upgrade'. So you can happily change the editor role using the paster command and it works, right up until you do an upgrade and realise permissions are different.
We should stop the paster commands being able to edit these roles. Or get rid of the immutability completely. Views?",dread
2834,Defer all publish calls until all modules have been initialised,ckan,,demo phase 4,enhancement,,new,2012-08-09T17:08:13Z,2012-08-13T11:18:12Z,"Currently if a module uses sandbox.publish() in its initilaize() function then any modules initialised afterwards will miss the event.
We should queue all calls to .publish() in the pubsub module in an array until all modules have loaded then iterate over and execute them.",aron.carroll
1544,delete old git branches,ckan,,ckan-backlog,task,,new,2011-12-12T15:10:10Z,2011-12-12T15:10:10Z,"We have 150 odd branches ({{{git branch -a}}}) - most of them old - we should prune them. At very least, branches that have been merged in should be deleted. Look at old branches that haven't been merged in and wonder why.
May be of some use:
{{{
git branch --merged
git branch --no-merged
}}}",dread
2992,Delete resource should send me back to edit dataset page,ckan,,,enhancement,,new,2012-10-16T17:19:16Z,2012-10-16T17:19:16Z,,johnmartin
1341,Delete spam users from ckan,ckan,,ckan-backlog,enhancement,kindly,reopened,2011-09-14T10:10:34Z,2011-11-01T09:59:00Z,Spam users where added to thedatahub and we need to clean them.,kindly
2728,deleted group shows on search index - for admins,ckan,,demo phase 4,defect,toby,new,2012-07-22T09:53:04Z,2012-08-15T09:45:44Z,"'test-group', which has been deleted,shows up on main search page under groups - and can be filtered by - see http://s031.okserver.org:2375/dataset?groups=test-group",shevski
2721,deleted groups should not show on 'Add to Groups' dropdown,ckan,,demo phase 4,defect,toby,new,2012-07-22T09:17:12Z,2012-08-09T20:30:14Z,"Groups previously deleted still show up in the add dataset process in step 3 'Additional info'
http://s031.okserver.org:2375/dataset/new_metadata/ff",shevski
2493,Demo site 404 needs some love,ckan,,demo phase 5,enhancement,aron.carroll,accepted,2012-06-06T12:34:41Z,2012-07-24T13:16:55Z,"templates/error_document_template.html
I've converted the 404 page to the new style but we probably want to serve this as a 'full page' ie content is 100% page width not sidebar and primary content
just go to a non-existant url to see
Discusion:
https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/63374042/
Implementation:
http://s031.okserver.org:2375/404",toby
2555,Demo site needs a breadcrumb helper,ckan,,demo phase 5,enhancement,toby,new,2012-06-18T13:43:03Z,2012-07-18T13:33:04Z,Something to make building breadcrumbs a bit nicer,aron.carroll
2814,Demo: upload file behaves oddly,ckan,,,enhancement,shevski,assigned,2012-08-08T10:06:00Z,2012-09-03T11:06:21Z,"3. Uploading a file behaves counter-intuitively (I would suggest wrongly).
When adding a new resource by uploading a file, I select a file called
say create-group.png. I expect the following to happen:
* the pathname of that file is filled in the box;
* nothing is actually uploaded till I hit 'add' (confirming that I've got the right file etc).
Instead of this,
* the file is immediately and, seemingly, irrevocably uploaded;
* the box is filled with a mysterious URL (https://commondatastorage.googleapis.com/ckan-demo ...)
* the mysterious URL is so long I can't even see the final element, which is my file name.
",markw
1447,disk space leakage,ckan,,ckan-backlog,defect,kindly,assigned,2011-11-07T11:54:03Z,2012-06-26T16:15:30Z,"Periodically we see some CKAN servers fall over because they run out of disk space. We need to find out if there is a common cause and fix it.
One problem in the past has been file handles running out when creating lots of tiny files in the data directory.
Another problem has been several enourmous backups being created every day - pdeu on eu25.",dread
1227,Display packages' tags in search results,ckan,,ckan-backlog,enhancement,,new,2011-07-19T00:11:02Z,2012-06-15T15:29:07Z,"In when displaying search results, it would be useful to also display the tags of a package. Sometimes it's difficult to infer the scope of what the package does from the title and the first sentence of the description. Tags are quite concise way to display rich information.
ENV=datacatalos.org, with CKAN 1.4.2a",timmcnamara
2202,Display page view count on dataset and resource pages,ckan,,ckan-future,enhancement,,reopened,2012-03-03T09:04:15Z,2012-05-28T11:35:29Z,Just like we display download counts we should display view counts.,rgrp
2582,Do not hide notes / readme on dataset pages,ckan,,ckan-v1.9,enhancement,,new,2012-06-21T20:59:00Z,2012-06-25T11:50:09Z,"Current we hide most of readme and then let users reveal it. Stop doing this and if necessary add a quick link down to resources section. (Maybe also rename resources to Data and Resources ...?)
Aside: believe I have mentioned this somewhere a month + ago but could not find the ticket.",rgrp
2761,"Document all the errors you can get when setting up filestore, and how to fix them",ckan,,ckan-v1.8,enhancement,,new,2012-07-26T11:36:06Z,2012-07-26T11:36:06Z,"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",seanh
2520,Document undocumented config options,ckan,,ckan-v1.9,defect,seanh,assigned,2012-06-13T11:52:48Z,2012-06-25T11:48:28Z,"There are 21 undocumented config options in CKAN, some of which are not mentioned in the config file template either:
ckan.admin.name
ckan.admin.email
ckan.default.group_type
ckan.page_cache_enabled
ckan.cache_enabled
ckan.cache_expires
ckan.extra_resource_fields
ckan.extra_resource_group_fields
ckan.storage.key_prefix
ckan.storage.max_content_length
ckan.feeds.authority_name *
ckan.feeds.date *
ckan.feeds.author_name *
ckan.feeds.author_link *
ckan.mail_from
ckan.gravatar_default *
ckan.plugins
ckan.api_url
ckan.auth.profile
ckan.datastore.enabled
ckan.tracking_enabled
There are also some options that are in the default deployment.ini even though they're deprecated:
ckan.async_notifier
carrot_messaging_library
ckan.build_search_index_synchronously
See email to ckan-dev from David Read: http://lists.okfn.org/pipermail/ckan-dev/2012-June/002447.html
It'd be best if the docs could be automatically pulled from the source into sphinx using autodoc, see #1358",seanh
2771,Documentation and examples for IDatasetForm and IGroupForm,ckan,,ckan-v1.8,enhancement,seanh,new,2012-07-27T12:30:38Z,2012-10-15T12:19:24Z,"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.",seanh
2499,Documentation for the internal analytics,ckan,,ckan-v1.8,enhancement,toby,new,2012-06-07T11:58:17Z,2012-06-07T11:58:17Z,"There's no docs for setting up the internal analytics, nor what it provides.
== Setup ==
Add: `ckan.tracking_enabled = true` to .ini file
Run: `paster tracking -c dev.ini`
== Related links ==
http://trac.ckan.org/ticket/2251",icmurray
2363,Documentation of best caching practice.,ckan,,ckan-v1.8,enhancement,toby,new,2012-05-01T16:16:57Z,2012-06-19T09:56:34Z,Need better documentation on best practices in making page loads faster for non logged in users.,kindly
1393,Don't skip search tests,ckan,,ckan-backlog,enhancement,johnglover,assigned,2011-10-13T11:30:53Z,2011-11-01T13:19:50Z,"Now we don't use postgres search, all the tests involving search now don't need to be skipped when running on sqlite. Should help coders spot earlier if these tests break. ",dread
2828,Draft datasets are confusing - tickets need creating,ckan,,demo phase 4,enhancement,toby,new,2012-08-09T09:56:18Z,2012-08-09T21:22:04Z,"reported as editing datasets incorrect
e.g. clicking on edit here http://s031.okserver.org:2375/dataset/ff
takes you to create dataset page http://s031.okserver.org:2375/dataset/edit/ff
but this is the correct behaviour of a draft dataset
We need to show draft datasets correctly
proper tickets need making for the different issues after review of issues with them - who can see, where, admins and viewing, orgs too etc",shevski
1255,Drupal consistancy checks.,ckan,,ckan-backlog,enhancement,kindly,assigned,2011-08-01T17:32:48Z,2011-08-15T09:20:54Z,Make a robust way to make sure the drupal database is consistent with the ckan data.,kindly
979,Edit Resource extras in the API,ckan,,ckan-backlog,enhancement,kindly,assigned,2011-02-11T13:09:37Z,2011-09-05T11:30:44Z,"Follows on from #826. We can now edit resource extras in the WUI (to some extent - see #978 for remaining issues) and we can view resource extras in the API, but we can't yet edit them in the API. ",dread
1423,Edit resources suggestions,ckan,,ckan-backlog,enhancement,,new,2011-10-26T15:11:46Z,2012-05-28T11:14:38Z," * Description vs Name - Edit Resources view is showing the name of the package rather than the description, and a lot (all?) of the packages before the upgrade don't have names, so might be good to swap this round again, e.g.: http://thedatahub.org/dataset/edit/iati-registry
* Moving resources - Moving them up or down the list used to be quite useful if you had a lot of resources that you might want to leave on the resources page, but only one or two that were actually current and that you wanted to draw attention to. This doesn't exist any more on CKAN but I think it would be good to add it back in.",markbrough
1635,Email notifications (e.g. for activity streams),ckan,,ckan-backlog,enhancement,seanh,new,2012-01-11T17:56:27Z,2012-12-10T12:05:57Z,"CKAN should be able to send email notifications to users.
Maybe have a notifications table in the db, and a server-side job that runs periodically and consumes rows from this table, mailing them to the users.
One thing that we may want to send users notifications of is activity stream events. So the activity streams code would have to add rows to the notifications table for the mailer job to consume. But remember that email notifications feature is separate from activity streams - we may want to send notifications of other things as well.
Need to implement (at least some of) #1634 before this can be implemented, in order to have something to send notifications about.
Analysis here: http://ckan.okfnpad.org/27",seanh
2894,Empty lists get stripped from package dicst in package_show(),ckan,,ckan-v1.8.1,defect,,new,2012-08-28T12:40:34Z,2012-08-28T12:40:34Z,"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.",seanh
2686,enabling datastore & data API breaks recline,ckan,,ckan-backlog,defect,,assigned,2012-07-17T09:06:51Z,2012-09-03T09:08:20Z,"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?",shevski
2485,Encourage leak containment by limiting the number of requests a CKAN process serves,ckan,,ckan-v1.9,defect,icmurray,new,2012-06-01T11:47:09Z,2012-06-25T14:53:48Z,"CKAN has [ticket:1345 memory leaks]. They can be contained by limiting the time-to-live of a ckan process. An easy way to achieve this is to limit the number of requests a ckan server process can serve before it gets killed and replaced.
One should ...
* research ways to limit requests-per-process with the different web servers (see below for a start);
* explain these safeguards in the CKAN documentation and encourage users to apply them;
* consider the helper script '''[https://github.com/okfn/ckan/blob/master/ckan_deb/usr/bin/ckan-create-instance ckan-create-instance]''' to generate Apache configs with '''WSGIDaemonProcess ... maximum-requests=XY''' being active instead of [https://github.com/okfn/ckan/blob/master/ckan_deb/usr/lib/ckan/common.sh#L262 commented out]. Or at least let it warn the user to use '''!MaxRequestsPerChild''';
* Investigate current CKAN deployments whether they suffer from mem leaks, and if so contain them.
----
How to limit requests-per-process
* Apache:
* Use '''WSGIDaemonProcess''' with '''maximum-requests=50''' or whatever limit is appropriate. We did this sucessfully on [http://trac.okfn.org/ticket/904 datahub.io] and the [http://trac.okfn.org/ticket/1245 ckan farm]
* (This need to be verified) Without WSGIDaemonProcess, '''!MaxRequestsPerChild 50''' should achieve the same.
* nginx/supervisord: to be researched.
",nils.toedtmann
1262,"Enforce ""create-user"" permission",ckan,,ckan-backlog,enhancement,,new,2011-08-03T12:41:36Z,2011-12-05T13:01:52Z,"This does not seem to have any implications at the moment, it should lock down registration and remove all related links. ",pudo
2820,English Language: Visualization -> Visualisation,ckan,,demo phase 5,defect,,new,2012-08-09T09:27:35Z,2012-08-09T09:27:35Z,"Problem: In the English version (which has a UK flag, indicating British English), the word ""Visualization"" is used. For an example see the ""Filter by type"" drop down on the /apps page.
Expected: This should be ""Visualisation"" in British English. Any instances of ""Visualize"" should be changed to ""Visualise"" too.
",danieljohnlewis
1285,Errors cause emails,ckan,,ckan-future,enhancement,,assigned,2011-08-23T16:29:04Z,2012-05-28T11:55:51Z,"Currently a sysadmin gets an email when an exception is not caught. But there are occasions when we DO want to catch an exception so we can fail nicely for the user, but the sysadmin STILL gets an email to know to fix something.
e.g. if there is an exception when search indexes a package. You want to catch the exception and still run any other notify calls.
",dread
2406,Errors in source install doc,ckan,,ckan-v1.9,defect,kindly,new,2012-05-21T10:11:33Z,2012-06-25T15:06:44Z,"There are a few errors or unclarities in the source install doc - see
http://lists.okfn.org/pipermail/ckan-dev/2012-May/002203.html
http://lists.okfn.org/pipermail/ckan-dev/2012-May/002204.html
",markw
2585,"Escape solr control characters in search queries, add advanced search screen",ckan,,ckan-v1.9,enhancement,,new,2012-06-22T10:26:13Z,2012-06-25T11:51:18Z,"Suggestion from David Read:
We noticed that some search queries produce unexpected search results in CKAN, due to them containing special characters. For example if you were to search for ""Spend over £25,000 - NHS Leeds"" then it would not come up with the dataset with that exact name. It was excluding datasets with the word ""NHS"" due to the dash/minus sign. It works fine if you escape the minus sign: ""Spend over £25,000 \- NHS Leeds"".
So in data.gov.uk I've added escaping of such control characters in
our plugin and this useful routine:
http://fragmentsofcode.wordpress.com/2010/03/10/escape-special-characters-for-solrlucene-query/
Perhaps you would consider providing this in CKAN core in future?
I think there is an occasional case when power users would want to use the special characters - brackets, +, -, boolean operators etc. but maybe these could be reserved for an 'advanced search' screen?",seanh
1747,Expire old activities,ckan,,ckan-backlog,enhancement,,new,2012-02-05T12:56:29Z,2012-06-15T15:24:19Z,"Currently the activity streams database tables just get longer and longer over time. Do we want to eventually delete the oldest activities, to keep the length of the table within limits?",seanh
2938,Explain bundling in doc/resources.rst,ckan,,,enhancement,Toby,new,2012-09-24T12:13:55Z,2012-09-24T12:13:55Z,"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.",dominik
989,Extending the model from plugins,ckan,,ckan-future,enhancement,kindly,new,2011-02-14T13:22:04Z,2012-06-18T15:45:11Z,"We need to support extending the model from plugins. This could involve:
* Adding a plugin hook to extend the mapper
* Adding an upgrade hook for plugin schema migrations
* Documenting how this is to be done
* Find a way to avoid conflicts ",pudo
811,Extra field editing form layout breaks when there are long field names,ckan,,ckan-backlog,defect,,new,2010-11-17T11:53:32Z,2011-12-06T11:18:09Z,The layout of the editing section for extra fields breaks when a field name is slightly too long. Field names jump over to the right. See http://ckan.net/package/edit/dbpedia for examples.,cygri
1642,Extra link generators generate garbled HTML,ckan,,ckan-backlog,defect,,new,2012-01-12T15:29:31Z,2012-06-15T15:26:07Z,"I had a package descriptions with URLs that contain ""group:foo"". This produces garbled output as the system tries to generate two sets of links: the outer link and an inner link.
Need to fix the parser.
Text:
Webdienst basierende Bereitstellung von Geobasisdaten der Freien und Hansestadt Hamburg. Folgende Geobasisdaten werden als WebMapTileService (WMT-S) für die Dauer des Wettbewerbs netzbasiert unter der Creative Commons Lizenz zur Verfügung gestellt: Digitale Orthophotos 40 cm Auflösung (Layer: apps4d_DOP40), Digitale Stadtkarte (Layer: apps4d_DISK), Digitale Regionalkarte (Layer: apps4d_DIRK), Digitale Karte 1:5000 (Layer: apps4d_DK5).
Metadateneinträge zu den Daten im PortalU:
* [apps4d_DOP40](http://www.portalu.de/trefferanzeige?docuuid=D6082285-6CAC-49C5-B7ED-B5A72BC17DEC&plugid=/kug-group:kug-iplug-udk-db_hh)
* [apps4d_DISK](http://www.portalu.de/trefferanzeige?docuuid=D2DA3359-3DC9-4CA4-AE9B-7C63D53B220F&plugid=/kug-group:kug-iplug-udk-db_hh)
* [apps4d_DIRK](http://www.portalu.de/trefferanzeige?docuuid=B7DDD599-F677-4C80-BED5-F11D82D5D1DD&plugid=/kug-group:kug-iplug-udk-db_hh)
* [apps4d_DK5](http://www.portalu.de/trefferanzeige?docuuid=2AE6D23E-48A5-4D85-BC0A-160737E0C8D2&plugid=/kug-group:kug-iplug-udk-db_hh)
One fix is quoting the URLs",pudo
2378,Extract metadata directly from resources that contain it.,ckan,,ckan-future,enhancement,,assigned,2012-05-10T11:58:08Z,2012-09-03T10:59:45Z,"Some files that might be uploaded as resources on a dataset, such as some image formats, already contain metadata. For example some jpeg files might contain Exif ( http://en.wikipedia.org/wiki/Exchangeable_image_file_format ) data.
[ ] Obtain list of embedded metadata 'standards'
[ ] Where the metadata is available it should be added as extra fields on the resource that is uploaded.
[ ] HTML?
[ ] Image formats (exif/gif etc)
[ ] PDF
[ ] Eventually consider ...
[ ] MS Office documents
",ross
2543,facet.sort is not available in the package_search action,ckan,,ckan-v1.9,enhancement,,new,2012-06-18T09:55:35Z,2012-06-25T14:04:51Z,"Not all solr facet parameters are available through the pcakage_search action. In particular, `facet.sort` has been asked for; but this ticket should check to see if there are other parameters that would be easy to add too.
See: http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort",icmurray
3028,Feature: dashboard activity stream filtering,ckan,,ckan 2.0,enhancement,seanh,new,2012-12-10T12:07:24Z,2012-12-10T12:07:24Z,https://github.com/okfn/ckanext-pdeu/issues/13,seanh
1459,Featured Dataset feature,ckan,,ckan-backlog,enhancement,rgrp,new,2011-11-12T15:50:12Z,2011-11-12T15:50:12Z,"Provide way to mark a dataset as featured. Featured database show up on the front page.
TODO: detail this more.",rgrp
2821,Featured Items on Filter,ckan,,demo phase 5,enhancement,,new,2012-08-09T09:28:24Z,2012-08-09T09:44:52Z,"Problem: On /apps page in the Filter Results box there is a ""Only show featured items"" checkbox, on selection it comes up with 0 solutions.
Expected: Presumably an admin can create ""featured items"" so that they can be randomly selected on front page (is this correct)? If there are no ""featured items"" in the whole database can this check box be hidden?
Bug is: no UI or obvious way to create featured items. Also the
checkbox looks un-styled",danieljohnlewis
2656,"Feed with few results has bad paging link, causing exception",ckan,,,defect,seanh,new,2012-07-11T10:05:12Z,2012-07-11T10:05:12Z,"This page http://thedatahub.org/feeds/custom.atom?q=wombat has 0 results and contains a link to http://thedatahub.org/feeds/custom.atom?q=wombat&page=0 which the page=0 causes this exception:
{{{
ckan.lib.search.common.SearchError'>: SOLR returned an error running query
Error: ""'start' parameter cannot be negative""
}}}",dread
2719,Feeds controller does not catch NotAuthorized exception,ckan,,,defect,,new,2012-07-21T12:14:23Z,2012-07-21T12:14:23Z,Results in bad user experience and WebApp errors emailed out. Seen in 1.7.1,dread
2758,file storage gives error if config not available but no useful user information,ckan,,ckan-v1.9,enhancement,toby,new,2012-07-26T07:28:29Z,2012-07-26T07:28:29Z,"We get an error which should be improved the actual problem is this but not passed to user
⇝ KeyError: 'ofs.impl'
View as: Interactive (full) | Text (full) | XML (full)
Module ckan.controllers.storage:2 in auth_form view
Module ckan.lib.jsonp:26 in jsonpify view
>> data = func(*args, **kwargs)
Module ckan.controllers.storage:407 in auth_form view
>> authorize(method, bucket, label, c.userobj, self.ofs)
Module ckan.controllers.storage:200 in ofs view
>> StorageAPIController._ofs_impl = get_ofs()
Module ckan.controllers.storage:71 in get_ofs view
>> storage_backend = config['ofs.impl']
Module paste.registry:146 in __getitem__ view
>> return self._current_obj()[key]
KeyError: 'ofs.impl'",toby
1562,Finish Geo Spatial,ckan,,ckan-future,enhancement,Adria,new,2011-12-19T10:56:33Z,2011-12-19T10:56:33Z,Estimated 4 weeks of Adria's time. I guess this will need to be broken down into more tickets. This feature is being requested by a number of potential customers and we have some ideas of requirements between Rufus and Jilly for this. This is the most popular new feature we talk about to new clients.,jilly mathews
1567,Finish QA extension,ckan,,ckan-future,enhancement,David Raznik,new,2011-12-19T11:19:59Z,2011-12-19T11:19:59Z,Requires change to celeryd. Estimated 4 weeks.,jilly mathews
1130,First time users,ckan,,,enhancement,,assigned,2011-05-09T10:59:21Z,2012-06-25T14:11:54Z,Send users to FAQ first time on CKAN,lucychambers
2996,Fix behaviour of View Profile button in user popover when already on user's profile,ckan,,ckan 2.0,enhancement,,new,2012-10-17T14:30:38Z,2012-10-17T14:30:38Z,"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",seanh
2243,Fix ckanext-example,ckan,,ckan-v1.9,enhancement,seanh,reopened,2012-03-19T15:58:30Z,2012-06-25T14:49:28Z,,seanh
2990,Fix descriptions of groups and organizations on /groups and /organizations pages,ckan,,ckan 2.0,enhancement,,new,2012-10-15T11:04:51Z,2012-10-15T11:04:51Z,,seanh
2341,Fix Jenkins issue when testing branches that contain model changes,ckan,,ckan-v1.9,enhancement,seanh,accepted,2012-05-01T12:46:36Z,2012-06-25T15:51:12Z,,seanh
2342,Fix Jenkins issue when testing branches with different solr schema versions,ckan,,ckan-v1.9,enhancement,seanh,accepted,2012-05-01T12:47:25Z,2012-06-25T15:51:34Z,,seanh
2466,Fix spam handling on trac,ckan,,ckan-v1.9,task,seanh,accepted,2012-05-28T13:51:43Z,2012-07-02T13:08:59Z,,seanh
2859,Fix the build,ckan,,ckan-v1.8,defect,icmurray,new,2012-08-16T09:26:57Z,2012-08-16T09:26:57Z,"The requires files have been removed. These were required by buildkit.
We've lost the information regarding which packages were already in ubuntu repos, which conflicted and which were missing. But perhaps we can just package everything up.",icmurray
2977,Fix user autocomplete on group and organization member pages,ckan,,ckan 2.0,enhancement,,new,2012-10-15T10:42:29Z,2012-10-15T10:42:29Z,"From Toby: @johnmartin the user autocomplete on
member add needs fixing it gets data but does not understand what to do
with it
",seanh
1560,Follow extension,ckan,,ckan-future,enhancement,David Raznik,new,2011-12-19T10:51:19Z,2011-12-19T10:51:19Z,"Estimate 2 days to finish dev and test.
David can you add any info needed here?",jilly mathews
1411,Force resource format to be lower case (also mimetype),ckan,,ckan-backlog,enhancement,zephod,new,2011-10-22T21:40:04Z,2011-10-22T21:40:04Z,"Format should be lowercase. Automatically lower case (for extra points have a bit of javascript to force lower case when entering).
* Even more points: do a update on thedatahub repo to make all format lower case (or script this as an update?)",rgrp
2702,Future Javascript wishlist for demo,ckan,,demo phase 5,enhancement,shevski,assigned,2012-07-18T14:07:55Z,2012-08-06T12:26:24Z,"tooltip on popular datasets with number of views
facets to update automatically
creating a dataset without reloading page between steps
hover on licences information
autocomplete on search terms
group filtering
social share buttons in lightboxes
dataset counts on homepage",shevski
2974,General of all auth functions,ckan,,ckan 2.0,enhancement,,new,2012-10-15T10:40:12Z,2012-10-15T10:40:12Z,"From Toby:
A general cleanup of all auth functions (in logic/auth) to check their fitness, error messages, etc.",seanh
1358,Generate configuration documentation automatically from the deployment_ini_tmpl file,ckan,,ckan-backlog,enhancement,zephod,assigned,2011-09-26T22:32:30Z,2011-10-10T14:43:43Z,"At the moment documentation of config options is duplicated between source (deployment_ini_tmpl in ckan/config which is used to generate user ini file) and the docs.
Suggest we write a script that automatedly generates reference documentation for the config from the source.
May be obsoleted by #277 (some config in db)",rgrp
2902,genshi is used in Group controller,ckan,,ckan 2.0,enhancement,,new,2012-09-04T18:10:30Z,2012-09-04T18:10:30Z,"The Group controller uses the genshi module where it may be better for it to use Markup() in the template.
See https://github.com/okfn/ckan/pull/117/files#r1524863",ross
2920,Genshi text template message extractor no longer needed?,ckan,,ckan 2.0,defect,,new,2012-09-13T09:57:29Z,2012-09-13T09:57:29Z,"In setup.py, do we still need:
('templates/**.txt', 'genshi', {
'template_class': 'genshi.template:TextTemplate'
}),
in message_extractors? Doesn't like there are any txt files in there
anymore.",seanh
1604,Get ckanext-moderatededits working with CKAN 1.5+ templates,ckan,,ckan-backlog,enhancement,,new,2011-12-31T17:27:09Z,2011-12-31T17:27:09Z,"ckanext-moderatededits requires an old and possibly development version of CKAN. It would be good to update it for later CKAN versions.
According to the README, you need CKAN from branch feature-1141-moderated-edits-ajax but the changelog suggests this branch went into version 1.4.2. So it possibly works with 1.4.2 and 1.4.3(.1). But CKAN 1.5 has revamped templates, so the genshi stream filters definitely don't work.
BTW history_ajax/read_ajax calls have been deprecated in CKAN since 1.5.2a and will need fixing up to use the Action API too as part of this.",dread
2478,Get NeverNotifyUpdaterPlugin installed on trac.ckan.org,ckan,,ckan-v1.9,enhancement,seanh,accepted,2012-05-30T16:52:14Z,2012-07-02T13:09:51Z,,seanh
1740,Get rid of `from module import ...`,ckan,,ckan-future,enhancement,,new,2012-02-01T11:06:09Z,2012-02-01T11:14:44Z,"It's really bad to do {{{from module import *}}} and CKAN has a lot of them. I suggest a three-pronged approach:
1. Don't add any more of them.
2. When you're programming if you see an easy opportunity to remove one then do so.
3. At some point we should task someone to go through the code and remove them all (which is what this ticket is for), but this will be a big job and may break things.
We should also get rid of most or all of the {{{from module import foo}}} and {{{from module import foo, bar}}} statements.
I think the right thing to do is just {{{import module}}} and then use {{{module.foo}}} in your code. But if you find yourself doing {{{module.foo.bar}}} then you may have a code smell.
See: http://docs.python.org/dev/howto/doanddont.html",seanh
2426,Get rid of CKAN's formalchemy dependency,ckan,,ckan-v1.9,enhancement,kindly,new,2012-05-25T11:47:42Z,2012-06-25T09:21:35Z,,seanh
2235,Group drop down on dataset edit should use chosen and sort groups by name,ckan,,ckan-future,enhancement,,new,2012-03-16T14:15:57Z,2012-05-28T11:32:06Z,,rgrp
2969,Group members page 500s,ckan,,ckan 2.0,defect,,new,2012-10-15T10:20:54Z,2012-10-15T10:20:54Z,"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",seanh
2663,h.resource_display_name needs love,ckan,,ckan-v1.9,enhancement,toby,new,2012-07-11T14:42:26Z,2012-07-11T14:42:26Z,"This function is shit and needs cleaning up and a doc string
description is markdown and should be treated properly
either we should truncate all or leave it to the templates but work universally
url if no name / desc this is in demo-theme branch",toby
2810,heroku ckan support,ckan,,ckan-future,enhancement,,new,2012-08-07T18:40:58Z,2012-08-07T18:40:58Z,Get ckan working on heroku,kindly
948,Highlight (to a sysadmin) which packages are deleted,ckan,,ckan-future,enhancement,,assigned,2011-02-02T11:32:49Z,2012-05-28T11:58:00Z,"When a customer logs in as a sysadmin then he/she see all packages, including deleted and pending ones. These are hidden to the average user, but the sysadmin has no idea of this until he clicks on the package and sees at the bottom 'state: deleted'.
It should be more obvious than that on the search view - an icon, message or crossed-out name to packages are deleted.",dread
351,"Homepage: list new, updated and 'hot' packages",ckan,,ckan-backlog,enhancement,,new,2010-06-15T09:56:56Z,2012-06-15T15:37:57Z,"Have a simpler list of exciting data, as opposed to the big revision list.
For example:
{{{
Hot data
===========
New packages: package1, package2, package3
Updated resources: package1, package2, package3
Popular packages:
}}}",dread
2350,Hooks in package controller for validating form data,ckan,,ckan-v1.9,enhancement,icmurray,new,2012-05-01T14:16:01Z,2012-06-25T14:52:46Z,"When the validation schema was moved from the package controller into the logic layer, the schema's role was changed from that of processing a form and validating data; to just validating data. Whilst is makes sense to have a schema for validating data as it comes in and leaves the logic layer; there's no longer the hook available to PackageController subclasses to do form validation/processing.
Add a hook into _save_new() and save_edit() prior to the logic-layer call which subclasses can then override.
NB - form processing/validation *is* different to validating data. For example, many data can be inferred from a user's input; or there may be aspects of the form that need to be filled in, but do not make sense to pass as data into the logic-layer, eg. agreeing to T&Cs.
- [ ] Add hooks
- [ ] Use in ckanext-example",icmurray
1652,How we intergrate with Drupal Multiligual?,ckan,,ckan-backlog,enhancement,kindly,assigned,2012-01-16T10:31:34Z,2012-06-20T10:18:55Z,"
* Analysis of how/where we can integrate with Drupal Multilingual
* Is it likely to access CKAN via /en/data/... or /data/en/... (not sure, probably former) and we need to make sure that it ends up at /en/...
* Check with Ian for other issues.
",ross
2926,I*Form tests for per-type templates,ckan,,ckan 2.0,enhancement,,new,2012-09-13T16:01:21Z,2012-09-13T16:01:21Z,"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.",seanh
2892,IDatasetForm's form_to_db_schema() breaks API?,ckan,,ckan-v1.8.1,defect,,new,2012-08-28T11:42:05Z,2012-08-28T11:42:43Z,"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.",seanh
2524,If there are no translation files for selected language fall back to default lang.,ckan,,ckan-ecportal,enhancement,kindly,new,2012-06-13T17:37:28Z,2012-06-19T14:53:28Z,If a user selects a language there are no mo files for then an error is raised. Revert to default language instead.,kindly
2913,IGroupForm has package_form() method,ckan,,ckan 2.0,defect,,new,2012-09-11T14:45:39Z,2012-10-15T12:22:59Z,Should be group_form() I think,seanh
2540,Implement a way of upgrading ckan sites using ckanbuild,ckan,,ckanbuild,enhancement,seanh,accepted,2012-06-15T15:55:40Z,2012-06-25T15:57:30Z,"When there are multiple ckan sites installed on a single server via ckanbuild, there needs to be some way of upgrading them all to a new ckan version at once.",seanh
1460,Improve extensions documentation,ckan,,,enhancement,,assigned,2011-11-12T16:15:23Z,2012-06-20T11:16:41Z,"Current extensions documentation needs some work: http://docs.ckan.org/en/latest/plugins.html
* Queue extension section may now be out of date (?)
* Think about how it integrates with https://github.com/okfn/ckanext-example (especially tutorial and example extension)
* Document all plugin points (auto-extract from CKAN source??)",rgrp
2362,"Improve plugin documentaion, including examples.",ckan,,ckan-v1.9,enhancement,toby,accepted,2012-05-01T16:13:11Z,2012-07-12T09:30:20Z,Improve documentation for plugins and add examples. Could use ckanext-example as a base.,kindly
2818,Improve related item schema,ckan,,demo phase 4,defect,seanh,assigned,2012-08-09T09:22:56Z,2012-08-29T09:15:18Z,"Problem: When creating a related item (e.g. a Visualisation), if you don't put in a URL it succeeds, but on the related items and apps pages it renders it as a link to the same page.
Expected: Always require a URL and it should only submit
if one is added",danieljohnlewis
2334,Improved data import,ckan,,ckan-v1.9,enhancement,kindly,assigned,2012-04-28T22:21:02Z,2012-06-25T11:42:18Z,"Placeholder for thinking about this ...
* Allow users to configure info for CSV import (e.g. separators, quotes etc)",rgrp
2405,Improvements to data viewer embed,ckan,,ckan-v1.9,defect,icmurray,assigned,2012-05-21T06:59:25Z,2012-06-25T14:53:01Z," * Decent powered by icon for the Embed for the DataHub? (make this text customizable and allow html ...)
* Current icon and text looks really bad
* Embed link uses uuid rather than dataset name (this goes to perma-url question ...)
* Data viewer embed url includes all the resource info (not needed -- just url and backend info ...)
* Embed extension urls do not respect original domain but instead use site_url (I'm guessing). E.g. datahub.io domain ends up with links to embed on thedatahub.org
",rgrp
1782,Improvements to datasets page UX (Feb 2012),ckan,,ckan-future,enhancement,zephod,new,2012-02-07T10:10:41Z,2012-05-28T11:40:32Z," * Relationships in sidebar [WONTFIX yet without some link to documentation or datastructure, something for me to render?]
* ~~Icons for *types* of resources in resource list~~
* List of 'Owners' (administrators) at top right of sidebar (a la group page)
* Much prefer owner to administrator ...",rgrp
1163,Improvements to Storage Extension,ckan,,ckan-backlog,enhancement,rgrp,new,2011-05-26T11:19:38Z,2011-07-08T14:03:28Z,"Storage is now working but there are
* Integrate with Resources (e.g. create a resource for each file upload and give option to associate with a package)
* Should we introduce rule that files *not* associated with a Resource are periodically deleted?
* Allow setting of a file name/path before upload
* Allow for file overwriting/deleting etc (how should this work -- do we want to allow this sort of thing)
* Integrate local file upload stuff in api/auth/*
== Different Backend Issues ==
Local file store is rather different from 'remote' storage in various ways:
* For remote you don't want to use many buckets as there are bucket limits while for local you want to. Should we there have a single path that users provide which we then partition differently for different backends.
",rgrp
1009,Improvements to user accounts sytem,ckan,,ckan-backlog,enhancement,pudo,new,2011-02-25T12:13:11Z,2011-07-08T12:36:14Z," * Forgot password (email a new password)
* Confirm email
* Do not show register page if you are logged in (redirect to home page)
* ticket:1010 - listing of users.
* Do not use /user for general user account home page (either user normal user page /user/{id} or /user/myaccount)
",rgrp
2952,incorporate javascriopt translations into translations workflow,ckan,,ckan 2.0,enhancement,seanh,new,2012-10-01T19:15:45Z,2012-10-01T19:15:45Z,"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.",icmurray
1101,Integrate googlanalytics into site nav,ckan,,ckan-backlog,enhancement,,new,2011-04-21T13:52:06Z,2012-06-15T15:36:22Z,"There's a stats plugin (e.g. at http://trac.ckan.org/ticket/832).
Output from the googleanalytics plugin should append to that page, if the stats plugin is present.
Possibly the stats plugin and the googleanalytics plugin should be merged?
Finally, if the stats plugin is active, then a link to the stats page should be added to the main site footer.",sebbacon
2911,Internal documentation of Organization Groups,ckan,,,enhancement,,new,2012-09-06T14:23:04Z,2012-09-06T14:23:04Z,A summary/user story doc of how organizations and groups are expected to work.,kindly
2333,Introduce new resource type datastore,ckan,,ckan-v1.9,enhancement,,new,2012-04-28T22:16:00Z,2012-06-25T11:41:13Z,"This is a resource that is *just* in the datastore. At the moment there are hacky ways to do this (create resource with meaningless URL etc) but we should do this properly:
* New Option: DataStore Table in add a resource form
* URL field is disabled (or points at /api/data or something rather pointless)
* Download button is disabled
* Better would be to find a way to serialize an ES table or stream it ...
",rgrp
2320,Introduce new state: archived,ckan,,ckan-v1.9,enhancement,,new,2012-04-23T20:12:29Z,2012-06-25T11:35:19Z,Some datasets become obsolete: e.g. http://datahub.io/dataset/uncdb Do not want to delete them but want them marked as archived or deprecated or something.,rgrp
1261,Investigate dots in extras search,ckan,,ckan-backlog,defect,,new,2011-08-03T10:19:28Z,2011-08-03T10:19:28Z,"It seems that searching for extras_foo:value works with solr, but extras_foo.bar:value doesn't. No theory on why. ",pudo
2382,Investigate options for basic geocoding,ckan,,ckan-future,task,amercader,new,2012-05-14T17:39:20Z,2012-05-28T11:42:05Z,"A simple way for geocoding place names would be very useful, e.g in the spatial search, defining a geometry for a dataset (on the form or bulk)",amercader
2539,Investigate the existing ckan debian package for ckanbuild,ckan,,ckanbuild,enhancement,seanh,accepted,2012-06-15T15:54:21Z,2012-06-25T15:57:25Z,Do we want to build on top of the existing debian packaging code? Or throw it away and start fresh?,seanh
2348,Java client library for CKAN,ckan,,ckan-future,enhancement,,assigned,2012-05-01T13:46:20Z,2012-09-03T11:00:24Z,"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.",ross
3029,JSONP parameter scuppers Search in API,ckan,,,defect,seanh,assigned,2012-12-11T15:00:35Z,2012-12-11T16:37:04Z,"{{{http://datahub.io/api/2/search/package?jsonp=jsonpcallback&q=canada}}} returns
{{{
{""count"": 0, ""results"": []}
}}}
I believe this worked in CKAN 1.4 or 1.5, but it is broken on 1.7.1, 1.8 and whatever demo.ckan.org is running. I suspect the jsonpcallback parameter is getting sent to SOLR.
This bug prevents using javascript on another site to search CKAN (although hopefully the action API would work).",dread
2885,"Labels (editor, admin) not translated in authorization pages for datasets or groups",ckan,,ckan-v1.9,enhancement,,new,2012-08-22T08:49:11Z,2012-08-22T08:52:04Z,,seanh
2901,Language Dropdown bug in footer with IE7,ckan,,demo phase 5,enhancement,,new,2012-09-04T10:31:14Z,2012-09-04T10:31:14Z,"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).",johnmartin
2964,Last organization admin can remove herself,ckan,,ckan 2.0,defect,,new,2012-10-15T10:14:18Z,2012-10-15T10:14:18Z,"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.",seanh
1336,License fudge,ckan,,ckan-backlog,defect,johnglover,new,2011-09-13T11:07:37Z,2011-12-06T12:04:33Z,"cset:4b59ab34137d ckan/logic/action/get.py:
{{{
- isopen = model.Package.get_license_register()[license_id].isopen()
- result_dict['isopen'] = isopen
+ try:
+ isopen = model.Package.get_license_register()[license_id].isopen()
+ result_dict['isopen'] = isopen
+ except KeyError:
+ # TODO: create a log message this error?
+ result_dict['isopen'] = False
}}}
This change hides problems with the license server and returns potentially incorrect values for openness.
This has been noted as 'temporary fix' but seems to be forgotten about, since it has been merged to default and gone into release 1.4.3.
I suggest the licenses are cached (I thought this was already the case when CKAN first requests them after start-up?). I suggest failure would return 503.",dread
2708,limit extra data for package/group show,ckan,,ckan-v1.9,enhancement,kindly,new,2012-07-18T14:40:20Z,2012-07-18T14:40:20Z," context['package_limits'] = { 'tags': 5, <- get first 5
'extras': 0, <- get all
}
only get what you ask for have to be explicit
context['group_limits'] = {} only main item
start with datasets/groups expand if we like it",toby
2324,Link API docs to relevant version not just latest,ckan,,ckan-v1.9,enhancement,,new,2012-04-25T10:58:52Z,2012-08-17T10:30:11Z,"The link to the API docs in the footer always points to the latests docs, which may not be correct for the particular CKAN version.
Also, remove the 'API' link (to /api/1) as pointless and misleading",amercader
2328,"Link to Catalog API for each Dataset, Group and Tag",ckan,,ckan-v1.9,enhancement,,new,2012-04-26T12:15:01Z,2012-06-25T11:38:51Z,At the moment no way for a normal user to find JSON versions of this material. Would it be worth adding back a link somewhere on the page?,rgrp
1689,List deleted datasets in API,ckan,,,enhancement,kindly,assigned,2012-01-20T12:23:34Z,2012-06-20T11:00:40Z,"The admin extension allows deleted datasets to be viewed, but there is no equivalent in the API. The package_list API call filters to just 'state=active' datasets.
'state' could be a parameter on the package_list call
* Easy to call and implement
* But getting permissions right for the different state values may not be easy - maybe a separate logic function is better?
",dread
2833,Load module templates before calling .initialize(),ckan,,demo phase 5,enhancement,,new,2012-08-09T17:05:39Z,2012-08-09T17:05:39Z,"I think this would be a nice feature for remote loading templates if the options.template value ends in "".html"".
{{{
ckan.module('my-module', {
options: {
template: 'my-template.html'
},
initialize: function () {
this.template // This is the loaded template.
}
});
}}}",aron.carroll
3018,Load more in activity streams,ckan,,ckan 2.0,enhancement,johnmartin,new,2012-11-14T13:34:11Z,2012-12-10T12:02:30Z,Activity streams should be able to load more than 15 items within them. Suggest the default amount of loading is around 30 and then click to load more.,johnmartin
2284,Local queries/views/viz in Related stuff.,ckan,,ckan-backlog,enhancement,,assigned,2012-04-12T08:18:20Z,2012-09-03T10:51:53Z,"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 ...
",ross
2884,Lock icon shown next to unknown licenses,ckan,,ckan-v1.8.1,defect,,new,2012-08-21T16:01:13Z,2012-08-21T16:01:13Z,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?,seanh
2282,log api calls for users,ckan,,ckan-future,enhancement,toby,new,2012-04-10T16:18:45Z,2012-05-28T13:13:49Z,"This was part of #2251 but is now it's own ticket.
we need clarity on this. The use cases so far have been possible limiting api calls for users.
so we want to monitor the user or ip address
what about the api calls?
do we want to record all calls or just some? do we want to record the type of call and to what level of detail?
recording the url just seems to specific to me.",toby
2790,logic.action.user_show is slow,ckan,,demo phase 4,enhancement,kindly,new,2012-08-01T20:21:23Z,2012-08-15T09:42:14Z,"This is a very slow call it would benefit from the sort of speed-ups that package-search received
for me locally this is taking 6 seconds for rufus using the datahub data I have. I think a lot of this is the dataset retrival/dictization
can we just grab json blobs from solr?
also is it possible to specify a sort order/paging?
I've put this as a demo-theme ticket as it is an big issue on the demo we are at 25 second page loads - which i can get down to about 8.8 secs so this is the main pain point now",toby
2622,Login fails in Opera 12,ckan,,,defect,,new,2012-06-28T16:56:42Z,2012-06-28T16:56:42Z,"Try to login to CKAN using Opera 12, get ""Login failed. Bad username or password. (Or if using OpenID, it hasn't been associated with a user account.)""",seanh
1831,Login with email address,ckan,,ckan-backlog,enhancement,,assigned,2012-02-24T08:58:26Z,2012-09-03T11:08:24Z,"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.",ross
3021,Logout doesn't work without JS,ckan,,,enhancement,johnmartin,accepted,2012-11-20T11:19:10Z,2012-11-20T11:46:08Z,"Essentially, the functionality should be as follows:
- Add logout link that has `.js-hide` attached to it within the header that isn't hidden within a dropdown
See http://plus.google.com/ (when logged in) with and without JS to see an example of the actual sign-out working without JS",johnmartin
2430,Look into marking tickets as dependent on other tickets in trac,ckan,,ckan-v1.9,enhancement,seanh,accepted,2012-05-25T11:58:06Z,2012-07-02T13:05:46Z,,seanh
2898,Looses data entered on step 1 of create dataset after login,ckan,,demo phase 5,defect,,new,2012-08-30T13:08:14Z,2012-08-30T13:08:40Z,"To reproduce:
1. Enter details for new dataset without being logged in
2. Hit login page for just before step 2
3. Once logged in you end up back at the empty add dataset form (instead of expected 2nd step of dataset edit)",johnmartin
2516,Make 'Assign to:' field on trac.ckan.org into a dropdown list,ckan,,ckan-v1.9,enhancement,seanh,accepted,2012-06-13T09:07:22Z,2012-07-02T13:13:42Z,there's a setting for this,seanh
1748,Make activity streams conform to http://activitystrea.ms/ standard,ckan,,ckan-future,enhancement,seanh,new,2012-02-05T14:06:24Z,2012-05-28T11:25:37Z,"At the very least we should make our JSON output conform to their spec:
http://activitystrea.ms/",seanh
2473,Make datstorer store field ordering in _meta field,ckan,,ckan-v1.9,enhancement,kindly,assigned,2012-05-29T12:11:32Z,2012-06-25T15:07:51Z,"Recline views should have a default table order, being the same as the csv that was imported.",kindly
2508,Make it possible to run CKAN tests for each language,ckan,,ckan-backlog,enhancement,,new,2012-06-11T10:42:15Z,2012-06-15T14:32:51Z,"Mistakes in translated strings can cause CKAN to crash or otherwise not work, but it's not practical to manually test every page and function of CKAN in every language that we have new translations for before a CKAN release. It'd be great if the tests could automatically be run for each language.
This is probably a big job, we would have to get the tests to respect a language setting in the ini file, check for any individual test cases that specify the language (e.g. in the URL), and also fix test cases that look for specific English words in HTML output, etc.
In the meantime, a good stop-gap solution might be a script that tests for common mistakes in the po files.",seanh
2986,Make lib/base.py more like it was originally intended,ckan,,ckan 2.0,refactor,,new,2012-10-15T10:50:45Z,2012-10-15T10:50:45Z,"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
",seanh
2985,Make lib/helpers.py more template-specific,ckan,,ckan 2.0,refactor,,new,2012-10-15T10:49:48Z,2012-10-15T10:49:48Z,"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
",seanh
2583,make sure that we implement authentication where needed,ckan,,demo phase 5,enhancement,toby,new,2012-06-22T10:04:38Z,2012-07-12T09:44:34Z,in development many auth checks may have been lost we need to check they are still working etc,toby
2698,markdown preview,ckan,,demo phase 4,enhancement,toby,assigned,2012-07-18T14:01:25Z,2012-08-09T20:14:12Z,for description / other fields with markdown support,shevski
737,Markdown syntax summary page,ckan,,ckan-backlog,enhancement,,new,2010-10-22T16:59:09Z,2011-12-06T11:17:19Z,"I suggest we produce a quick Markdown cheat-sheet page, showing the key runes: e.g. create a title and quote some text. This page can link to the full Markdown docs for advanced users.
A user going to the Markdown docs that we link will have to read a couple of pages of the raison-d'etre of Markdown before he gets to the syntax. And it's not very easy to read, and being white on black it looks like proper geek stuff.
",dread
2479,Meanings of Author and Maintainer fields are unclear,ckan,,ckan-v1.9,enhancement,,new,2012-05-31T08:28:18Z,2012-06-15T14:38:35Z,"CKAN's default schema has fields for Author ('The name of the main contact, for enquiries about this particular dataset') and 'Maintainer ('another important contact person'). The distinction is not clear. Also the fields are often left blank.
The roles that seems most important are those of the original owner/publisher of the data, and the person maintaining the CKAN record/copy of it. So I suggest:
(1) Rename the fields 'Owner' and 'Maintainer'.
(2) Change the explanatory text for the relevant fields:
Owner: 'The person or organisation who create/collect/publish the data in this dataset.'
Owner e-mail: 'E-mail address for enquiries to the Owner named above.'
Maintainer: 'The person maintaining this dataset on [name of CKAN instance], if different from the above.'
Maintainer e-mail: 'E-mail address for enquiries to the Maintainer named above.'
(3) When a logged-in user creates a new dataset, the main form should have a checkbox, checked by default, marked 'I am the maintainer of this dataset'. If checked, the Maintainer name and e-mail fields are populated from the user's profile.
",markw
1572,Meta data Harvester,ckan,,ckan-future,enhancement,David Raznik,new,2011-12-19T11:35:09Z,2011-12-19T11:35:09Z,Need to write custom harvesters for each client. Is it worth having one for data hub?,jilly mathews
1606,metadata license config option,ckan,,ckan-backlog,enhancement,,new,2012-01-02T10:45:30Z,2012-06-15T15:26:21Z,"Add a config option to choose the metadata licence. Set default to Open Database License.
Currently the dataset edit form says ""Important: By submitting content, you agree to release your contributions under the Open Database License."" This is hard-coded, but not suitable for when DGU uses the CKAN form - they use the OGL.",dread
1507,Minor fixes to dataset add on Group edit form - 0.5d,ckan,,ckan-backlog,enhancement,zephod,assigned,2011-12-05T12:33:49Z,2012-05-28T11:40:20Z,"Group edit dataset add form needs some work
* Dataset name is not cleared when you add
* No way to remove item from list of datasets to be added if I make a mistake
* (2nd Apr 2012) It now seems that option to add multiple datasets at once has disappeared (perhaps during the CSS/HTML refactor ...)
",rgrp
1509,Mis-dated old revisions of datasets,ckan,,,defect,,assigned,2011-12-05T13:06:38Z,2012-06-20T11:13:34Z,"e.g. http://thedatahub.org/dataset/osm%402011-07-12T12%3A16%3A47.590358 gives:
{{{
This is the current revision of this dataset, as edited at 2011-07-12 12:16.
}}}
but it should say the date 2011-07-12 (which is the data being displayed).
The problem is looking at PackageRevision, when it might be a tag or extra.",dread
1311,Modal user register and login form,ckan,,ckan-backlog,enhancement,rgrp,new,2011-09-06T08:20:27Z,2011-09-06T08:20:27Z,"Subticket of: #1294
Rather than having to visit a dedicated page it would be good if registration and login could be done from a modal form (separate or combined ...).
== Why ==
* It could be used from dataset creation page in situations where user needs to be registered / logged in to create a dataset (so we could allow someone to start creating a dataset and only get them to login at the end ...)
* It allows for quicker and easier logging in
== Implementation ==
* See Friedrich's work on the datahub",rgrp
2784,model dictize sensitive data,ckan,,,defect,icmurray,new,2012-08-01T09:51:25Z,2012-08-01T09:51:25Z,The model dictize layer doesn't consistently remove sensitive data from the dictized models. It should use the current context to decide whether to include sensitive data or not.,icmurray
1203,"Moderated edits: html code shows as ""changed"" although it is not",ckan,,ckan-backlog,defect,johnglover,new,2011-06-28T15:29:30Z,2011-08-15T09:46:19Z,"I've installed the Moderated Edits extension (ckanext-moderatededits) and am editing a package imported from IATIregistry.org, with an extra field which contains a bit of HTML.
The editor indicates the field has changed, although the content hasn't (see screenshot). All I can find so far is a minor difference: in the field content, there is a code — and in the rendered table that is an —",rolf
2412,More than one resource invalidatiing breaks dataset edit form,ckan,,ckan-sprint-2012-06-25,defect,zephod,assigned,2012-05-22T20:05:48Z,2012-05-28T11:07:14Z,"When attempting to add more than one resource at once, if more than one resource invalidates, this results in a js error, leaving the form in an inconsistent state.
Repro:
1. Go to /dataset/new
2. Add a new resource. Fill in one of the fields with an invalid value. eg - last_modified, or size...
3. Add another resource, doing the same thing: make one of the fields invalid.
4. Try to save the dataset.
5. The entered resource information will be lost, and a js error ""Uncaught Error: Can't add the same model to a set twice,: backbone.js:586"" will be thrown.",icmurray
143,Most active users listed on homepage,ckan,,ckan-backlog,enhancement,thejimmyg,assigned,2009-10-08T13:59:33Z,2011-08-03T11:53:01Z,Display league of users' recent activity on homepage.,dread
1750,Move ckan/lib/activity.py into the model,ckan,,ckan-backlog,enhancement,,new,2012-02-05T18:18:08Z,2012-06-15T15:24:00Z,"Move ckan/lib/activity.py moved to into the model - say ckan/model/activity_extension.py, because it's so tightly knit with the model code, whereas most of the lib code is used in the controllers.",seanh
2982,Move functionality from controllers into template helpers,ckan,,ckan 2.0,refactor,,new,2012-10-15T10:46:42Z,2012-10-15T10:46:42Z,"From Toby: strip more functionality from controllers and add via template helpers
eg activity streams
",seanh
2336,Move Jenkins' install script into ckan core so it can be versioned,ckan,,ckanbuild,enhancement,seanh,accepted,2012-04-30T13:35:14Z,2012-06-25T15:53:57Z,,seanh
2973,Move new_authz.py into logic/auth/__init__.py,ckan,,ckan 2.0,enhancement,,new,2012-10-15T10:39:05Z,2012-10-15T10:39:05Z,"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",seanh
2579,move sort_by functions into lib.helpers,ckan,,ckan-v1.9,enhancement,toby,new,2012-06-21T12:29:58Z,2012-06-28T16:02:17Z,"make these more available but keep existing functionality so not to break any users
remove_field()
drill_down_url()
etc",toby
1077,Move to simpler vdm system,ckan,,ckan-backlog,enhancement,kindly,new,2011-04-08T23:14:24Z,2012-06-18T15:45:45Z,"== Option 1: 'Changeset' Model ==
See ticket:1135 for vdm ticket. This would involve a) moving to changeset in vdm b) doing the migration in ckan to support this.
Have developed a new ""changeset"" based model for revisioning in vdm.
=== Implementation ===
* The main challenge with this change is schema and data migration
Every revisioned object has a revision_id and revision attribute.
Approximate algorithm:
{{{
Revision -> Changeset
for revtype in [PackageRevision, ...]:
for pkgrev in package_revision:
changeset = lookupchangeset(package_revision)
ChangeObject(cset, (table, id), dictize(pkgrev))
}}}
Question:
* does pkg include tags attributes or not? or we have to dictize, pkgrev, pkg2tagrev, and tag. Probably the latter.
== Option 2: Simplify Revision Object Model ==
Just use a simpler vdm, see ticket:1136 (move to !SessionExtension) and ticket:1137 (remove need for statefulness in vdm).
== Discussion ==
Advantage of Option 1 versus 2:
* Easier support for pending state and similar behaviour
* No need to introduce new tables (and hence migrations) when making something revisioned (or not).
=== Disadvantages ===
* Migration is required
* More difficult to query revision history.
* Could be addressed by having !ChangeObject have separate cols for table name and id but would likely be more difficult.
* Performance (?)
* Have one big !ChangeObject table to query when looking at changed objects rather than many revision tables.
* Not sure this is a biggie as even with Revision model biggest revision object tables are probably on the order of the !ChangeObject table
== Conclusion ==
Implement Option 2 and leave Option 1 for present.
Option 1 includes Option 2 so it seems that that is required in either case (so we may as well with Option 2).
Option 1 requires significant effort (esp migration) so leave for present and then review the situation at some later date.",rgrp
3001,Multilingual plugin crashes CKAN on add dataset when some languages are default,ckan,,ckan 2.0,defect,,new,2012-10-18T16:50:48Z,2012-10-18T16:50:48Z,"Enable the multilingual plugins:
ckan.plugins = stats synchronous_search multilingual_dataset multilingual_group multilingual_tag
and set your default language to one not supported by the multilingual plugin, e.g.
ckan.locale_default = cs_CZ
now run CKAN and try to add a dataset:
File '/home/seanh/Projects/ckan171/ckan/ckanext/multilingual/plugin.py', line 141 in before_index
text_field_items['text_' + default_lang].extend(all_terms)
KeyError: 'text_cs_CZ'
It doesn't matter what language you are viewing the site in in your browser, the default language setting in the ini file determines whether it crashed or not.
A number of supported languages are defined at the top of ckanext/multilingual/plugin.py. I think if the default language is not one of these it crashes.
I think this affects all versions of CKAN since the multilingual plugin was added so at least 1.7, 1.8 and 2.0",seanh
2763,Multilingual tests failing,ckan,,ckan-v1.8.1,defect,,new,2012-07-26T11:56:59Z,2012-10-15T12:24:24Z,"test_multilingual_plugin.TestDatasetTermTranslation.test_dataset_index_translation, test_multilingual_plugin.TestDatasetTermTranslation.test_group_read_translation both failing for me on master",seanh
1287,NAVL validation errors - Junk fields should be listed explicitly,ckan,,ckan-backlog,enhancement,thejimmyg,assigned,2011-08-24T16:25:02Z,2012-03-05T23:34:19Z,"When you create a package, but specify a key that is not allowed (e.g. 'relationships') then you get error message:
{{{
{""__junk"": [""The input field __junk was not expected.""]}
}}}
It should mention the actual key which is not expected. e.g.
{{{
{""relationships"": [""The input field 'relationships' was not expected.""]}
}}}
Kindly said that James' version of NAVL was better in this respect, so this might be best solved by moving to that.",dread
2796,Need a datahub one-pager,ckan,,,enhancement,mark.wainwright,new,2012-08-02T16:28:36Z,2012-08-16T15:04:55Z,"A one-pager explaining what the datahub is and with howto/examples for new users. This would make it much easier to explain the value in using the datahub for storing data.
",ross
2830,Need method to undelete groups,ckan,,demo phase 4,enhancement,toby,new,2012-08-09T10:50:08Z,2012-08-09T21:22:21Z,need controller action and front-end method,toby
1466,Need to support https login for multiple instances as part of the CKAN package install,ckan,,ckan-backlog,enhancement,,new,2011-11-15T16:52:58Z,2012-02-06T11:51:02Z,,thejimmyg
2948,Negative range breaks datastore backend,ckan,,,enhancement,,new,2012-10-01T14:30:54Z,2012-10-01T14:31:05Z,Recline allows negative ranges. The backend returns an error 500 for that which breaks the recline preview.,dominik
2957,New datastore on postgres prior to 9.0,ckan,,,task,,new,2012-10-03T19:23:34Z,2012-10-03T19:23:34Z,The ``GRANT SELECT ON ALL`` and ``ALTER DEFAULT PRIVILEGES`` are not available in Postgres prior to version 9.0. ,dominik
2732,New file upload functionality,ckan,,ckan-backlog,enhancement,,assigned,2012-07-23T15:53:09Z,2012-09-03T09:07:50Z,"We should simplify upload and storage of files, initially only to local storage with archiver eventually being fixed to archive data externally. WIP pad is http://ckan.okfnpad.org/uploads
'''Simplifying uploads'''
Currently uploads are too painful/difficult/fiddly to use and/or configure. We want to simplify uploads so that they are done directly to the CKAN server, without support for remote services (S3 etc) and/or the dependencies it introduces.
We want to fix:
* File uploads themselves
* Storage of uploaded files
* Notification of the upload to other components
'''File uploads'''
Things file upload should do:
* Allow sysadmin to disable
* Allow auth'ed users to upload
* Store whatever they send on disk, and store DB entry linking the file to the person
* When creating the resource, the user should be able to choose from all of the files
they have uploaded but not yet associated with a resource. This will allow for bulk
upload and then a delayed association. Whenver a user creates a resource they
either upload a file now, or see previously uploaded files.
{{{
Can we do the upload asynchronously and then associate the
uploaded key with the resource before the save ? What happens
if the user tries to submit before asymc upload finishes ? Should
we delay them?
}}}
The upload workflow should look like...
1. File upload should be a straightforward file upload with normal auth checks and normal processing of the posted data.
2.
a. When called via ajax then the ID of the newly created file should be returned,
b. When called via WUI then it should also be given the url to redirect to after the file upload has been handled - the id will be passed as a query param.
3. The resource save should check whether it has a file id and in that case updates the file object to point to the resource.
This should enable:
* Separate file upload into a user's temporary store, either individually or as a batch.
* Creating resources and simply choosing from previously uploaded, unassigned files
* Adding files/data to a resource after the fact.
'''File storage'''
File storage should be local to the CKAN install, and not a remote service. Any archiving to remove storage providers should be outside of the main request.
File storage should:
* allow moving data, a sysadmin should be able to move the storage root and change configuration and have the system continue running (i.e. don't store absolute paths).
* provide maintainability, it should be easy to determine which old files are not associated with resources and thus can be cleaned up.
* allow for collection of information (i.e. estimate of storate space used)
* check whether there is enough space and handling the conequences cleanly
* ensure files to be written only underneath its own root folder, checks should be made after any path generation that the file begins with the location of the file storage.
* Have a configurable maximum accepted blob size during upload.
* Should store what meta-data was provided with the upload, such as mimetype.
Somewhere in the DB we should store ...
||'''Column'''||'''Notes'''||
||id||An identifier||
||owner||The owning user, who uploaded the file||
||path||The path (from the 'storage root') to the file||
||size||The size in bytes of the file on disk||
||mimetype||The mimetype of the file, as provided by the uploader||
||upload_date||When the data was uploaded||
||resource||The ID of the resource it belongs to. A unidirectional relationship.||
||archived_url||The URL where this file has been archived||
Generating paths should try and separate the files, perhaps based on username of the owner, or some other mechanism to avoid a single folder full of files.
'''Notifications'''
We need to make sure that it is possible to notify other components within the system that an upload has taken place, or at least make it easy for them to be notified. The primary use case for this is to notify the component that will translate/upload certain formats to the data store.
We could do this based on the post-upload update to the file model (i.e. when we record the total received size of the file).
",ross
3023,New methods on IPackageController to provide access to the data_dict,ckan,,,enhancement,amercader,new,2012-11-22T17:00:57Z,2012-11-22T17:00:57Z,Extension hooking into the edit and create methods of the IPackageController interface receive the package object. This may not include all the fields that came from the form. The new extension points will pass the validated data_dict so extensions can have access to it,amercader
3003,New pg databases should be created with UTF8 encoding rather than system default,ckan,,ckan-v1.8,enhancement,,new,2012-10-19T09:33:19Z,2012-10-19T09:33:19Z,"Just to track @tauberer patch on Github.
Probably going to 1.8.1",amercader
3017,New stable branch for the demo server,ckan,,ckan 2.0,enhancement,johnglover,new,2012-11-13T15:04:48Z,2012-11-13T15:04:48Z,,johnglover
2531,New state option: archived / deprecated,ckan,,ckan-backlog,enhancement,,new,2012-06-15T08:59:47Z,2012-06-15T14:30:49Z,"Deleted means things will get purged at some point.
Archived means they stay around but get hidden from search results and a big warning notice gets displayed saying this is archived / deprecated.
@richard cyganiak ...",rgrp
140,News section on front page,ckan,,ckan-backlog,enhancement,,new,2009-10-07T08:02:21Z,2010-02-08T10:32:39Z,"Have a news section (suggest as a sidebar item).
News section will link to latest 3/4 blog posts on CKAN from blog.okfn.org.
Details:
* Suggest pulling via rss or similar.
* Will want to cache this ...
Cost: 4h?",rgrp
2857,no UI to follow another user although option on dashboard,ckan,,demo phase 4,defect,toby,new,2012-08-15T16:59:43Z,2012-08-16T08:51:37Z,"e.g. second option in left hand sidebar is follow another user' http://s031.okserver.org:2375/user/dashboard but if you click on that and then any user, there's no follow button
to me the dashboard user stuff is highly unfinished and probably should not be included unless someone is very keen for it",shevski
2854,no way to see which dataset an app is related to on /apps page,ckan,,demo phase 5,enhancement,,new,2012-08-15T16:38:48Z,2012-08-15T16:38:48Z,e.g. from http://s031.okserver.org:2375/apps?page=1 you cannot edit a related item as an admin or view what dataset the item is related to,shevski
2863,non-admin users can edit other's draft datasets,ckan,,demo phase 4,defect,toby,new,2012-08-16T10:54:39Z,2012-08-17T11:05:02Z,edit button shows up for daniel lewis for http://s031.okserver.org:2375/dataset/ff ,shevski
2635,Non-destructive SOLR reindex,ckan,,,enhancement,,new,2012-07-09T10:23:14Z,2012-07-09T10:23:14Z,"You can't run the search-index reindex on a live server because it will give us bad results for 2 to 3 hours while it runs. Can there be an option that doesn't delete the entire index at the start?
Instead it could just delete any items that don't exist any more, then delete them and regenerate them one by one. So the total number of datasets doesn't change much.",dread
2483,Non-local resources should not have Download links,ckan,,ckan-v1.9,enhancement,,new,2012-05-31T12:52:14Z,2012-06-15T14:37:23Z,"At present, a resource which is just a URL link to an external resource has a 'Download' button on the resource page. This gives the misleading impression that the resource is stored locally.
This is related to another small UI issue: I think the URL of a resource should be much more prominent, not buried in the 'Additional Information' table.
Suggested fix:
* Put the URL prominently at the top of the resource page (above the preview) (and make it link to the resource)
* Disable the Download button unless the resource is stored locally.
",markw
2768,normalise excel to xls,ckan,,demo phase 5,enhancement,toby,new,2012-07-26T16:16:22Z,2012-08-07T15:01:03Z,so that data proxy works,shevski
2416,Normalise resource/data types,ckan,,demo phase 5,enhancement,toby,accepted,2012-05-23T17:09:06Z,2012-07-18T13:23:22Z,"Currently we have far too many types that are essentially the same format. The new demo theme is using icons for common types. So we need to normalise the common formats into pretty strings. e.g. application/json, JSON, .json and json all should be output as “json”
See the following Basecamp thread for UI examples and discussion.
https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/61906351/comments#comment_179681056",aron.carroll
1244,Notes field carriage-returns converted to CRLF,ckan,,,enhancement,,assigned,2011-07-26T14:10:56Z,2012-06-20T11:20:53Z,"When you edit a package in the web form, if the notes field had {{{\n}}} as the End Of Line symbol, it gets lost when you preview or save the package, and the notes field is displayed all on one line.
This can be seen when editing annakarenina (as created by 'paster create-test-data'). The diff shows for example:
{{{
- Some test notes
+ Some test notes
? +
}}}
but it would more clearly be shown as:
{{{
- Some test notes\n
+ Some test notes
? ++
}}}
This is a significant problem with DGU, since a lot comes in via the API.
It's not clear what we should do about it. We could standardise on \n or \r\n when the form submission comes in. Do different browsers on different platforms do different things with EOLs?
== Analysis ==
Displaying the package: the Markdown processor respects both EOLs when displaying the field, putting each line in a tag.
Creating the package edit form: placed into .
Browser displaying package edit form: displays \n and \r\n as EOL. But \n\n gets compressed to one EOL. But on submission, both are returned as \r\n.
Receiving the edited package: Somewhere along the line the EOL gets converted to \n\n.
",dread
2548,Object ownership for groups/package,ckan,,datahub-july,enhancement,kindly,assigned,2012-06-18T11:02:11Z,2012-06-26T10:28:59Z,"
== Requirements ==
We need to be able to easily determine who the owner of a dataset or group is. Datasets and Groups should have an Owner, who may change over time but is a specific user within the CKAN instance. It should be easy for CKAN components to determine the user and for the initial version we should ignore the can of worms labelled 'ownership transfer'.
At this point migration is likely to be the biggest issue, and would suggest that it is acceptable that the last user to edit a dataset be set as the current owner.
More tickets should arise as a result of this work where we may be able to optimise some queries to use the new feature.
== Interface ==
None
== User Stories ==
None
== Tasks ==
[ ] Analysis/Clarification
[ ] Tests
[ ] Migration
[ ] Code/Schema changes
[ ] Documentation
== Estimates ==
",ross
2547,ODS Initial data sets,ckan,,opendatasuite 2,enhancement,shevski,assigned,2012-06-18T10:55:06Z,2012-06-26T10:13:34Z,"
== Requirements ==
The ODS demo site will need data adding, initially as fixtures but it would also be useful if we started evaluating datasets that we can ship with ODS installations (at least in the UK) from places such as DGU and ONS.
May wish to create a ticket for making sure the datasets within the system are reset every X hours. Perhaps.
== Interface ==
None
== User Stories ==
* As a new system administrator for an ODS instance, I don't want to have a site devoid of any data. Geographically relevant datasets would be welcomed.
* As a bizdev person I would like to be able to demonstrate how ODS works with real datasets.
== Tasks ==
[ ] Identify relevant sources for datasets
[ ] Pick datasets
[ ] Set them up for import
== Estimates ==
",ross
2546,ODS Managing homepage content,ckan,,ckan-backlog,requirement,,assigned,2012-06-18T10:54:02Z,2012-09-03T09:10:37Z,"
== Requirements ==
Require the ability for users to control some level of content that is visible on the home page of their ODS installation. This may be through RSS/Atom feeds (see #2234) or another mechanism but should result in admins being able to change blocks of text on their homepage.
This should not be configuration, but accessible through WUI.
== Interface ==
None
== User Stories ==
* As a system administrator I want to have control over content displayed on the front page beyond featured/popular items.
* As a system administrator I don't want to manage content through having to write an extension.
== Tasks ==
[ ] Analysis
== Estimates ==
",ross
2619,Omit private datasets from public activity streams,ckan,,ckan-v1.9,enhancement,seanh,assigned,2012-06-28T11:49:00Z,2012-10-29T17:18:57Z,"Activities about private datasets should not appear in public activity streams.
I don't think you want to actually purge the activities from the db, because you might still want them to appear in private activity streams.
I do think that when a dataset goes private all its past activity should go private, because I imagine that users are going to want to hide everything about the dataset and not have any past activities 'leaking out'
I don't think you want to consider whether the dataset was private when the activity happened, rather if a dataset is private now then all its past activities are private (and the simplest thing would be to say that if a dataset is public now then all its past activities become public as well, but is that a privacy concern?)
The easiest way to implement this is going to be by modifying the *_activity_list() action functions in get.py, after they pull their activity lists out of the db they should pass them through a function that filters out stuff about private datasets.
An activity about a private dataset is one whose object_type is 'dataset' and whose object_id matches the id of a private dataset. You should also check the object_type and object_id of all of the activity object's activity detail objects, if any of those match a private dataset then mark the whole activity as private.
Currently all activity streams are public so should have all private datasets filtered out from them, except for the dashboard activity stream which is private to the individual user. In this case private datasets that the user has permission to see should not be filtered.",seanh
1424,Openness notice should be clearer,ckan,,ckan-backlog,enhancement,,new,2011-10-26T16:54:49Z,2011-10-26T16:54:49Z,"ckan-discuss discussion suggests changes to the 'openness' indicator
( http://lists.okfn.org/pipermail/ckan-discuss/2011-October/001786.html )
Dataset view page:
* If there is an explicit but non-OKD compliant license, such as CC-BY-NC, then this should be stated explicitly, perhaps: “This dataset is Not Open. License: Creative Commons Attribution Noncommerical. This is not an open license as it does not meet the Open Knowledge Definition.”
* If the license is marked as “Other::License Not Specified”, then this should be stated explicitly, perhaps:
“This dataset is Not Open. It is published without an explicit license, the publisher reserves all rights to the dataset.”
* 3. If the license field was left empty by the contributor of the Data Hub record, then again this should be stated explicitly, perhaps: “This dataset is Not Open. The license of this dataset is unknown or unspecified. Start an enquiry on IsItOpenData »
* There is a bug so that non-open licenses doesn't have an openness notice.
* If downloadable resources are not available, this should not affect 'openness' - check this has been removed.",dread
1644,Order default dataset page by most downloaded resources on thedatahub,ckan,,ckan-backlog,enhancement,,new,2012-01-12T18:39:02Z,2012-01-12T18:39:02Z,"Instead of alphabetically as we do currently, alternatively by most viewed datasets
for http://thedatahub.org/dataset",shevski
2917,Organization admins can delete themselves,ckan,,ckan 2.0,enhancement,johnmartin,new,2012-09-12T12:10:43Z,2012-09-12T13:13:56Z,Organization administrators can delete themselves from the user management pages. We should disable this on the front-end as well as the back-end.,ross
2970,Organization and group member links use id not name,ckan,,ckan 2.0,defect,,new,2012-10-15T10:22:11Z,2012-10-15T10:22:11Z,e.g. it the 'Members' button links to /organization/members/0a44... instead of /organization/members/foobar,seanh
2967,Organization members edit page reloads after demoting self,ckan,,ckan 2.0,defect,,new,2012-10-15T10:17:07Z,2012-10-15T10:17:07Z,"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.",seanh
2846,Organizations allows you to set an organization as the parent organization of itself,ckan,,ckan-v1.8.1,defect,,new,2012-08-13T12:22:16Z,2012-10-15T12:24:04Z,that doesn't make any sense,seanh
2939,Orgs are groups,ckan,,,enhancement,toby,new,2012-09-25T09:07:14Z,2012-09-25T09:07:14Z,holder for ticket number,toby
301,Package discussion pages,ckan,,,enhancement,,assigned,2010-04-26T16:57:13Z,2012-06-25T13:47:35Z,"A package discussion page is like a wikipedia discussion page: an editable free text page for people to have discussion/post comments about a given package.
It provides a way for people to make suggestions about a package without needing access to main package.",rgrp
812,Package edit form only allows three extra fields,ckan,,ckan-backlog,defect,,new,2010-11-17T11:56:50Z,2011-07-20T15:48:37Z,"= Rationale =
The package edit form is restricted to three extra fields. To enter more than three fields, one has to save the package and hit edit again (or hit preview).
= Implementation =
A mechanism similar to the one for resources (where you can add lines as you go) would solve this. So, have a button that adds more extra field rows via JS. (Extra fields don't need up/down buttons that the Resource table has)
Nice to have: a blank field is added when you tab from the last filled-in field in the table.",cygri
1288,Package edit/creation can't include 'relationships' field,ckan,,ckan-backlog,defect,,new,2011-08-24T16:34:55Z,2012-06-15T15:28:18Z,"When you create or edit a package (via the API), you aren't able to specify the relationships it has. (If you do you get 409 {{{ {""__junk"": [""The input field __junk was not expected.""]} }}})
The normal way to create relationships is via /api/rest/relationships/ and this works. But when you GET a package, the dictionary lists all relationship details. So this bug creates a problem for editing a package that has relationships - you want to GET it, make any edits and then PUT it back. The work-around is to delete the 'relationships' key from the dict before you PUT it back.
== Options ==
Ideally, CKAN would read the 'relationships' key and make the necessary changes. This is a chunk of work.
Another good option is to allow an unchanged 'relationships' value, but barf it is edited. This is also a chunk of work.
A bad option would be to just ignore the 'relationships' value, since users will get frustrated changing this value and wonder why it never saves, not understanding it is different to all the rest, without error message.
A final option is to get rid of relationships altogether.",dread
1355,Package extras property does not include the newly created ones,ckan,,ckan-backlog,defect,,new,2011-09-26T10:48:46Z,2012-06-15T15:27:36Z,"The extras in the package object sent to the extensions after editing (https://bitbucket.org/okfn/ckan/src/01efd5649c10/ckan/logic/action/update.py#cl-226) do not include the newly added.
",amercader
253,Package relationships,ckan,,ckan-backlog,enhancement,,assigned,2010-02-22T16:05:21Z,2012-06-15T15:38:46Z,"= Overview =
Functionality to formally associate packages. We see a need for specific parent-child, inheriting or dependency relations. Not only should this help navigation between packages in the web interface, but it also provides a mechanism to automatically pull dependencies when downloading a data package, in a similar manner as we see in software package management.
= Examples =
1. There are 27 packages in data.gov.uk to do with the Data4NR's Health Poverty Index. There is currently no common link between these, unless you search for 'HPI' (which also brings up House Price Index), or look under tag 'health' (which also has 600 other results). There should be a link on each HPI package page to navigate to the other 'sibling' HPI packages, and to a 'root' package that has info about the set. This could be partially achieved using the existing tag or group concepts, but a more explicit/official/obvious marking of their relationship could be beneficial.
2. In ckan.net is freedict, a collection of translation dictionaries. You could make each dictionary a child package and use this system. But it would probably be better to make each dictionary a different resource in the same package. (There are other ideas to denote a resource as the data making up a 'portion' of package, or a 'whole' of the package, to help people downloading datasets in the software package style.)
3. OSM has had some Naptan data imported (bus stops), with special permission - i.e. a more liberal license. It would be useful to show this link on both OSM and Naptan packages in CKAN: OSM 'derives from' Naptan with a comment about the license change. I'm not sure this is useful to an automatic download or use of these datasets, but may aid exploration on the CKAN website and understanding the provenance of the bus stop data on it.
4. IPCC collection of data linked / mirrored. Not sure if there are useful relationships here?
5. Dracos gets postbox locations from crowd sourcing and OSM. We could say Dracos 'derives from' OSM.
See more examples discussed here: http://trac.ckan.org/ticket/253
= Implementation =
This is split into four tickets:
* Model: ticket:254
* Read in WUI: ticket:255
* Edit in WUI: ticket:256
* API: ticket:257
No need for write access to be provided API for the moment.
This ticket also encompasses ticket:169 (Package derivations) and ticket:176 (Package dependencies).",dread
256,Package relationships - 3. Edit in WUI,ckan,,ckan-backlog,requirement,,assigned,2010-02-23T12:36:01Z,2012-06-15T15:38:34Z,"WUI:
* Editable as part of package or separately? (e.g. like authz)
* Do we normalize to only one type name of the pair?
* Do we allow create of relationship from both ends (e.g. only from dependency to dependent or either way?)
",dread
2573,package_search does not allow solr's per-field facet parameters,ckan,,ckan-future,enhancement,,new,2012-06-19T13:27:19Z,2012-06-25T14:05:01Z,"Solr allows its facet parameters to be specified on a per-field basis, eg. `facet.limit` applies to ''all'' facet fields, but solr allows it to be overriden for a specific field, eg. `facet.tags.limit`.
We don't support this at the moment because we have a whitelist of valid solr query parameters that we accept. See `ckan.lib.search.query.VALID_SOLR_PARAMETERS`.",icmurray
285,Paginate list of packages on tag read page,ckan,,,enhancement,,assigned,2010-04-07T18:23:26Z,2012-06-25T13:45:23Z,"Is this worth doing? On hmg.ckan.net start to have a lot of packages with a given tag ...
",rgrp
1317,password reset - improve user search,ckan,,ckan-backlog,defect,,assigned,2011-09-07T17:12:19Z,2012-06-20T11:20:21Z,"In password reset, it gets confused if you have two similar users. This is because with the string the user provides, it searches several fields, not just name but also fullname and email address, allowing you to search for these. But only name is unique.
Specific problem:
Ira searches for ""Irina"" then it finds both:
{{{}}}
(I think)
Maybe need to choose which field it searches?",dread
2745,Password reset returns an exception if the key parameter is missing,ckan,,ckan-v1.9,defect,,new,2012-07-24T16:05:31Z,2012-07-24T16:05:31Z,"Instead of showing a notice, the password reset page throws an exception if the key parameter is missing:
{{{
Module ckan.controllers.user:329 in perform_reset
c.reset_key = request.params.get('key')
if not mailer.verify_reset_link(user_obj, c.reset_key):
h.flash_error(_('Invalid reset key. Please try again.'))
abort(403)
if not mailer.verify_reset_link(user_obj, c.reset_key):
Module ckan.lib.mailer:100 in verify_reset_link
if not user.reset_key or len(user.reset_key) < 5:
return False
return key.strip() == user.reset_key
return key.strip() == user.reset_key
AttributeError: 'NoneType' object has no attribute 'strip'
}}}
Apart from the obvious fix of checking for the 'key' parameter, it seems like is quite common to get these reset urls without the key parameter, so I suspect some email clients might strip the query params when building the links. We could avoid this problem by making the key part of the url instead of a param:
http://thedatahub.org/en/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d/b4c2d03fa8
instead of:
http://thedatahub.org/en/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key=b4c2d03fa8
",amercader
2951,Paster command for building css from less,ckan,,ckan 2.0,enhancement,,new,2012-10-01T19:12:20Z,2012-10-02T10:50:30Z,"With the latest template, css and js changes in 2.0, there are a number of things that need preparation prior to a production deployment. One of these is:
- the less files should be compiled to css (main.css, not just main.debug.css)
This ticket is to provide a paster command which will compile the .less into the main.css file. The idea of the paster command is that it will be run by developers, and they will check in the resulting .css files. It will also provide a convenient mechanism for production scenarios with node.js installed on the production server, as they will be able to compile the .less there as well.
## Background
The .css files that need to be served are built using `less`. The css files that are generated *are* checked-in to the repo; but they are a build artifact. So the general workflow is:
- commit changes to the less files
- build the main.css file and commit
This paster command slots into the above workflow for convenience.
## Notes
- doc/frontend-development.rst
- bin/less
to run this paster command, `Node` will be required. So that dependency should be checked.
## The paster command
This is the proposed behaviour of the paster command:
- ensure `custom.less` does not exist
- for each colour in{fuchsia,green,maroon,red}:
- generate a `custom.less` file for $colour. There's a paster command that does this already: `paster color .
- generate the `css` from the `less` files. ie - the equivelant of running `bin/less --production`.
- this will generate a `main.css` file, which should be renamed to `$color.css`.
- ensure `custom.less` does not exist
- generate the `css` from the `less` files. This will create a `main.css` with the default colour scheme.
- call the paster command that minifies css and js files. (This command does not exist yet, see #2950)",icmurray
2395,paster db clean/init don't work when spatial extension enabled,ckan,,ckan-backlog,defect,,new,2012-05-16T09:16:33Z,2012-06-15T14:41:53Z,"If you have a spatial enabled database then if you don't disable the spatial extension in the CKAN config temporarily then you get errors when you run paster db clean and paster db init.
Can't you just modify the clean and init functions to run without extensions enabled?
The wider problem is that extensions do their own inits every time you do load_environment, which seems crazy and inefficient to me, since this occurs every time a request comes into CKAN. But that is another problem/ticket.",dread
2945,Pdf preview does not load in IE,ckan,,,enhancement,,new,2012-10-01T11:27:49Z,2012-10-01T11:27:49Z,The pdf preview does not load in IE 9.,dominik
3010,Pin images don't appear in data explorer,ckan,,ckan 2.0,enhancement,,new,2012-10-31T17:45:06Z,2012-10-31T17:45:06Z,"When minified files are in use (set debug = false in ini file) the pin images for points don't show up in the data explorer map view when viewing a resource with geolocation data.
set debug = true will fix the problem by using unminified files instead but also turns on a bunch of debug stuff you wouldn't want on a production site.
middleware.py, around line 73, is where the decision to turn minified files on or off based on the debug setting is made. This can be hacked on a production site to run with unminified files but otherwise run on production mode thereby getting around the issue with the pins. But that doesn't fix the underlying bug.",seanh
1535,Plump for auth header of: X-CKAN-API-KEY,ckan,,ckan-backlog,enhancement,,new,2011-12-07T17:31:22Z,2012-06-15T15:26:59Z,"When using the API, the apikey needs to be supplied in a header called 'Authorization'. Because some proxys / deployments use this header for other things, a configurable header was provided as an alternative, with default ""X-CKAN-API-KEY"".
Rufus suggests having *one* way for this.
a) making this not configurable any more
b) making X-CKAN-API-KEY the default
(keep Authorization allowed, but not documented, for backwards compatibility)",dread
2976,Polish group and organization member pages,ckan,,ckan 2.0,enhancement,,new,2012-10-15T10:41:49Z,2012-10-15T10:41:49Z,"From Toby: A little polish to the member pages and probably a little hardening of
the controller and logic actions",seanh
2995,"Popovers for resources, groups, organizations, tags...",ckan,,ckan 2.0,enhancement,,new,2012-10-17T14:27:21Z,2012-10-17T14:27:21Z,"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...",seanh
2766,prevent draft datasets making it to activity stream,ckan,,demo phase 4,enhancement,seanh,assigned,2012-07-26T16:06:35Z,2012-08-09T20:13:13Z,"The new ckan creates datasets as part of a 3 phase process. To allow for this partially created datasets can have a state that is 'draft' or 'draft-complete'. These datasets should not be seen as active by the activity stream.
If we click 'add dataset' and then complete the first phase of adding a dataset then we end up having a activity stream created. When we add a resource in the next phase (add data) again an activity stream item xxx added resource to dataset is created
We do not want these adding. Essentially if a dataset has a state.startswith('draft') then we want the activity stream to ignore all actions involving it.
finally when the state is changed form state.startswith('draft') to state=='active' we want a xxx has created dataset ... to be added to the stream.
The best way to do this would be to branch from 2375-demo-theme-stable and get it to work there.
Let me know if you need any help with this ticket or a better explanation of the problem.",shevski
2851,Preview of PDF tries to connect to datastore,ckan,,,enhancement,,new,2012-08-15T12:12:46Z,2012-08-15T12:12:46Z,"e.g. http://datahub.io/dataset/ccc-gistemp/resource/80ebdbd6-d91b-4fef-9db4-d3dfbd7e868e
CKAN attempts to render the PDF as a datastore tabular date even though the mimetype of the PDF is correctly specified.",ross
2961,Preview plugin endpoint,ckan,,ckan 2.0,enhancement,dominik,assigned,2012-10-08T11:39:27Z,2012-10-18T16:33:10Z,"Users could write ckan extensions that offer previews for a certain datatype.
Advantages:
- We can say that you can add your own previews
- Every preview would have to define it's own dependencies
- External development (community creates new extensions?)
Questions to answer:
- Specification of the interface
- Precedence of previews for the same data types
- Plugins only define the datatype that they are responsible for or do we call a function that returns whether the extension is responsible.
As far as I can see, this should be fairly easy to implement by following these instructions: http://docs.ckan.org/en/latest/writing-extensions.html#writing-a-plugin-interface",dominik
2960,Private datasets are not private,ckan,,ckan-backlog,task,,new,2012-10-08T11:04:15Z,2012-10-08T11:04:15Z,At the moment everyone can read all resources. There is no support for hiding resources that are in private datasets.,dominik
1429,Provide DOIs for datasets in a CKAN instance,ckan,,ckan-backlog,enhancement,rgrp,new,2011-10-30T12:21:45Z,2011-10-30T12:21:45Z,"DOI = digital object identifier = http://www.doi.org/
As a Publisher I want a DOI for my dataset so that it can be cited by and linked to by others in a standard and easy way.
== Details ==
* Probably implement as extension rather than core",rgrp
2590,Publisher dashboard,ckan,,ckan-backlog,enhancement,shevski,assigned,2012-06-25T10:03:37Z,2012-09-03T09:10:16Z,"Need proper user stories but ...
Publisher admins/editors may need a more useful group read page showing things like:
* The current search
* Recent activity
* People within the group
* Followers
* Others?
",ross
1198,Publisher hierarchy,ckan,,ckan-backlog,enhancement,,new,2011-06-23T09:16:32Z,2012-06-15T15:30:00Z,"'Publisher' entities in the model. They are hierarchical.
'User-Publisher' connections with one or more roles (e.g. drafter, moderator).
Authorization settings can control who can set what values in a 'published by' type field.
Publishers and User-Publishers available to read in the API.
Future tickets will provide:
* API to write Publishers and User-Publishers
* UI to edit Publishers and User-Publishers
(This feature deprecates authorization groups)",dread
1558,Publisher Tools,ckan,,ckan-future,enhancement,David Raznik,new,2011-12-19T10:46:13Z,2011-12-19T10:46:13Z,Summarise final set of requirements for this and finish development and test. Estimated 10 working days. ,jilly mathews
1589,QA - Give 5 star rating to datasets with link metadata,ckan,,ckan-backlog,enhancement,johnglover,new,2011-12-21T15:16:40Z,2012-01-02T03:31:35Z,"Super: #1594
From Richard Cyganiak on the CKAN Discuss list:
Regarding the fifth star (is the dataset linked to others?). This cannot be automatically determined just by looking at the format. It either requires inspection of the actual data, or information about links in the metadata. As you're probably aware, we've established conventions for recording information on data links in CKAN [1], as part of the work of the lodcloud group on the Data Hub. Link information is captured for hundreds of datasets. I would claim that we have the majority of four-star datasets covered there, and hence you can determine if they should get the fifth star by checking for the presence of a links:xxx field.",johnglover
1588,QA - Give SPARQL endpoints a 4 star rating,ckan,,ckan-backlog,enhancement,johnglover,new,2011-12-21T15:13:25Z,2012-01-02T03:32:58Z,"Super: #1594
From Richard Cyganiak on the CKAN Discuss list:
Besides considering the media type of resources, it would also make sense to check for the presence of a SPARQL endpoint. SPARQL endpoints are recorded for more than 300 datasets on the Data Hub using the pseudo-type ""api/sparql"". A few more are recorded with the format ""SPARQL"". I suggest that datasets with such resources should also be considered for the fourth star.",johnglover
2895,QA pages (e.g. broken resource links) are not paginated,ckan,,,enhancement,,new,2012-08-28T17:38:05Z,2012-08-28T17:38:05Z,And as a result timeout on e.g. the datahub ...,rgrp
1584,QA report improvements - 2.5d,ckan,,ckan-backlog,enhancement,johnglover,new,2011-12-21T09:23:53Z,2012-06-06T11:26:15Z,"Super: #1594
* qa/{username}
* qa/{groupname}
* paginate QA results
* search / filter QA results
* ~~list organisation report by default, but can disable via config option~~ (done)
* UX tidy up of report pages - hide border if no sidebar, etc",johnglover
250,RDF link in Atom feed,ckan,,ckan-v1.9,enhancement,icmurray,assigned,2010-02-18T15:41:35Z,2012-06-25T13:37:10Z,Add link to RDF representation of a package in our Atom feed.,dread
1406,Re-enable RSS subscriptions,ckan,,ckan-backlog,enhancement,,new,2011-10-17T14:22:07Z,2011-11-10T13:01:28Z,"RSS 'subscribe' buttons appeared in many places on the site but were not very helpful. They took (confused) users pointed to the raw feed code, and Google Reader could not understand the feed. Safari, however, could interpret it correctly.
Their presentation needs to be clear and consistent; the RSS feed really needs testing in a variety of readers; and we need to decide exactly which items should get a feed. (Package updates? Groups?)",zephod
765,Read-only mode - API usage,ckan,,ckan-backlog,enhancement,,assigned,2010-10-26T11:18:17Z,2012-05-28T11:55:23Z,"All writes to the API are captured and you are returned an error explaining the reason.
Possible errors:
* 503 temporary maintenance
* 403 forbidden (if server if permanently read-only)",dread
763,Read-only mode - Setup,ckan,,ckan-future,enhancement,,assigned,2010-10-26T11:11:46Z,2012-05-28T11:56:44Z,"Admin configures entering read-only mode in one of two places:
* CKAN config file (e.g. ckan.ini)
* environment variable from Apache config
Once enabled, no writes can occur to the database (including user ratings and other usage stats).",dread
3011,Recline fixes and updates for CKAN 2.0,ckan,,ckan 2.0,enhancement,johnglover,new,2012-11-07T11:40:55Z,2012-11-07T11:40:55Z,Fixes and updates to Recline / Datapreview for CKAN 2.0.,johnglover
2944,Recline preview does not work in Opera,ckan,,,enhancement,,new,2012-10-01T11:26:42Z,2012-10-01T11:26:42Z,Opera cannot show a recline preview. I shows 0 records.,dominik
2947,Redirect to the resource page from /resource/{res-id},ckan,,,enhancement,,new,2012-10-01T13:15:25Z,2012-10-01T13:15:25Z,"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}",dominik
2427,Reduce cruft installed into CKAN's virtualenv due to Pylons,ckan,,ckan-v1.9,enhancement,kindly,new,2012-05-25T11:48:27Z,2012-07-02T22:32:03Z,,seanh
2949,Reenable Data API button on the new theme,ckan,,,defect,amercader,new,2012-10-01T16:04:24Z,2012-10-01T16:04:24Z,The checks to show or not the button need to be updated for the latest datastore version,amercader
1278,Refactor authorized_query calls,ckan,,ckan-backlog,enhancement,,new,2011-08-15T13:32:57Z,2011-08-15T13:32:57Z,"There are some functions that still use the Auhtorizer().authorized_query method:
{{{
./ckan/controllers/authorization_group.py:24: query = ckan.authz.Authorizer().authorized_query(c.user, model.AuthorizationGroup)
./ckan/lib/base.py:237: groups = ckan.authz.Authorizer.authorized_query(c.user, model.Group,
./ckan/lib/search/sql.py:55: q = authz.Authorizer().authorized_query(username, model.Group)
./ckan/lib/search/sql.py:118: q = authz.Authorizer().authorized_query(self.options.get('username'), model.Package)
./ckan/logic/action/get.py:154: query = Authorizer().authorized_query(user, model.Group, model.Action.EDIT)
./ckan/tests/test_authz.py:158: q = self.authorizer.authorized_query(self.notadmin.name, model.Package)
./ckan/tests/test_authz.py:353: q = self.authorizer.authorized_query(self.notmember.name, model.Package)
./ckan/tests/test_authz.py:357: q = self.authorizer.authorized_query(self.member.name, model.Package)
./ckan/tests/functional/test_authorization_group.py:44: group_count = Authorizer.authorized_query(u'russianfan', model.AuthorizationGroup).count()
}}}",amercader
1596,Refactor authz roles,ckan,,ckan-future,enhancement,,new,2011-12-22T10:31:28Z,2012-05-28T11:36:59Z,"Suggestions from rgrp:
* Get rid of Roles, and replace them with direct assignment of actions, even though there are many actions, and extensions can add arbitrary ones.
* Debatable whether we should cut the number of actions to correspond to the three roles defined by the base system.
* Have a method of finding roles (or, in future, actions) relevant to a given protection object (e.g. FILE-UPLOAD(ER) not relevant to Packages)
(This ticket is split off from #1065)",dread
2915,Refactor form_to_db_schema_options(),ckan,,ckan 2.0,refactor,,new,2012-09-12T10:37:49Z,2012-09-12T10:59:48Z,"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?",seanh
1403,Refactor groups index page,ckan,,ckan-backlog,enhancement,zephod,new,2011-10-17T10:31:52Z,2011-10-17T10:32:46Z,"Groups are listed alphabetically with paging - not an ideal user experience. We would like to list groups in order of 'popularity': The number of datasets they contain.
Following this chain of thought, then, it would be nice to rearrange the groups table by clicking on column headers and having it sort by that column.
Furthermore, then, we'd like to implement a full-fledged groups search feature (if this is at all feasible).
The forthcoming groups refactor will probably have some bearing on this task.
",zephod
2983,Refactor lib/base.py to remove circular import issues,ckan,,ckan 2.0,refactor,,new,2012-10-15T10:47:24Z,2012-10-15T10:47:24Z,"From Toby: c) refactor lib/base.py to remove the circular import issues (render
functions to lib/render.py - would fix much of that)
",seanh
2310,Refactor the search-query construction in feeds.py,ckan,,ckan-backlog,enhancement,icmurray,new,2012-04-16T16:01:31Z,2012-05-16T09:09:46Z,"The feeds controller, used to construct atom feeds, duplicates code found in the package controller's search action (in order to construct the custom feed).
Refactor this to remove duplication.",icmurray
1598,Reinstate Ratings,ckan,,ckan-backlog,enhancement,,new,2011-12-29T16:52:04Z,2012-01-02T03:26:58Z,"Ratings were disabled approximately a year ago because:
* Unclear purpose and UX. What did ratings tell you? How useful were they?
* Spamming (esp by bots: you could submit an anonymous rating via a GET request which caused problems)
Both problems are solvable and it would be nice to have this feature reinstated.
* Purpose: can make this more purposable by limiting to logged in users (or at least distinguishing logged in from non-logged in users)
* Even better we could allow ratings to be made public (I'm interested in what someone else I respect finds important)
* Spamming: limit to logged in users and / or use AJAX over an API to submit ...",rgrp
1684,Remove all config from ckanext-archiver,ckan,,ckan-backlog,enhancement,,assigned,2012-01-19T14:37:01Z,2012-09-03T11:00:37Z,"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.",ross
2987,Remove all direct calls to logic action and auth functions,ckan,,ckan 2.0,refactor,,new,2012-10-15T10:51:27Z,2012-10-15T10:51:27Z,From Toby,seanh
2972,Remove any imports of authz.py and delete file,ckan,,ckan 2.0,enhancement,,new,2012-10-15T10:37:22Z,2012-10-15T10:37:22Z,it is no longer used,seanh
2981,Remove config from jinja templates,ckan,,ckan 2.0,refactor,,new,2012-10-15T10:46:00Z,2012-10-15T10:46:00Z,"From Toby: remove the config from jinja2 templates get all such stuff via g. (before 2.0)
",seanh
2603,Remove deprecated 'fields' parameter from resource_search,ckan,,ckan-v1.9,refactor,icmurray,new,2012-06-26T17:10:01Z,2012-06-26T17:10:01Z,"The fields parameter of resource_search was deprecated when fixing #2438. It can be removed in release 1.9, and the action tidied up as a result.",icmurray
1260,Remove duplicate functions from _util.html,ckan,,ckan-backlog,enhancement,,new,2011-08-03T10:17:32Z,2011-08-15T09:44:59Z,"There seems to be both a list view for dictized and non dictized data structures for all entities in _util.html at the moment. Probably in the back of someone's mind already, but cleanup here would be nice. ",pudo
2919,Remove IController from docs,ckan,,ckan-v1.8,defect,,new,2012-09-12T14:47:33Z,2012-09-12T14:47:33Z,Still in docs but seems gone from code,seanh
2929,Remove is_fallback() from I*Form extension interfaces?,ckan,,ckan 2.0,enhancement,,new,2012-09-13T16:09:57Z,2012-09-13T16:09:57Z,"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",seanh
2881,Remove or improve 'Domain Model' docs page,ckan,,ckan-v1.8.1,defect,,new,2012-08-21T09:05:17Z,2012-08-22T09:00:56Z,"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.",seanh
1286,Remove remaining formalchemy stuff,ckan,,ckan-backlog,enhancement,,new,2011-08-23T16:29:56Z,2012-07-16T11:00:20Z,"Stuff I've spotted:
* forms/*
* template/group/edit_form.html
* template/package/edit_form.html
This can go once new DGU form is in.",rgrp
2621,Remove the deprecated 'fields' parameter from tag_search and tag_autocomplete,ckan,,ckan-v1.9,refactor,icmurray,new,2012-06-28T16:22:49Z,2012-06-28T16:22:49Z,"This was deprecated in 1.8 as it wasn't accessible via GET requests due to being a dict. See #2439
In a future release of CKAN (probably 1.9) it can be removed.
Internal uses of it were removed in #2439, but there are tests that still use it.",icmurray
2925,Remove trans mangle paster command?,ckan,,ckan 2.0,defect,,new,2012-09-13T10:06:08Z,2012-09-13T10:06:08Z,"- Is `trans mangle` really necessary? If you upload a pot file to
Transifex, it can generate a po file for you with 100% strings
translated into a fictional pseudo language where everything is really
long strings of unicode characters. I found this worked well for
coverage testing, and also tests handling of unicode and long strings
all over the place.",seanh
2882,Remove User Stories Overview from docs?,ckan,,ckan-v1.8.1,defect,,new,2012-08-21T09:18:43Z,2012-08-21T09:18:43Z,"Why is this here? Is it up to date? Is anyone keeping it up to date? Does this belong in some sort of CKAN planning or roadmap document rather than in the documentation?
http://docs.ckan.org/en/latest/user-stories.html",seanh
1785,Replace 'Revisions' page with site-wide activity stream,ckan,,ckan-v1.9,enhancement,seanh,accepted,2012-02-07T16:34:18Z,2012-06-26T15:25:12Z,Replace the /revision page with a /activity page showing a site-wide activity stream of all activities in the site. Or perhaps the site-wide activity stream can go somewhere on the front page of the site instead?,seanh
1778,Replace classmethod's with module-level functions,ckan,,ckan-future,enhancement,seanh,assigned,2012-02-06T15:53:34Z,2012-06-25T11:29:03Z,"In many places we have @classmethods where simple module-level functions would do (and would be more idiomatic in Python), e.g. the {{{get()}}} classmethods in the model/ classes.
Doing it with module functions lets us type module.function() instead of module.Class.method().
In many cases we're importing classes directly with {{{from module import Class}}} and then doing {{{Class.method()}}}, but {{{from module import foo}}} is bad style: http://docs.python.org/dev/howto/doanddont.html",seanh
2301,Replace old-style string formatting with format() method (at least in strings marked for translation),ckan,,ckan-future,enhancement,seanh,new,2012-04-16T12:27:44Z,2012-06-25T14:50:12Z,"Some strings in CKAN are passed to gettext with more than one %s in them, this is no good as translators may need to change the order of substituted words.
Strings should not use the old style % substitution, they should use the new format method in Python 2.6+, e.g.:
'This {food} is {adjective}.'.format(food='spam', adjective='absolutely horrible')
http://docs.python.org/release/2.6.8/tutorial/inputoutput.html#fancier-output-formatting
We should probably only change strings that are marked for translation and that contain multiple %s, don't want to make too much work or cause too many strings to change and need to be re-translated.",seanh
1668,repoze version discrepency,ckan,,ckan-backlog,defect,,new,2012-01-17T12:02:26Z,2012-01-17T12:02:26Z,"There's a discrepency in repoze.who versions between the source and package installs:
* repoze.who - package 1.0.18 vs source 1.0.19
* repoze.who-friendlyform - package 1.0b3 vs source 1.0.8
We get a test failure [1] with the 1.0b3 version (from the ubuntu 10.04 python-repoze.who-plugins package). But we've not noticed any problems on s057 instances (br, no, ie etc) which have the package versions of repoze.who.
The reason the package install uses the earlier packaged versions rather than the ones we'd like is that repoze uses all sorts of horrendous import hacks, making it too difficult to put into our 'ckan-conflict' source package.
James suggests we 'do something horrible like dynamically patch repoze on CKAN import'.
[1] http://buildbot.okfn.org/builders/builder-ckan/builds/1371/steps/shell/logs/stdio
ERROR: ckan.tests.functional.test_user.TestUserController.test_user_create_unicode",dread
2979,Requesting membership to groups and organizations,ckan,,ckan 2.0,enhancement,,new,2012-10-15T10:44:04Z,2012-10-15T10:44:04Z,"From Toby: The requesting membership user stories and implementation remain needed
",seanh
2554,Research Virtuoso cartridges,ckan,,ckan-backlog,enhancement,,assigned,2012-06-18T13:37:25Z,2012-09-03T11:07:13Z,"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?",ross
2823,resource additional info title order,ckan,,demo phase 5,enhancement,toby,new,2012-08-09T09:32:53Z,2012-08-09T09:32:53Z,"Order the items so that none user fields are first from ticket #2707
",toby
2822,Resource additional info titles format/i18n,ckan,,demo phase 4,enhancement,toby,new,2012-08-09T09:30:20Z,2012-08-09T20:26:25Z,"the title for additional info should be translated
capitalised etc",toby
235,Resource format normalization and detection,ckan,,ckan-v1.9,enhancement,tobes,assigned,2010-01-18T15:13:24Z,2012-06-25T12:33:44Z,"Try to gather proper MIME information for all package resources in CKAN. This is a shared ticket with dcat-tools (https://bitbucket.org/pudo/dcat-tools), i.e. opendatasearch.org. This can then also be used by ckanrdf, the CKAN RDF conversion service.
Sub-tasks:
* Create a Google Spreadsheet with two Worksheets: ""MIME-Mappings"", i.e. ""CSV"" -> ""text/csv"" and ""Name mappings"", i.e. ""text/csv"" -> ""Comma-Separated Spreadsheet"".
* Collect and map surface forms from all CKANs
* Access this via Swiss and apply, store as a PackageResource extra field pending #826 (Resource extras).
* Add heuristics for format auto-detections:
* Map well-known file extensions
* Recognize obvious magic (Zip, Tar)
* Peek into Zipfile/Tarfiles
* Define a convention for generic data types (many CKAN packages have only ""Spreadsheet"" defined, either detect specific type or set MIME to */tabular-data or similar)
* See also: #816 (Autocomplete for the resource format field)",dread
2247,Resource preview glitch in some browsers,ckan,,ckan-backlog,enhancement,,new,2012-03-20T12:30:14Z,2012-03-20T12:30:14Z,"From Ira:
Preview for google spreadsheets are not displaying correctly for me in Firefox v.10.0.02, fine in Chrome.
http://i.imgur.com/KJaqz.png",zephod
2896,resource_create crashes on ValidationErrors with KeyError: 'resources',ckan,,ckan-v1.8.1,defect,,new,2012-08-29T16:29:14Z,2012-08-29T16:29:14Z,"ckan/logic/action/create.py:resource_create():
try:
pkg_dict = _get_action('package_update')(context, pkg_dict)
except ValidationError, e:
errors = e.error_dict['resources'][-1]
raise ValidationError(errors)
This assumes that package_update always returns an error dict with 'resources' in it. This assumption doesn't hold.",seanh
818,Rethinking the author and maintainer fields,ckan,,ckan-backlog,requirement,,new,2010-11-17T14:18:44Z,2012-06-15T15:37:01Z,"The semantics of the Author and Maintainer fields are really unclear at the moment. This leads to very inconsistent usage. Also, perhaps Name and Email are not the only fields that are needed for a contact.
Here is a table that shows the current usage of these fields in CKAN:
http://richard.cyganiak.de/2010/ckan/ckan-ppl.html
We note several problems:
* Author and Maintainer are often the same
* Author and Maintainer are often used interchangeably
* People really want to specify URLs for the contacts and stick them into random places because there is no field for it
* Multiple comma-separated names in a single field
I'm not sure what to do about this, but a redesign is necessary in my opinion.
Some ideas:
* Remove the maintainer field?
* Make really clear that Author doesn't refer to the metadata on CKAN, but to the original data
* Add an “author URL” field?",cygri
2862,Revised revised groups description,ckan,,demo phase 4,enhancement,toby,new,2012-08-16T10:52:02Z,2012-08-16T11:04:32Z,"Revised text for 'What are groups?' box at demo.ckan.org/group (after discussion with IB re #2812):
What are groups?
Groups allow you to group users and data together so that they are easier to manage. Group owners can assign roles and authorisations, giving each project or department control of its own data publishing.
Users can browse or facet by groups, which could be an organisation (for example, the Department of Health) or topic (e.g. Transport, Health), making it easier to find the data they are looking for.",markw
2928,Run CKAN tests with example_i*form extensions enabled,ckan,,ckan 2.0,enhancement,,new,2012-09-13T16:05:34Z,2012-09-13T16:05:34Z,"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.",seanh
2962,Search across multiple ckan instances,ckan,,ckan-backlog,enhancement,,new,2012-10-08T22:50:22Z,2012-10-08T22:50:22Z,"Could be done by:
- using the solr distributed search
- difficult set up
- merging result sets from apis
- make sure that results can be merged properly (score, facets, ...)",dominik
924,Search box has no search button,ckan,,ckan-backlog,enhancement,,new,2011-01-24T11:12:13Z,2011-12-06T11:20:36Z,"The search box at the top-right of CKAN's page doesn't have a 'go' button. I feel that a larger percentage of users expect a 'go' or 'search' button on the right-hand side of the box to press to start searching. Techies tend to know the keyboard shortcut of pressing 'carriage-return' but it might be better to follow standard practise on this.
Examples with 'search' button: Internet Explorer, Firefox, Google, Amazon, trac
Examples without: ?",dread
350,Search engine optimisation,ckan,,ckan-backlog,enhancement,,reopened,2010-06-15T09:35:41Z,2012-06-15T15:38:10Z,"Need to research what can easily be done to improve CKAN packages in the search rankings.
Comments from Glen Barnes:
We've been pretty successful at SEO without even really trying (see http://www.google.co.nz/search?client=safari&rls=en&q=auckland+google+transit+feed&ie=UTF-8&oe=UTF-8&redir_esc=&ei=dsYSTOzJLs2eceuZiI8I as an example). This to me is key. If we are to make data available it has to be findable which is the main reason for a catalogue. There are probably things we should be doing on CKAN like using slugged urls (http://www.ckan.net/package/ascoe -> http://www.ckan.net/package/ascoe/atmospheric-chemistry-studies-in-the-oceanic-environment), setting the H1 tag correctly (""Atmospheric Chemistry Studies in the Oceanic Environment"" on the example above). Some basic SEO 101 on page optimisations.
",dread
1366,Search inside extra fields,ckan,,ckan-future,defect,,assigned,2011-09-29T10:09:52Z,2012-05-28T12:05:07Z,"SOLR search doesn't support searching for part of an extra field, but it does for other fields.
i.e. title=""One Two Three"" matches q=one AND q=title:one
and geographic_coverage=""England Scotland"" matches q=England BUT NOT q=geographic_coverage:England
This problem emerged when we went to SOLR in #1275 (CKAN 1.5a). Tests were skipped.
This is could be a problem for DGU and maybe elsewhere.
",dread
2331,Search should AND terms not OR terms,ckan,,ckan-sprint-2012-05-29,defect,kindly,reopened,2012-04-28T18:24:45Z,2012-12-25T22:25:44Z,"Appears current default search in CKAN ORs terms rather than ANDing them (i.e. adding more terms increasing number of items found rather than reducing it).
Not sure when this crept in or if it has been there for a long time.",rgrp
2729,searching for tags:[tag] works but tag:[tag] doesn't,ckan,,ckan-backlog,enhancement,kindly,new,2012-07-22T09:58:29Z,2012-07-22T09:59:36Z,"which is confusing since you can only search for one tag like this at a time. I.e.
tags:economics,cvs or tags:economics, csv or tags:economics+CSV doesn't work for example; therefore tag:economics, should also work!
http://s031.okserver.org:2375/dataset?q=tags%3Aeconomics&sort=relevance+asc",shevski
1201,seperate out logic in atom feeds to logic layer.,ckan,,ckan-backlog,enhancement,,new,2011-06-24T15:21:32Z,2011-07-08T11:24:57Z,Simplify the logic in the atom feed an make all feeds use logic layer to return lists.,kindly
277,Set some config options / settings in WUI (extension),ckan,,ckan-backlog,enhancement,zephod,assigned,2010-03-22T16:21:01Z,2011-10-10T11:45:21Z,"== Use case ==
As a ckan administrator I want to easily change options about the CKAN install.
== Implementation ==
=== Settings to be in DB ===
Suggested:
{{{
## Title of site (using in several places including templates and tag
ckan.site_title = CKAN
## Logo image to use (replaces site_title string on front page if defined)
ckan.site_logo = http://assets.okfn.org/p/ckan/img/ckan_logo_box.png
## Site tagline / description (used on front page)
ckan.site_description =
## Used in creating some absolute urls (such as rss feeds, css files) and
## dump filenames
ckan.site_url =
## Favicon (default is the CKAN software favicon)
ckan.favicon = http://assets.okfn.org/p/ckan/img/ckan.ico
## An 'id' for the site (using, for example, when creating entries in a common search index)
## If not specified derived from the site_url
# ckan.site_id = ckan.net
## API url to use (e.g. in AJAX callbacks)
## Enable if the API is at a different domain
# ckan.api_url = http://www.ckan.net
## html content to be inserted just before