{22} Trac tickets (2647 matches)
Results (1901 - 2000 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#133 | defect | rgrp | dread | closed | fixed | Security hole - search package/group (WUI & REST) |
Using WUI or REST interface you can search packages and groups without authorization being checked. On the REST interface you can also read all the attributes of the packages using the 'all-fields' option. Can be fixed using more advanced query to check authz. |
1254390168000000 | 1273253977000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#134 | defect | rgrp | dread | v0.11 | closed | fixed | admin interface is only available to sysadmins | 1254735314000000 | 1255430998000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#135 | enhancement | rgrp | dread | v0.11 | closed | fixed | sysadmins defined in the db | 1254735368000000 | 1265293940000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#136 | enhancement | rgrp | dread | v0.11 | closed | fixed | User has publicly viewable page |
A user's 'home page' is at: user/<user.id> e.g. user/28394723982-03849472 Step 1:
Step 2: Readonly
How do we do a nicer URL for the home page - can we use their openid login? Follow on tickets: ticket:138 and ticket:142 |
1254741650000000 | 1255169466000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#137 | enhancement | rgrp | dread | closed | duplicate | User has editable home page |
Model's user table reflects these:
|
1254741703000000 | 1254741830000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#138 | enhancement | rgrp | dread | v1.0 | closed | fixed | User has editable home page |
Model's user table reflects these:
Need edit page for this. Only user should be able to edit it. Follows on from ticket:136 and ticket:142 Cost: 2h |
1254741789000000 | 1258466074000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#142 | defect | pudo | dread | closed | fixed | Update User object with additional fields such as 'nickname' |
Suggested fields:
just go in extras - may be better to have its own field as useful to search on this ) Related changes (probably separate tickets):
Related to ticket:136 and ticket:138. |
1255010314000000 | 1289219098000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#143 | enhancement | thejimmyg | dread | ckan-backlog | assigned | Most active users listed on homepage |
Display league of users' recent activity on homepage. |
1255010373000000 | 1312372381000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#144 | enhancement | rgrp | dread | v0.11 | closed | duplicate | Most popular packages listed on homepage |
Based on number of views. Related to ticket:143. |
1255010391000000 | 1265284457000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#145 | enhancement | rgrp | dread | v0.11 | closed | fixed | Group shows its administrators |
When viewing a group you see a list of the users who have admin rights to it. (Akin to owners / moderators) |
1255010403000000 | 1265294041000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#147 | enhancement | dread | dread | v0.11 | closed | duplicate | Parser and loader for esw.org data | 1255440695000000 | 1255515162000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#148 | enhancement | dread | dread | v0.11 | closed | fixed | Parser and loader for esw.org data |
Follow up tickets: ticket:149 and ticket:150 |
1255440696000000 | 1255515222000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#149 | enhancement | dread | dread | v0.11 | closed | fixed | Loader for esw data recognises existing packages |
Follows on from ticket:148. Sister to ticket:150. |
1255440751000000 | 1257414916000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#150 | enhancement | dread | dread | v0.11 | closed | fixed | Loader for esw data uses REST API |
(instead of sqlalchemy interface, to facilitate general usage of the loader)
Follows on from ticket:148 and ticket:149 |
1255440828000000 | 1256751974000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#152 | enhancement | dread | dread | v0.11 | closed | fixed | Package has editable 'Extra' fields |
Package edit page has fields for extra key-value pairs. Don't use formalchemy. The form displays the existing ones and new ones as follows: Key Value delete [ country ] [ uk, spain ] [x] When presenting the form, existing pairs and 3 blank pairs are provided. When saving the data, keys that are not changed use the existing PackageExtra object (perhaps with new value). Deleted keys put the PackageExtra state to deleted. For new keys, only create a new PackageExtra if there isn't a state=deleted one to resurrect. Validators ensure no repeated keys. |
1255615316000000 | 1256056193000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#153 | enhancement | dread | dread | v0.11 | closed | duplicate | Group's packages listed alphabetically |
This is so you can easily look up whether a given package is already listed - otherwise as lists get bigger becomes difficult to see what is already there. Suggested by Jonathan Gray |
1255621515000000 | 1258971895000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#154 | enhancement | rgrp | dread | v0.11 | closed | wontfix | Package form guidance |
Give guidance on what to put in 'author' and 'maintainer' fields (e.g. name? URL?) Suggestion from Jonathan Gray |
1255621572000000 | 1257535066000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#155 | enhancement | dread | dread | v1.0 | closed | duplicate | Adding multiple packages to a group |
Ability to add multiple packages to a group in one go (e.g. with 'add' link which makes drop down menu appear - so can add one after another - then submit simultaneously) Use a bit of javascript to add more dropdowns. Suggested by Jonathan Gray |
1255621779000000 | 1271760041000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#156 | enhancement | johnbywater | dread | v1.0 | closed | fixed | Whitelist for html in mark-down field |
Not just links that need to be displayed. Other html should be displayed too, such as tables which can't be represented in markdown. Do a search of the existing fields to see what is needed. |
1255623973000000 | 1271962871000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#158 | enhancement | dread | dread | v0.11 | closed | fixed | Add 'extras' to REST API |
On Package get, ensure separation of extra attributes from other attributes. What is the meaning of posting an incomplete dictionary (updating a package)? Option 1 - if field not present, leave field alone
Option 2 - user must supply all fields
Prefer option 1. Document this. Follows on from ticket:152 |
1255703259000000 | 1255949818000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#163 | enhancement | rgrp | dread | v0.11 | closed | fixed | Regularly put CKAN RDF on Talis CC |
Related to: ticket:90 Link to RDF version of CKAN data on Talis Connected Commons ticket:164 Creating RDF data from CKAN Regularly re-upload the CKAN RDF data to Talis CC. In the long run may wish to only re-convert packages changed since the last upload. However given relatively smaller size of full dataset this optimization is probably not yet required. Cost: ? (1d+ depending on e.g. how easy integration with Talis CC is) |
1256052587000000 | 1265891374000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#164 | enhancement | wwaites | dread | v1.0 | closed | fixed | Creating RDF data from CKAN |
Related to: ticket:90 Link to RDF version of CKAN data and ticket:163 (regularly convert CKAN data to RDF). Convert ckan data to RDF with suitable ontology and put on semantic.ckan.net. |
1256052643000000 | 1271251422000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#165 | enhancement | rgrp | dread | closed | invalid | Use 'tag:' instead of 'tags:' for wui package search |
Because people might try and do "tags:gov sweden" when "tag:gov sweden" makes more sense (sweden is searched for in all fields in these cases). But in REST i/f search allow "tag"="gov" OR "tags"="gov sweden" in parameters. |
1256200526000000 | 1311181391000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#166 | enhancement | dread | dread | v0.11 | closed | fixed | Add extras editing to ckanclient |
Ensure logging is working on server. |
1256203581000000 | 1265891199000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#167 | defect | dread | dread | v0.11 | closed | fixed | REST interface you can't update multiple tags |
Only first tag is updated. |
1256209993000000 | 1265891178000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#168 | enhancement | rgrp | dread | closed | duplicate | Show admins for a group in group view | 1256291481000000 | 1257414795000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#169 | enhancement | dread | dread | closed | duplicate | Package derivations |
A 'Derived' relationship can be applied from one package to another. e.g. sussex-demography is derived from census-2001 'Derived' relationship is:
'derived' table columns:
Further tickets:
|
1256304927000000 | 1266928708000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#170 | enhancement | rgrp | dread | v0.11 | closed | fixed | Paginate search results |
e.g. http://www.ckan.net/package/search?q=science&search=Search+Packages+%C2%BB Results are capped at 20, but can't see past first page. |
1256313584000000 | 1265891157000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#173 | enhancement | rgrp | dread | v0.11 | closed | fixed | Diffing WUI |
Use vdm diff functionality (see ticket:82) to implement diffing of packages between versions in WUI. In package history you should be able to select to revisions and show the diff. Estimated cost: 12h |
1256565412000000 | 1265293968000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#174 | defect | rgrp | dread | v0.11 | closed | fixed | Packages search broken for 'only openly licensed' |
the "only openly licensed packages" tick box seems to return blank page every time - as do queries for only openly licensed and only downloadable packages. The "only downloadable packages" tick box by itself seems to work fine. E.g. try searching for 'science'. Raised by Jonathan Gray |
1256650867000000 | 1265891093000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#175 | enhancement | rgrp | dread | v0.11 | closed | fixed | Creation date |
'created' attribute on User, Group and Rating datetime object: default=datetime.datetime.now() See example on revision Requires migrate script |
1256754070000000 | 1265291037000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#176 | enhancement | dread | dread | closed | duplicate | Package dependencies |
(Related to ticket:169 - Package derivations) A 'dependency' relationship can be applied from one package to another. It implies that a package requires the download or existence of another package which it 'depends on'. (Analogous to software package dependencies.) e.g. london-traffic-visualisation depends on road-map 'Dependency' relationship is:
'dependency' table columns:
Further tickets:
Issues
|
1257162812000000 | 1266928721000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#177 | enhancement | rgrp | dread | closed | invalid | Service documentation |
This is docs for users of a CKAN service (e.g. ckan.net), as opposed to someone installing / administering the software. (The latter has docs on knowledgeforge. Editability - wiki? |
1257243285000000 | 1273050236000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#178 | enhancement | rgrp | dread | v0.11 | closed | fixed | Excel package importer |
/tool New 'tools' section of the WUI with 'Excel package import' page. /tool/import Import page allows you to upload a file. The format of the required Excel file is described here. List of licenses provided for copy&paste. /tool/import/preview When you upload it, it gives you a simple preview of the file, offering import. Text as per Package Preview. 'import button' for completing process. File format: First row to have a cell value of 'name' or 'title' in it is the Title Row. It contains the field names, as per package. It includes:
When importing, values are bound into the package fieldset, validated and displayed for the preview and synced to complete. User has to log in to use importer. Auth is checked for putting into groups. |
1257244034000000 | 1265305558000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#185 | enhancement | rgrp | dread | closed | invalid | Package form field hiding |
Make parts of the package form hidden by default, to make it look simpler. Users are invited to click a button to reveal the less important fields. Fields hidden by default: version, author, author_email, maintainer, maintainer_email |
1257763437000000 | 1291830039000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#189 | enhancement | dread | dread | v0.11 | closed | fixed | Multiple download urls |
See also: PackageResources which defines a 'distribution' as a package's payload (perhaps with metadata). In our case, at least within CKAN, the representation of the distribution will just be the reference to get it (plus some minor metadata). We are expanding this functionality to be any kind of 'resource' associated with a package since it is likely in some cases people will want to link to a file containing a part, but not the whole, of a package's data. As aUser (package editor and package user) I want to(package editor) Associate multiple distributions with a package. (package user) Easily have access to multiple distributions of a package should they exist. ImplementationThere is an object called 'Resource' with the following attributes:
A package's list of resources will have an order which is preserved. The first in the list will be known as the 'default resource' (the presumption will always be that this is a 'distribution'). How to replace download urldownload_url removed and replaced as a proxy attribute. Read returns the url of the default distribution. Write changes the url of the default resource. Ensures backward compatibility. REST API has new attribute in package dictionary 'resouces' - an ordered list. In WUI, replace download url in package read with a table of the distributions. In the WUI package edit, be able to add/remove/edit/reorder distributions. ExampleExample part of package: Distributions:
Existing data to be migrated to new structure. Cost: 4 days |
1258386120000000 | 1265284961000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#190 | defect | pudo | dread | closed | fixed | Package comments |
Cost 7 days When viewing a package, users can read user comments and leave their own. Users need to be logged in to leave a message. Comments appear immediately. A mechanism for deleting unwanted comments is provided to an authorized user. Comments are sorted with the most recent first. Comments are available for read, creation and deletion in both the Web UI and over the REST API. The admin for the package and a superuser can delete unwanted comments, both on the package page and a collation of all comments on their user page. Users can delete their own comments(?) Need to consider whether over the REST API we encourage the use of a 'frontend user' APIKEY which can be used to leave comments for another, actual user. Example at bottom of package page: Leave a comment:
Comments:
Implementation details:Comments table is with columns:
|
1258387105000000 | 1280820852000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#191 | enhancement | johnglover | dread | ckan-sprint-2011-12-19 | closed | fixed | Searching by modification date |
Cost - 2 days Search interface has new options to filter and sort the results by the date the package has been last modified in ckan. Search options are included in both Web UI and Search API. The filter specifies a range of dates. The results can be sorted by ascending or descending dates. The last modification date is surfaced in the package. Example search parameters:
|
1258387778000000 | 1330020983000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#192 | enhancement | rgrp | dread | closed | fixed | Time-related package field |
Cost - 2 days The time period to which a package's data applies is stored in a new field called 'Relevant Date Range'. The value of this field is up to two calendar dates: i.e. either a point in time (e.g. date of a river map is 5/10/09) or a time period (e.g. pollution measurements 1/1/09-1/4/09). Example part of package:
Date: 5/10/09
|
1258388163000000 | 1291733895000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#193 | enhancement | rgrp | dread | closed | wontfix | Searching by time-related field |
Cost - 2 days Search interface has new options to filter and sort the results by the time-related field of the package. Search options are included in both Web UI and Search API. The filter specifies a range of dates. The results can be sorted by ascending or descending dates. The last modification date is surfaced in the package. Need to decide for a time-related field value that is date range, what date is used for the search. Example search parameters:
Related to ticket:192 |
1258388169000000 | 1340626463000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#194 | defect | rgrp | dread | v0.11 | closed | fixed | Check star ratings aren't influenced by search engine crawlers |
rel=nofollow or robots.txt ? |
1258471512000000 | 1265284389000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#196 | defect | dread | dread | v1.0 | closed | fixed | RDF URI to resolve on CKAN |
Provide RDF version of a package at the RDF URI: http://ckan.net/package/rdf/32000-naples-florida-businesses-kml See email on OKFN help: For the information to be Linked Data, the following URI (from the api.talis.com SPARQL call) should be resolvable to RDF, or an RDFa enhanced HTML page. |
1258727988000000 | 1265389771000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#197 | enhancement | dread | dread | v0.11 | closed | fixed | Simple dumper |
As aadmin / user I want toAdmin: export all HEAD data to JSON / CSV / RDF format dump. User: wants to get hold of this dump. Details
Cost: 2h |
1258972495000000 | 1258989700000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#198 | enhancement | rgrp | dread | closed | fixed | Change package and tag ids to uuids |
See how we did it already for other things. Note: on ckan.net older PackageRevision?.id might not be identical to Package.id but this may need sorting at this point. |
1258980613000000 | 1266837606000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#201 | enhancement | rgrp | dread | v1.0 | closed | fixed | Stress test ckan |
Check:
|
1259844836000000 | 1265284419000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#202 | enhancement | tonfa | dread | v0.11 | closed | fixed | Internationalization (i18n) try-out |
Try i18n for one language (German) for ckan (de.ckan.net). Basic approach to i18n is well-covered in Pylons book: http://pylonsbook.com/en/1.1/internationalization-and-localization.html However, we need to integrate with our Genshi templates. Details on how to do this in comment: http://wiki.pylonshq.com/display/pylonsdocs/Internationalization+and+Localization Steps
|
1260179192000000 | 1265892368000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#203 | enhancement | dread | dread | v0.11 | closed | fixed | show package counts for groups in WUI |
In two places in the WUI
Cost: 1h |
1260187690000000 | 1265891080000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#204 | enhancement | dread | dread | v0.11 | closed | fixed | Custom package input form |
As aadmin I want toinput government data in a constrained way so thatyou get consistency in the db which is easily searched, discovered and automatically linked. implementationForm has fields suitable for government data. (related to custom excel importer ticket) In pylons config specify the form schema to use - whether the existing one or the government one. On submission, during validation, warn if a field isn't completed (unless it's optional - agency, maintainer, maintainer_email) Simple fields
Date fieldsDate format: machine readable. Can be specific or vague: year or month/year or day/month/year.
Strict selectionDrop down combo
Selection or free textEditable combo
Specialised fields
(Idea for future version: Select the most relevant one from a choice of OS hierarchical geographic IDs in the UK. Stored in the database as the RDF URI. Question - what to do beyond the UK?)
Field data processed
Future - optionalEach form schemas is made available (or not) in the pylons config, along with the default schema for new packages. If there is more than just the 'basic' schema available then the 'new package' form has at the top a drop-down to select the schema with a 'switch' button. This submits the form's current data and parameter schema=xyz and the form arrives back populated with the existing options. No data should be lost switching views. When you edit a package it detects the schema based on the extra fields that are present. |
1260188965000000 | 1285082169000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#205 | enhancement | rgrp | dread | closed | wontfix | Custom package importer |
Importer function is exposed to logged in users. Alongside specifying file to import, user chooses between 'form schemas' - 'basic' and 'government'.
All fields should be in step with the government custom input form. For fields which have suggested values but the user can input his own value, this is achieved in the spreadsheet with two columns - the first being a drop-down and the second free text. Estimate: |
1260197819000000 | 1297068450000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#213 | enhancement | dread | dread | v0.11 | closed | fixed | Automate CKAN deployment |
fabric script to automate ckan deployment |
1260811707000000 | 1265891061000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#214 | enhancement | nickstenning | dread | v0.11 | closed | fixed | UI Review - General template |
|
1260879581000000 | 1263406056000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#215 | enhancement | rgrp | dread | v1.0 | closed | fixed | UI Review - Home page |
Also, what about ticket:143 ? |
1260879732000000 | 1266513523000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#216 | enhancement | nickstenning | dread | v1.0 | closed | fixed | UI Review - Search |
|
1260879802000000 | 1273596102000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#217 | enhancement | nickstenning | dread | v0.11 | closed | fixed | UI Review - Search results |
Package search results page package/search
|
1260879870000000 | 1263406092000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#218 | enhancement | nickstenning | dread | v0.11 | closed | fixed | UI Review - Package listing |
|
1260879903000000 | 1263406033000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#219 | enhancement | nickstenning | dread | closed | wontfix | UI Review - Package |
|
1260879947000000 | 1294914901000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#220 | enhancement | nickstenning | dread | v0.11 | closed | fixed | UI Review - Package read |
Package page package/mypackagename
|
1260880136000000 | 1265286499000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#221 | enhancement | dread | dread | v1.0 | closed | fixed | UI Review - Package edit |
Package edit page package/edit/mypackagename
|
1260880175000000 | 1271756757000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#222 | defect | nickstenning | dread | closed | fixed | UI Review - Package history |
Package history page package/history/mypackagename
|
1260880198000000 | 1282909280000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#223 | enhancement | nickstenning | dread | v1.0 | closed | fixed | UI Review - Tag |
Tags landing page tag
|
1260880276000000 | 1273596111000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#224 | enhancement | nickstenning | dread | v0.11 | closed | fixed | UI Review - Groups |
Groups landing page group
|
1260880360000000 | 1267100560000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#225 | enhancement | rgrp | dread | closed | invalid | UI Review - swap URL order |
Not so keen on URLS such as /package/edit/mypackagename. These seem to be task-oriented rather than resource oriented (which would be /package/mypackagename/edit), and unstable: there is a common root for /package/edit/mypackage and /package/history/mypackage which is not reflected in the URL structure. |
1260880487000000 | 1311178276000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#226 | enhancement | nickstenning | dread | v1.1 | closed | fixed | UI Review - History |
Repository History revision
|
1260880515000000 | 1279130390000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#227 | enhancement | nickstenning | dread | v1.1 | closed | fixed | UI Review - General checks |
|
1260880552000000 | 1279192621000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#229 | enhancement | dread | dread | v0.11 | closed | fixed | Resource hashes |
New field for resources - hash of the resource file.
Questions for the field's value:
Thanks to Julien D'Assanges for the suggestion. |
1262686287000000 | 1265891612000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#230 | task | dread | dread | v1.0 | closed | fixed | Refactor 'package preview' to use 'package read' |
|
1262788084000000 | 1265293953000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#235 | enhancement | tobes | dread | ckan-v1.9 | assigned | Resource format normalization and detection |
Try to gather proper MIME information for all package resources in CKAN. This is a shared ticket with dcat-tools (https://bitbucket.org/pudo/dcat-tools), i.e. opendatasearch.org. This can then also be used by ckanrdf, the CKAN RDF conversion service. Sub-tasks:
|
1263827604000000 | 1340627624000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#239 | task | dread | dread | v1.0 | closed | fixed | Test migrate scripts |
Integrate new test upgrade into testmigrate stuff. New "migrate.ini" config file programmed with the db to be used for migrate tests and a param saying where the db dump is. |
1264439926000000 | 1265286521000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#241 | defect | rgrp | dread | v1.0 | closed | fixed | License doesn't preview correctly |
4 failing tests, including 2 in misc/package_saver and 2 in functional/test_package. |
1265625546000000 | 1270569769000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#243 | defect | rgrp | dread | closed | worksforme | Repetition of number of packages in a group |
http://ckan.net/group/publicdomain has: "There is 16 package in this group. There are 16 packages in this group." |
1265750250000000 | 1266837796000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#244 | defect | rgrp | dread | closed | fixed | Several links preceded by link URL |
e.g. Text on ckan.net home page: "All material available under an /licenseopen license" Also seen on the package edit page: "/user/loginClick here to sign in" I believe this is due to the i18n additions from Benoit. Maybe needs new Genshi. Maybe best to work round in the meantime. |
1265750419000000 | 1271248968000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#249 | enhancement | rgrp | dread | closed | invalid | Regex search |
Search of package name and title (and other fields) using regular expressions. Current example use-case: Wanting to specify packages with title beginning with 'B'. Issues:
Implementation:
http://www.postgresql.org/docs/current/static/functions-matching.html#FUNCTIONS-POSIX-TABLE |
1265994509000000 | 1311182450000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#250 | enhancement | icmurray | dread | ckan-v1.9 | assigned | RDF link in Atom feed |
Add link to RDF representation of a package in our Atom feed. |
1266507695000000 | 1340631430000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#253 | enhancement | dread | ckan-backlog | assigned | Package relationships |
OverviewFunctionality 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
See more examples discussed here: http://trac.ckan.org/ticket/253 ImplementationThis is split into four tickets:
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). |
1266854721000000 | 1339774726000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#254 | enhancement | dread | dread | v1.0 | closed | fixed | Package relationships - 1. model |
New domain object: PackageRelationship? (revisioned) Attributes:
Relationship type values: depends_on (dependency_of) derives_from (has_derivation) child_of (parent_of) Relationship type is stored as a string, as given in the first column. The reverse relationship (bracketed) is given just for display purposes only. Subject / Object - as in a sentence: "Dracos is derived from OSM" is <subject> <predicate> <object>. We'll use 'type' instead of 'predicate' as that is a more familiar word. |
1266928449000000 | 1273596180000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#255 | enhancement | dread | dread | v1.0 | closed | fixed | Package relationships - 2. Read in WUI |
WUI:
|
1266928542000000 | 1273596174000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#256 | requirement | dread | ckan-backlog | assigned | Package relationships - 3. Edit in WUI |
WUI:
|
1266928561000000 | 1339774714000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#257 | enhancement | dread | dread | v1.0 | closed | fixed | Package relationships - 4. Read in API |
API:
|
1266928630000000 | 1273596170000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#258 | enhancement | rgrp | dread | v1.0 | closed | fixed | Add uuids into package in REST |
Add uuids into package in REST interface. |
1266954722000000 | 1273596163000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#259 | defect | rgrp | dread | v1.0 | closed | fixed | isitopen enquiry broken |
Pressing the 'make an enquiry' link on the package read page gives 404. (Also links should also be changed from isitopen.ckan.net to isitopendata.org) Example link is: http://isitopen.ckan.net/enquiry/create/?ckan_package=zeno which gets forwarded to: http://www.isitopendata.org/enquiry/create/?ckan_package=zeno which gives 404 |
1267012666000000 | 1273596153000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#265 | enhancement | johnbywater | dread | v1.0 | closed | fixed | More detail shown in Atom feed |
Use caseAs a user I want to stay abreast of package changes, such as a new package being created, newer data is available for a package or a new download is available for a package. ImplementationAdd into the Atom feed:
|
1267708364000000 | 1271636891000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#266 | enhancement | johnbywater | dread | v1.0 | closed | fixed | Package feed |
As a user I want to track changes to a particular package. Provide an Atom feed, linked from the package read page. |
1267716417000000 | 1271636901000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#268 | defect | rgrp | dread | closed | duplicate | Select groups in Package edit form | 1268068896000000 | 1285070682000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#269 | enhancement | rgrp | dread | closed | fixed | Improve gov package form |
If the notes field could use a WYSIWYG editor with word cleanup this would really help users who may well be pasting in text from Word (and I guess may have been approved or written by someone else) having auto-complete on tags would both make the system easier to use - and reduce the risk of synonymous tags being created inadvertently. Does the department drop down options list interact with user permissions - so that users who only have rights to one department only see that option ? Similarly for licenses - can this reduce to the set of allowed options for this user/ What level of validation is there on the fields? |
1268220853000000 | 1291897538000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#277 | enhancement | zephod | dread | ckan-backlog | assigned | Set some config options / settings in WUI (extension) |
Use caseAs a ckan administrator I want to easily change options about the CKAN install. ImplementationSettings to be in DBSuggested: ## Title of site (using in several places including templates and <title> 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 </body> tag (e.g. google analytics code) ## NB: can use html e.g. <strong>blah</strong> ## NB: can have multiline strings just indent following lines # ckan.template_footer_end = NB: these will still need to be stored somewhere for loading on initialization. do this in db init function ... Settings / Options / KeyValues? TableColumns:
Loading settings from DBDo this in ckan/config/environment.py WUI
Depends
|
1269274861000000 | 1318247121000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#278 | defect | dread | dread | v1.0 | closed | fixed | Spaces in extra field keys |
If the key to an extra field has a space in it then various form code doesn't work. Either need to disallow spaces or cope with them. |
1269520845000000 | 1271173752000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#279 | enhancement | johnbywater | dread | v1.0 | closed | fixed | Ensure package's license is an option when it's edited |
With forms configurable to show a subset of licenses and ckan instances moving packages from server to server, there is a chance that a user will edit a package and the existing package's license is not displayed in the form. If the user submits this form without touching the license dropdown, then the value is lost. So for this case we should add the package's license to the list displayed. |
1270205931000000 | 1272451384000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#280 | defect | dread | dread | v1.0 | closed | fixed | Disappearing extra fields |
When I edit a package on no.ckan.net with lots of extra fields, lots of them completely disappear. Metastable branch. |
1270209684000000 | 1271173769000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#281 | enhancement | dread | dread | v1.0 | closed | fixed | Refactor forms to be plugin-able | 1270542248000000 | 1270723675000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#282 | enhancement | thejimmyg | dread | closed | wontfix | Provide diverts when package name changes |
When a package's name is changed, references to the old name (in the WUI and REST) are redirected to the new name (assuming the old name is not being reused by another package). |
1270659003000000 | 1338206417000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#283 | enhancement | rgrp | dread | closed | wontfix | Manage deletions of unwanted packages |
Use caseAs a user I want to notify the CKAN admins of a spammed or unsuitable package for deletion. Suggested solutionIn the package view side-bar, there is a note: "To have this package completely removed, contact the [ca.ckan.net administrators admin@…]." Other solutionsA more complicated solution would be to allow packages to be tagged for deletion, which would auto-alert administrators, and allow easier administration of this. But this might be overkill. |
1270660210000000 | 1311325526000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#286 | enhancement | dread | dread | v1.0 | closed | fixed | Refactor forms templates |
Use Nick's examples as a basis to revamp the formalchemy usage, principally in the package edit form. |
1270723513000000 | 1270723629000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#287 | enhancement | dread | dread | v1.0 | closed | fixed | Customise Canadian package edit form |
Spec - see attached, which is a copy of the Pirate Pad from Lauren: http://piratepad.net/2C2iwiLDhd |
1270801086000000 | 1270801210000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#288 | defect | dread | dread | v1.0 | closed | fixed | Foreign and escaped characters in extras fields |
These don't work. |
1271171899000000 | 1271173777000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#289 | enhancement | rgrp | dread | v1.0 | closed | fixed | Document config options | 1271248690000000 | 1271249368000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#290 | defect | johnbywater | dread | v1.0 | closed | fixed | Revision API - docs |
doc/api.rst needs to cover the new Revision REST interface. |
1271268759000000 | 1271636910000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#291 | defect | rgrp | dread | closed | worksforme | Investigate search options encoding |
On ckan.net there is this unchecked-in 'temporary hack'. It seems to be to do with foreign characters in search options. See what its doing and if necessary, put check it in. diff -r 813ad8b5de0b ckan/lib/search.py --- a/ckan/lib/search.py Mon Mar 01 22:23:36 2010 +0100 +++ b/ckan/lib/search.py Thu Apr 15 19:11:42 2010 +0200 @@ -63,6 +63,9 @@ def query(self, options): '''For the given search options, returns a query object.''' self._options = options + # temporary hack! + if self._options.q: + self._options.q = self._options.q.encode('utf8') general_terms, field_specific_terms = self._parse_query_string() if not general_terms and \ |
1271351670000000 | 1273254895000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#292 | defect | dread | dread | v1.0 | closed | fixed | PackageResources are created new on every package edit |
When you edit a package, all of its resources are deleted and a fresh set created. This causes all history of them to be lost. |
1271755964000000 | 1272286005000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#293 | defect | johnbywater | dread | v1.0 | closed | fixed | REST PackageResource update causes exception |
This is caused by editing a package with resources over the REST interface. Exception: URL: http://de.ckan.net/api/rest/package/destatis Module weberror.errormiddleware:162 in __call__ << __traceback_supplement__ = Supplement, self, environ sr_checker = ResponseStartChecker(start_response) app_iter = self.application(environ, sr_checker) return self.make_catching_iter(app_iter, environ, sr_checker) except: >> app_iter = self.application(environ, sr_checker) Module repoze.who.middleware:107 in __call__ << wrapper = StartResponseWrapper(start_response) app_iter = app(environ, wrapper.wrap_start_response) # The challenge decider almost(?) always needs information from the >> app_iter = app(environ, wrapper.wrap_start_response) Module beaker.middleware:73 in __call__ << self.cache_manager) environ[self.environ_key] = self.cache_manager return self.app(environ, start_response) >> return self.app(environ, start_response) Module beaker.middleware:152 in __call__ << headers.append(('Set-cookie', cookie)) return start_response(status, headers, exc_info) return self.wrap_app(environ, session_start_response) def _get_session(self): >> return self.wrap_app(environ, session_start_response) Module routes.middleware:130 in __call__ << environ['SCRIPT_NAME'] = environ['SCRIPT_NAME'][:-1] response = self.app(environ, start_response) # Wrapped in try as in rare cases the attribute will be gone already >> response = self.app(environ, start_response) Module pylons.wsgiapp:125 in __call__ << controller = self.resolve(environ, start_response) response = self.dispatch(controller, environ, start_response) if 'paste.testing_variables' in environ and hasattr(response, >> response = self.dispatch(controller, environ, start_response) Module pylons.wsgiapp:324 in dispatch << if log_debug: log.debug("Calling controller class with WSGI interface") return controller(environ, start_response) def load_test_env(self, environ): >> return controller(environ, start_response) Module ckan.lib.base:51 in __call__ << # available in environ['pylons.routes_dict'] try: return WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> return WSGIController.__call__(self, environ, start_response) Module pylons.controllers.core:221 in __call__ << return response(environ, self.start_response) response = self._dispatch_call() if not start_response_called: self.start_response = start_response >> response = self._dispatch_call() Module pylons.controllers.core:172 in _dispatch_call << req.environ['pylons.action_method'] = func response = self._inspect_call(func) else: if log_debug: >> response = self._inspect_call(func) Module pylons.controllers.core:107 in _inspect_call << func.__name__, args) try: result = self._perform_call(func, args) except HTTPException, httpe: if log_debug: >> result = self._perform_call(func, args) Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method""" __traceback_hide__ = 'before_and_this' return func(**args) def _inspect_call(self, func): >> return func(**args) Module ckan.controllers.rest:145 in update << fs = ckan.forms.group_fs_combined fs = fs.bind(entity, data=request_fa_dict) validation = fs.validate_on_edit(entity.name, entity.id) if not validation: response.status_int = 409 >> validation = fs.validate_on_edit(entity.name, entity.id) Module ckan.forms.package:385 in validate_on_edit << temp_name = orig_pkg_name self.data['Package-%s-name' % record_id] = u'something_unique' validation = self.validate() if temp_name: # restore it >> validation = self.validate() Module formalchemy.forms:175 in validate << if self.readonly: raise Exception('Cannot validate a read-only FieldSet') return AbstractFieldSet.validate(self) def sync(self): >> return AbstractFieldSet.validate(self) Module formalchemy.forms:104 in validate << success = True for field in self.render_fields.itervalues(): success = field._validate() and success # run this _after_ the field validators, since each field validator # resets its error list. we want to allow the global validator to add >> success = field._validate() and success Module formalchemy.fields:763 in _validate << try: value = self._deserialize() except validators.ValidationError, e: self.errors.append(e) >> value = self._deserialize() Module formalchemy.fields:1354 in _deserialize << if self.is_composite_foreign_key: return self.query(self.relation_type()).get(python_pk(self.renderer.deserialize())) return self.renderer.deserialize() >> return self.renderer.deserialize() Module formalchemy.fields:183 in deserialize << if self.field.is_collection: return [self._deserialize(subdata) for subdata in self._serialized_value()] return self._deserialize(self._serialized_value()) def _deserialize(self, data): >> return self._deserialize(self._serialized_value()) Module formalchemy.fields:167 in _serialized_value << if self.field.is_collection: return self._params.getall(self.name) return self._params.getone(self.name) def deserialize(self): >> return self._params.getone(self.name) Module formalchemy.base:63 in getone << if v is None or isinstance(v, basestring) or isinstance(v, cgi.FieldStorage): return v return v[0] def getall(self, key): v = dict.get(self, key) >> return v[0] TypeError: 'int' object is unsubscriptable Thanks to Friedrich for spotting this. |
1271756102000000 | 1271940083000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#294 | enhancement | thejimmyg | dread | closed | duplicate | Add/remove extra fields in Package edit form |
Currently the package form gives you 3 fields for extras. To get more you have to hit preview. This is obscure. It would be better to have some buttons to add/remove fields, just like with the resources. |
1271756591000000 | 1291830960000000 |