{22} Trac tickets (2647 matches)
Results (2201 - 2300 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#181 | enhancement | rgrp | jwyg | closed | invalid | New 'stats' box on right hand sidebar |
With up to date statistics such as:
Could also be nice to have a more dedicated stats page - with information such as graphs showing rate of packages being added and such like. See ticket:184 |
1257534385000000 | 1296339510000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#183 | enhancement | rgrp | rgrp | closed | worksforme | Browse packages by rating |
At moment order packages by title. |
1257534606000000 | 1290604779000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#184 | enhancement | dread | rgrp | closed | fixed | Stats page |
Create /stats/ page displaying main statistics, e.g:
Related to ticket:181 - Stats side-bar Details
|
1257534756000000 | 1266837414000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#186 | enhancement | rgrp | rgrp | closed | duplicate | Automated upload to archive.org s3 |
(Follows on from ticket:107). We want to provide facility for users to automatically upload material.
|
1257803430000000 | 1296341182000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#199 | defect | rgrp | casbon | closed | fixed | Fix failing tests and provide documentation on how to run tests in datapkg |
As of 80:099bdc5b07a6 datapkg has 4 test fails and 1 test error. There is no documentation on how to run them, so I am using 'python setup.py test'. datapkg.tests.test_cli.TestCLI.test_ckan ... FAIL datapkg.tests.test_cli.TestCLI.test_walkthrough ... FAIL datapkg.tests.test_index.TestDbIndex.test_get ... /Users/james/Documents/virtualenvs/okfn/src/datapkg/datapkg/index.py:97: SADeprecationWarning: Use session.add() self.session.update(pkg) FAIL datapkg.tests.test_index.TestDbIndex.test_get_when_loaded_as_new_and_init_not_called ... /Users/james/Documents/virtualenvs/okfn/src/datapkg/datapkg/tests/test_index.py:57: SADeprecationWarning: Use session.expunge_all() self.index.session.clear() FAIL |
1259087361000000 | 1267649255000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#200 | defect | rgrp | rgrp | closed | invalid | PythonDistribution write method should write all available metadata |
Current write method just creates a bare bones package and does not write any of the available metadata other than name. |
1259229583000000 | 1311176118000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#209 | enhancement | rgrp | rgrp | closed | fixed | Validate email address when creating an enquiry |
p:wui 2009-09-09 validate email address when creating an enquiry |
1260288671000000 | 1260288728000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#210 | enhancement | johnbywater | johnbywater | closed | invalid | User registration |
Native registration scenario: Complete registration form, require unique email address (indicate this not displayed on site), full name (indicate this is displayed on site), password. Dispatch email confirmation message. Respond to email confirmation message causes user to be logged in. Users are assigned a uuid. |
1260292578000000 | 1266509788000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#211 | enhancement | johnbywater | johnbywater | closed | invalid | User login |
Native login scenario: Complete login form, require email address. Any session is resumed. Mandated technical requirement: use Repoze (see plugin:form of repoze.who); borrow from BlastOff?. See CKAN or Microfacts for usage of repose with openid. |
1260292624000000 | 1266509848000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#219 | enhancement | nickstenning | dread | closed | wontfix | UI Review - Package |
|
1260879947000000 | 1294914901000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#222 | defect | nickstenning | dread | closed | fixed | UI Review - Package history |
Package history page package/history/mypackagename
|
1260880198000000 | 1282909280000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#228 | enhancement | rgrp | rgrp | closed | duplicate | Deal with duplicate packages |
This needs to be thought out ... |
1262085763000000 | 1290596875000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#232 | enhancement | rgrp | rgrp | closed | invalid | Add strapline to CKAN logo |
Strapline (?): Sharing, discovery and reuse of data and content Need to consult on this. Cost: 1h |
1262975291000000 | 1297246297000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#234 | enhancement | memespring | rgrp | closed | wontfix | UI Review - Autocomplete package names & tags in search |
Broken out from ticket:216 |
1263056678000000 | 1338206486000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#236 | enhancement | johnbywater | johnbywater | closed | fixed | The system shall present to all users a form for starting data openness enquiries | 1264157100000000 | 1264157324000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#237 | enhancement | johnbywater | johnbywater | closed | fixed | The system shall accept submissions from authenticated owners of activated accounts using the data openness enquiry form by presenting the enquiry summary and prompting for confirmation | 1264157377000000 | 1264157420000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#238 | enhancement | johnbywater | johnbywater | closed | invalid | The system shall accept submissions from unauthenticated users of the data openness enquiry form by creating an anonymous pending enquiry action, and by redirecting the user to login form, passing a reference to the pending action | 1264157814000000 | 1266509806000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#245 | enhancement | rgrp | rgrp | closed | duplicate | Support for composite primary keys |
Problem here is that foreign key then becomes "complicated" (composite).
|
1265882630000000 | 1297066620000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#246 | enhancement | rgrp | rgrp | closed | duplicate | Support for primary key not named id |
At the moment setting of continuity_id depends on base table pkcol being id. Should not be hard to change this -- and may get for free as part of ticket:245 (composite primary keys) |
1265882862000000 | 1297066757000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#252 | enhancement | dread | johnbywater | closed | invalid | Change revision object so that it has parent(s) attribute | 1266519767000000 | 1296477560000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#262 | enhancement | rgrp | rgrp | closed | fixed | Mark package as duplicate of another package |
Need a way to mark packages as duplicate.
|
1267139682000000 | 1296468392000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#270 | enhancement | johnbywater | johnbywater | closed | fixed | Refactor ckan/lib/importer and ckanclient/loader. |
There is code to create packages in-process (ckan/lib/importer) and via HTTP (ckanclient/loaders/base). There is also code to read different kinds of package source (Google Spreadsheets spreadsheet, other spreadsheet). Propose to refactor all this to have template method in base command class (subclasses may implement command line interface, graphical user interface, or Web interface), where the template method calls on aggregated strategy objects for: reading raw spreadsheet data from spreadsheet application; for inferring CKAN package entities from the raw spreadsheet data; and for writing package entities to CKAN service. Spreadsheet readers to be factored to allow for variations of spreadsheet application. Raw data inferrers to allow for variations in spreadsheet cell structure. CKAN writer strategies to allow for either CKAN client or direct linking. Actual cases then supported by specifying existing strategies (or defining new ones) in a script that invokes the command class. |
1268671804000000 | 1290596640000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#272 | enhancement | rgrp | rgrp | closed | fixed | Atom/RSS feeds for individual tags and groups |
I want to be able to easily check when a package is added (or removed?) from a given tag or groups. To do this I would like access to an Atom/RSS feed for a given tag or group.
|
1268988652000000 | 1340631775000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#274 | defect | rgrp | rgrp | closed | fixed | Allow searching by any extra field |
At the moment only support a very limited set of extra fields (see docs for details). Should support arbitrary extra fields (note no need to put these in special full text index though ...) Cost: 1h |
1269034562000000 | 1287402800000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#275 | defect | dread | rgrp | closed | fixed | Add forms renderer for JsonType fixing bugs in admin interface |
This will solve e.g. issues in formalchemy admin interface (which is due to lack of renderer for Json type) Cost: 0.5h from ckan.model.types import JsonType forms.FieldSet.default_renderers[JsonType] = formalchemy.fields.TextFieldRenderer |
1269122740000000 | 1281002082000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#285 | enhancement | rgrp | assigned | Paginate list of packages on tag read page |
Is this worth doing? On hmg.ckan.net start to have a lot of packages with a given tag ... |
1270664606000000 | 1340631923000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#296 | enhancement | johnbywater | johnbywater | closed | duplicate | Commit CKAN revisions to changeset system | 1272279521000000 | 1294407032000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#297 | enhancement | johnbywater | johnbywater | closed | duplicate | Update CKAN repository from changeset system | 1272279556000000 | 1294407051000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#298 | enhancement | johnbywater | johnbywater | closed | duplicate | Pull changesets from remote CKAN instance | 1272279591000000 | 1294407080000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#299 | enhancement | johnbywater | johnbywater | closed | duplicate | Merge diverging lines of changesets | 1272279698000000 | 1294407099000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#301 | enhancement | rgrp | assigned | Package discussion pages |
A package discussion page is like a wikipedia discussion page: an editable free text page for people to have discussion/post comments about a given package. It provides a way for people to make suggestions about a package without needing access to main package. |
1272301033000000 | 1340632055000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#306 | enhancement | rgrp | rgrp | closed | duplicate | datapkg build command |
Need to be able to build a distribution. Need:
|
1272474212000000 | 1318181194000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#308 | enhancement | rgrp | rgrp | closed | duplicate | Autocomplete package names & tags in package search |
Extracted from ticket:216. Dubious of its merit. |
1273050549000000 | 1275302577000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#309 | defect | pudo | dread | closed | fixed | Tag list shows unused tags |
Deleted tags are visible on the /tag page and are searchable. Delete tags are ones that were in use once and then discarded, so this includes ones which are not used on any packages any more, including misspelling, mistakes, and deprecated tags. It would makes sense to remove them. Example tag that is viewed at /tag and searchable: http://ckan.net/tag/2rand[0 |
1273247648000000 | 1280743432000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#312 | defect | rgrp | dread | closed | invalid | Race condition creating PackageRating |
On ckan.net there are a few packages which cause a 403 exception when you try to rate them: http://www.ckan.net/package/rate/coins-data?rating=3 The exception is occuring here: ckan.rating:39 in set_rating rating_obj = rating_query.one() InvalidRequestError?: Multiple rows returned for one() It looks like this package got rated twice in quick succession, creating two similar PackageRating? objects. This race condition needs to be solved and these particular rating objects repaired. |
1273482785000000 | 1311176173000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#314 | defect | johnbywater | johnbywater | closed | fixed | Bugs getting revisions from the REST API |
Bug report regarding getting revisions: Getting revisons by ID (on the latest ID) GET "http://test-hmg.ckan.net/api/search/revision?since_revision=44aac9b6-ba24-43a8-87a1-f6923dc523ff" Returns a whole load of stuff (it's also quite slow - about 10 seconds) I'm expecting it to return just an empty array - am I doing something wrong here - if so could you clarify correct use of the API? GET "http://test-hmg.ckan.net/api/search/revision?since_time=2010-04-30T23:45" Returns the empty string - I'd expect an empty array ie [] GET "http://test-hmg.ckan.net/api/search/revision?since_time=2010-04-31T23:45" Returns an internal server error 500 - I think it should probably be "bad Request" 400 (the date is invalid) |
1273743755000000 | 1276523983000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#316 | defect | rgrp | dread | closed | fixed | Search URL escaping |
If you search for unescaped characters such as '`' (backtick) in the URL in Chrome then you get a 500 error. e.g. http://www.ckan.net/package/search?q=fjdkf2B%C2%B4gfhgfkgf{gpk fjdkf2B´gfhgfkgf{gpk returns this exception: URL: http://www.ckan.net/package/search?q=fjdkf%2B%C2%B4gfhgfkgf%7Bg%C2%B4pk&search=Search+Packages+%C2%BB 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:50 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.package:52 in search << collection=query, page=request.params.get('page', 1), items_per_page=50 ) # filter out ranks from the query result >> items_per_page=50 Module webhelpers.paginate:333 in __init__ << self.item_count = item_count else: self.item_count = len(self.collection) # Compute the number of the first and last available page >> self.item_count = len(self.collection) Module webhelpers.paginate:204 in __len__ << def __len__(self): return self.obj.count() # Since the items on a page are mainly a list we subclass the "list" type >> return self.obj.count() Module sqlalchemy.orm.query:1094 in count << q = q.params(params) q = q._legacy_select_kwargs(**kwargs) return q._count() def _count(self): >> return q._count() Module sqlalchemy.orm.query:1103 in _count << """ return self._col_aggregate(sql.literal_column('1'), sql.func.count, nested_cols=list(self.mapper.primary_key)) def _col_aggregate(self, col, func, nested_cols=None): >> return self._col_aggregate(sql.literal_column('1'), sql.func.count, nested_cols=list(self.mapper.primary_key)) Module sqlalchemy.orm.query:1125 in _col_aggregate << if self._autoflush and not self._populate_existing: self.session._autoflush() return self.session.scalar(s, params=self._params, mapper=self.mapper) def compile(self): >> return self.session.scalar(s, params=self._params, mapper=self.mapper) Module sqlalchemy.orm.session:635 in scalar << engine = self.get_bind(mapper, clause=clause, instance=instance) return self.__connection(engine, close_with_result=True).scalar(clause, params or {}) def close(self): >> return self.__connection(engine, close_with_result=True).scalar(clause, params or {}) Module sqlalchemy.engine.base:834 in scalar << """ return self.execute(object, *multiparams, **params).scalar() def statement_compiler(self, statement, **kwargs): >> return self.execute(object, *multiparams, **params).scalar() Module sqlalchemy.engine.base:844 in execute << for c in type(object).__mro__: if c in Connection.executors: return Connection.executors[c](self, object, multiparams, params) else: raise exceptions.InvalidRequestError("Unexecutable object type: " + str(type(object))) >> return Connection.executors[c](self, object, multiparams, params) Module sqlalchemy.engine.base:895 in execute_clauseelement << else: keys = None return self._execute_compiled(elem.compile(dialect=self.dialect, column_keys=keys, inline=len(params) > 1), distilled_params=params) def _execute_compiled(self, compiled, multiparams=None, params=None, distilled_params=None): >> return self._execute_compiled(elem.compile(dialect=self.dialect, column_keys=keys, inline=len(params) > 1), distilled_params=params) Module sqlalchemy.engine.base:907 in _execute_compiled << context.pre_execution() self.__execute_raw(context) context.post_execution() self._autocommit(context) >> self.__execute_raw(context) Module sqlalchemy.engine.base:916 in __execute_raw << self._cursor_executemany(context.cursor, context.statement, context.parameters, context=context) else: self._cursor_execute(context.cursor, context.statement, context.parameters[0], context=context) def _execute_ddl(self, ddl, params, multiparams): >> self._cursor_execute(context.cursor, context.statement, context.parameters[0], context=context) Module sqlalchemy.engine.base:958 in _cursor_execute << self.engine.logger.info(repr(parameters)) try: self.dialect.do_execute(cursor, statement, parameters, context=context) except Exception, e: self._handle_dbapi_exception(e, statement, parameters, cursor) >> self.dialect.do_execute(cursor, statement, parameters, context=context) Module sqlalchemy.engine.default:133 in do_execute << def do_execute(self, cursor, statement, parameters, context=None): cursor.execute(statement, parameters) def is_disconnect(self, e): >> cursor.execute(statement, parameters) UnicodeEncodeError: 'ascii' codec can't encode character u'\xb4' in position 6: ordinal not in range(128) |
1274265928000000 | 1291831177000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#319 | defect | dread | dread | closed | fixed | Local Authority license misnamed in migration script 18 |
Migration script 18 converts license "OKD Compliant::Local Authority Copyright with data.gov.uk rights" into "uklocalauthority-withrights" when it should be "localauth-withrights", according to the license service SoS 2. This causes clients difficulties looking it up. |
1274349714000000 | 1274366882000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#321 | enhancement | thejimmyg | johnbywater | closed | duplicate | Delegate authentication to Drupal |
When CKAN is included in a Drupal front-end, CKAN edit pages are used in a slave-mode, such that authentication is delegated to the Drupal front-end user model. The Drupal front-end shall have:
indicates what has happened, and how to ask for permission. The CKAN slave edit page shall:
|
1274705234000000 | 1291831399000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#327 | defect | pudo | pudo | closed | wontfix | Create a web hook worker for CKAN |
We need to have a UI module that allows for the hook CRUD and some feedback (e.g. non 200 status codes) |
1274807361000000 | 1296467361000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#330 | defect | dread | dread | closed | fixed | getdata/ons timezone not recognised on non-British servers |
The python time module is supposed to recognise timezones such as 'UTC', 'GMT' and 'BST' using the %Z parameter. This works fine on British installs, but the buildbot (for example) gives this error: DateConvertError?: Could not read date as ISO format "%a, %d %b %Y %H:%M:%S %Z". Date provided: "Mon, 04 Jan 2010 09:30:00 BST" It turns out that it only recognises local names of timezones. The ONS import doesn't care much about timezone, so we should just ignore it, avoiding these problems. |
1275300271000000 | 1275303122000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#332 | defect | pudo | rgrp | closed | fixed | Autocomplete tag on click |
During tag autocompletion, clicking on a suggested tag doesn't trigger completion in the text box. |
1275302887000000 | 1280743320000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#334 | defect | pudo | dread | closed | fixed | Wrong link for package feed icon |
This is a problem with the package page e.g. http://ckan.net/package/open-election-data-project . The feed icon links to [1] and the text next to it "Subscribe" links to [2]. Surely these should be the same? The second link seems to right one to me. |
1275407445000000 | 1280743667000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#339 | defect | johnbywater | closed | fixed | Remove download_url from package data format in API Version 2, but maintain the old data format in the old version of the interface (API Version 1) | 1275901499000000 | 1278074705000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#341 | enhancement | dread | closed | fixed | Web UI accepts package IDs in URLs |
(in the same way that we can refer to packages in the API by ID as well as name.) As aclient of CKAN I want tolink to a package page in the UI, referring to it by ID |
1276162400000000 | 1277483030000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#342 | enhancement | dread | dread | closed | fixed | JSONP parameter in API |
As aCKAN client using JQuery I want tocall the CKAN API and instead of receiving back JSON I get JSONP. i.e. "%s(%s)" % (callback, json_content) Suggested implementationAll API calls allow the JSONP 'callback' parameter to be specified in the request and this wraps the JSON response. See suggested patch to rest.py by Donovan Hide: http://knowledgeforge.net/ckan/trac/attachment/ticket/336/resource.patch Testimport re import unittest def test_jsonp_callback():
I think the point needs to be made that JSONP only works for GET requests and not POST/PUT/DELETE, so there needs to be a check for that in the _finish_ok method. (thanks to Donovan Hide for test) |
1276166426000000 | 1276278485000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#343 | defect | johnbywater | dread | closed | fixed | Packages referred by ID in API |
When you do a Package Search or query a Package Relationship in the API version 2, the responses have relationships which refer to packages by name, not by ID. |
1276180179000000 | 1278066420000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#344 | defect | dread | closed | fixed | REST Create package with incorrect format gives 500 error |
PUT to /rest/api/package of {"name": "name", "resources": ["someurl.com/data"] } (i.e. resource is a string, not a dictionary) gives 500 error, when it should give a 400 error and helpful error message. Exception: Module ckan.controllers.rest:154 in create << if register == 'package' and not subregister: fs = ckan.forms.get_standard_fieldset() request_fa_dict = ckan.forms.edit_package_dict(ckan.forms.get_package_dict(fs=fs), request_data) fs = fs.bind(model.Package, data=request_fa_dict, session=model.Session) elif register == 'package' and subregister in model.PackageRelationship.get_all_types(): >> request_fa_dict = ckan.forms.edit_package_dict(ckan.forms.get_package_dict(fs=fs), request_data) Module ckan.forms.package_dict:88 in edit_package_dict << for res_dict in value: res_dict_str = {} for key, value in res_dict.items(): res_dict_str[str(key)] = value resources.append(res_dict_str) >> for key, value in res_dict.items(): AttributeError: 'unicode' object has no attribute 'items' |
1276341172000000 | 1277477712000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#345 | requirement | dread | johnbywater | closed | invalid | metastable, stable & ultrastable branches shall be automatically built and tested | 1276523083000000 | 1291831615000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#347 | enhancement | johnbywater | johnbywater | closed | fixed | The system shall present the package edit form in an API | 1276523692000000 | 1277820440000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#348 | enhancement | johnbywater | johnbywater | closed | fixed | The system shall accept package edit form submissions in an API | 1276523793000000 | 1277820496000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#352 | enhancement | dread | dread | closed | wontfix | Package notification worker - sends XML-RPC |
As anexternal front-end I want tobe notified (by XML-RPC) about package creations and updates. Implementation
Rather than turning the package fields into XML fields, the JSON dump of the list of package dictionaries will become a single XML parameter. Config - in the CKAN config will be:
|
1276597996000000 | 1286375870000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#353 | defect | dread | closed | fixed | SOLR search indexing |
As aSOLR instance I want tokeep my search index of CKAN packages up-to-date Implementation
|
1277123480000000 | 1280756399000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#354 | defect | johnbywater | johnbywater | closed | invalid | Collect together requirements and top-level design for user/package 'groups' |
Collect together requirements and top-level design for user/package 'groups': existing tickets, Rufus spec, Sean spec, meeting notes (dread) email, based on existing user authz stuff. http://knowledgeforge.net/ckan/trac/wiki/AccessControl Do we add these into user-role table somehow or new table? To present this to team |
1277131335000000 | 1282908983000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#355 | defect | rgrp | rgrp | closed | fixed | Dashes versus underscores in package names |
Sort out how we deal with dashes versus underscores in package names. |
1277221996000000 | 1311177552000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#357 | defect | johnbywater | johnbywater | closed | fixed | Fix API documentation, to correct misleading HTTP_AUTHORIZATION statement. |
Sean Burlington wrote:
|
1277459886000000 | 1277461466000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#362 | defect | dread | dread | closed | invalid | Ratings should not be created with a GET |
BackgroundIn the Web UI, when you rate a package it simply links to something like: http://ckan.net/package/rate/mke-liquor-licenses?rating=3 This creates a GET request. This is bad because:
|
1278925451000000 | 1311176564000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#365 | enhancement | dread | dread | closed | fixed | ResourceNotifications |
If you change a resource then you not only get a PackageNotification?, but also a ResourceNofication?. |
1279037411000000 | 1279300621000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#367 | enhancement | dread | dread | closed | fixed | Notfication monitor |
Runs on the commandline and prints out notifications. |
1279303310000000 | 1279303693000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#368 | defect | anonymous | closed | wontfix | 500 Server error when creating package |
I've just started writing the importer from cap.open.org.nz and was running an initial import of just the package name and titles. The packages were created however I received a 500 error in response: "publish: New Zealand Coastline (new-zealand-coastline)" opening connection to nz.ckan.net... opened <- "POST /api/rest/package HTTP/1.1\r\nContent-Type: application/x-www-form-urlencoded\r\nConnection: close\r\nAuthorization: 81179ade-fa4a-4632-9b89-3d0c98bfc8b8\r\nContent-Length: 64\r\nHost: nz.ckan.net\r\n\r\n" <- "{\"name\":\"new-zealand-coastline\",\"title\":\"New Zealand Coastline\"}" -> "HTTP/1.1 500 Internal Server Error\r\n" -> "Date: Tue, 20 Jul 2010 10:20:35 GMT\r\n" -> "Server: Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2\r\n" -> "Vary: Accept-Encoding\r\n" -> "Content-Type: text/html; charset=iso-8859-1\r\n" -> "Cache-Control: proxy-revalidate\r\n" -> "Content-Length: 640\r\n" -> "Connection: close\r\n" -> "\r\n" reading 640 bytes... -> "<!DOCTYPE HTML PUBLIC \"-IETFDTD HTML 2.0EN\">\n<html><head>\n<title>500 Internal Server Error</title>\n</head><body>\n<h1>Internal Server Error</h1>\n<p>The server encountered an internal error or\nmisconfiguration and was unable to complete\nyour request.</p>\n<p>Please contact the server administrator,\n [no address given] and inform them of the time the error occurred,\nand anything you might have done that may have\ncaused the error.</p>\n<p>More information about this error may be available\nin the server error log.</p>\n<hr>\n<address>Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2 Server at nz.ckan.net Port 80</address>\n</body></html>\n" read 640 bytes Conn close The server should not respond with a 500 error if the package was created. |
1279622462000000 | 1291831811000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#373 | requirement | dread | johnbywater | closed | fixed | Sort out gov daily script |
Split various jobs up into separate scripts. Change ONS importer to run remotely. Run ONS remotely. Run dump locally. Requested by DGU. |
1279885887000000 | 1286376176000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#381 | defect | johnbywater | closed | invalid | Test defect |
please ignore |
1280345937000000 | 1294410466000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#394 | task | johnbywater | johnbywater | closed | duplicate | Fix munin on DGU (?) | 1280485351000000 | 1294407189000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#396 | task | johnbywater | johnbywater | closed | fixed | Integrate Forms API into Drupal | 1280854226000000 | 1282324934000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#401 | task | pudo | pudo | closed | fixed | Provide base worker as queue consumer |
We should create and document a basic queue consumer and task processor for CKAN. It will connect to the CKAN update queue, read messages and dispatch them to a consumer function (such as a downloader or an analysis app) |
1281018724000000 | 1286189243000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#403 | requirement | pudo | closed | fixed | Create web service for OFS storage |
Create a thin web service that will allow users to upload files to OFS on S3 without knowing S3 credentials. This could also provide static urls for all stored resources.
|
1281346110000000 | 1287392451000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#407 | requirement | dread | closed | wontfix | Link to Scraperwiki |
As auser browsing a CKAN package which has a resource in a bad format I want tobe alerted to the possibility of scraping it on scraperwiki ImplementationThis should be done in a CKAN extension. It should appear in a side-bar on the package read page. If the package does not have a resource with scraperwiki.com in the url, then it displays this message:
Title: Scrape it |
1281348368000000 | 1330769956000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#412 | requirement | johnbywater | closed | fixed | Data format for package importing shall be documented |
Requirements:
|
1281430809000000 | 1289822092000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#418 | task | dread | closed | invalid | With COI, get SOLR working | 1281431691000000 | 1291637919000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#423 | task | dread | johnbywater | closed | fixed | Add examples to documentation about uploading data | 1281435260000000 | 1282812768000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#430 | task | thejimmyg | pudo | closed | wontfix | Upgrade CKAN to Pylons 1.0 |
Pylons 1.0 has been out for a while and appears to be running stable on a few production sites. It also introduces a few new features, among them the ability to specifiy controllers using the entrypoint mechanism. http://bitbucket.org/pudo/ckanextdeliverance/src/tip/ckanext/deliverance/pylonspatch.py This might be a bit ugly since the default behaviour of some pylons objects, such as tmpl_context, app_globals and redirect has changed. |
1281962485000000 | 1298283075000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#431 | task | pudo | pudo | closed | wontfix | Solr index testing tool |
There seem to be a few conditions under which either queue processing or the indexer fail in their current state. To get a more systematic picture of these failures, we should have a small testing tool to compare the index to the database of a live CKAN instance. |
1281963532000000 | 1295260262000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#439 | task | dread | closed | fixed | Plan server requirements for DGU |
Using use cases for security etc. Draw diagram to satisfy use cases. Communicate to Paul and therefore TSO. |
1282224452000000 | 1294413903000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#440 | task | dread | dread | closed | duplicate | Write and pass comprehensive performance tests |
Run latest ckan on eu0. Automate some queries and searches. Check load and database connections / processes. |
1282226932000000 | 1294417436000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#444 | task | dread | closed | duplicate | Discuss package relationships ideas with JF |
|
1282299238000000 | 1294414008000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#446 | task | dread | closed | invalid | Server configuration query (?) |
|
1282299385000000 | 1294414077000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#447 | task | memespring | johnbywater | closed | fixed | Presentation on Package edit form (labels IE7, horiz alignment in chrome) |
Follow up with NS and RP. |
1282299423000000 | 1311182895000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#448 | story | thejimmyg | dread | closed | invalid | [Assist with] editing packages through Drupal | 1282299478000000 | 1294417061000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#449 | task | wwaites | johnbywater | closed | invalid | Start email thread about RDF in CKAN with JF and WW | 1282299482000000 | 1311182945000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#450 | task | dread | closed | fixed | Assist with proxying of static media for forms |
John did this a while ago. |
1282299573000000 | 1287997487000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#452 | task | dread | closed | fixed | Assist with using package update error form | 1282299647000000 | 1287997540000000 |