{22} Trac tickets (2647 matches)

Results (501 - 600 of 2647)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Id Type Owner Reporter Milestone Status Resolution Summary Description Posixtime Modifiedtime
#2753 enhancement aron.carroll shevski demo phase 2 closed fixed rename breadcrumb on user page

Currently lower case 'active' is the name of this page: http://s031.okserver.org:2375/user

Should be 'All Users' or 'Active Users'

1343225088000000 1343227431000000
#2754 enhancement aron.carroll shevski demo phase 2 closed fixed Add + icon to two buttons

Specifically the 'add resource' button and the 'add item' button in related section

1343225177000000 1343227446000000
#2440 enhancement toby aron.carroll demo phase 1 closed fixed Create demo homepage

Discussion:

https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/61696765/comments

Implementation:

http://s031.okserver.org:2375

1338206405000000 1340373461000000
#2501 enhancement toby aron.carroll demo phase 1 closed fixed Implement three step dataset creation in demo site

New form should allow three steps.

  1. Add basic fields to create a dataset
  2. Add a data resource to the dataset (this can be repeated multiple times using "Save and add another"
  3. Add final metadata to the dataset.

It should be possible to jump backward through the steps by clicking the arrows at the top. Errors in fields should be validated for each step when the next button is clicked.

Implementation:

http://s031.okserver.org:2375/dataset/new

1339084829000000 1340373057000000
#2523 enhancement toby toby demo phase 1 closed fixed New package metadata form needs creating

http://localhost:5000/dataset/new_metadata/dataset

Controller : package Action : new_metadata

template package/snippets/package_metadata_form.html

1339605176000000 1340368036000000
#2525 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Demo theme should auto-generate slugs on forms 1339679954000000 1341497344000000
#2528 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Create demo edit dataset page

Implementation:

http://s031.okserver.org:2375/dataset/edit/5b451cab-8671-4513-91c4-257784c1f484

1339686982000000 1340617176000000
#2532 enhancement toby toby demo phase 1 closed fixed show activity steam for user no js

We should allow the user activity stream to be accessible with no js by passing a param or something. Need to agree how we hide/show basically agree what classes we use.

This should be a generalised solution that we can use in other places as needed.

I think this just needs discussion

1339754158000000 1340874456000000
#2556 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Update module styles on the demo theme

They've become inconsistent as the design has changed.

  • Remove white stripe
  • Make text sizes consistent
  • Make white space around text boxes consistent
1340035028000000 1340212090000000
#2557 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Demo issues on the search dataset page
  • Crosses have disappeared
  • Formats should stretch across the page
1340035222000000 1340185609000000
#2558 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Demo site add dataset has missing functionality
  • Needs tags
  • Needs groups
  • Needs slug
  • Licenses links to something
  • Needs tooltips (Ira to write some tooltips)
1340035280000000 1340615257000000
#2561 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Demo theme edit dataset is missing functionality 1340035457000000 1341497328000000
#2563 enhancement aron.carroll aron.carroll demo phase 1 closed fixed Add font based icons to the demo theme

Allowing them to be displayed in many sizes, colours and resolutions.

http://www.zurb.com/playground/foundation-icons

1340035831000000 1341501320000000
#2564 enhancement aron.carroll shevski demo phase 1 closed fixed Updates to additional info fields on datasets

E.g. http://s031.okserver.org:2375/en/dataset/adur_district_spending/resource/04127ad5-77e5-4a08-9f40-12d3c383e460

When there are no maintainer/contact details or extra fields we should hide the additional info box completely. Otherwise hide the last updated and licence fields which are already displayed in sidebar.

Update sidebar to provide context - so 'CSV' -> 'CSV format' + 'unknown' -> 'Last updated: unknown'

1340038534000000 1340118952000000
#2565 enhancement aron.carroll shevski demo phase 1 closed fixed Social links to open in new tab/JS lightbox

Share this (twitter/fb) links open in new tab (no JS) or nice lightbox of some description in demo

1340039322000000 1340116053000000
#2566 enhancement toby shevski demo phase 1 closed fixed add back buttons to create dataset process 1340039366000000 1340373308000000
#2567 enhancement aron.carroll shevski demo phase 1 closed fixed remove resource type field from add data step

No real need/use for this for demo/ODS yet

1340039447000000 1340120447000000
#2571 enhancement kindly toby demo phase 1 closed fixed implement logic.action.create.resource_create()

This function is incomplete

If you want I can do this but I need guidance over how to do this properly. ie would I go through lib.dictization.model_save.package_resource_list_save() which looks wrong to me as I'd need the package. resource_dict_save() seems better but to be honest the total lack of docstrings etc makes me feel ill.

1340102259000000 1340369783000000
#2574 enhancement kindly toby demo phase 1 closed fixed look at package states

we want to be able to add new datasets but not have them indexed or seem by people

is the vdm.state the place to do this

1340115771000000 1342092416000000
#2576 enhancement aron.carroll toby demo phase 1 closed fixed resource side box in dataset resource view broken

assuming you have datahub data

http://localhost:5000/en/dataset/2008_facility_ghg_emissions_by_province_territory/resource/28650645-8878-4826-9405-f20b9dfa4c12

also the breadcrumb becomes overly long too

1340199857000000 1340617688000000
#2580 enhancement kindly toby demo phase 1 closed fixed create resource validation

david I've got the add resource working but it is happy to add empty resources which implies that it isn't doing validation correctly.

I'm not sure what the validation rules are so hard to test this - I'm coming through as an api call

let me know if i can help

1340285208000000 1342092353000000
#2584 enhancement aron.carroll toby demo phase 1 closed fixed edit profile needs new theme

http://localhost:5000/user/edit/<my user name>

1340359925000000 1340620576000000
#2586 enhancement toby toby demo phase 1 closed fixed edit dataset - tags broken

tags is list not string

1340361630000000 1340380561000000
#2587 enhancement shevski toby demo phase 1 closed fixed author/maintainer not shown if email missing

is this the expected behaviour seems crap to me, should we just see the author but just no link

1340369450000000 1340376975000000
#2588 enhancement toby toby demo phase 1 closed fixed search index for new package

when package is added it does not seem to get indexed

1340373145000000 1340817441000000
#2597 enhancement toby aron.carroll demo phase 1 closed fixed Demo add dataset throws error if tags are empty
  1. Go to new dataset
  2. Add a slug
  3. Click next

Get error.

URL: http://localhost:5000/dataset/new
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/weberror/evalexception.py', line 431 in respond
  app_iter = self.application(environ, detect_start_response)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 147 in __call__
  resp = self.call_func(req, *args, **self.kwargs)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 208 in call_func
  return self.func(req, *args, **kwargs)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/fanstatic/publisher.py', line 234 in __call__
  return request.get_response(self.app)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1053 in get_response
  application, catch_exc_info=False)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1022 in call_application
  app_iter = application(self.environ, start_response)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 147 in __call__
  resp = self.call_func(req, *args, **self.kwargs)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/dec.py', line 208 in call_func
  return self.func(req, *args, **kwargs)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/fanstatic/injector.py', line 52 in __call__
  response = request.get_response(self.app)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1053 in get_response
  application, catch_exc_info=False)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/webob/request.py', line 1022 in call_application
  app_iter = application(self.environ, start_response)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/beaker/middleware.py', line 73 in __call__
  return self.app(environ, start_response)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/beaker/middleware.py', line 152 in __call__
  return self.wrap_app(environ, session_start_response)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/routes/middleware.py', line 130 in __call__
  response = self.app(environ, start_response)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/wsgiapp.py', line 125 in __call__
  response = self.dispatch(controller, environ, start_response)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/wsgiapp.py', line 324 in dispatch
  return controller(environ, start_response)
File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/lib/base.py', line 258 in __call__
  res = WSGIController.__call__(self, environ, start_response)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 221 in __call__
  response = self._dispatch_call()
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 172 in _dispatch_call
  response = self._inspect_call(func)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 107 in _inspect_call
  result = self._perform_call(func, args)
File '/Users/Aron/.virtualenvs/ckan/lib/python2.7/site-packages/pylons/controllers/core.py', line 60 in _perform_call
  return func(**args)
File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/package.py', line 422 in new
  return self._save_new(context)
File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/package.py', line 703 in _save_new
  return self.new(data_dict, errors, error_summary)
File '/Users/Aron/.virtualenvs/ckan/src/ckan/ckan/controllers/package.py', line 430 in new
  data['tag_string'] = ', '.join(h.dict_list_reduce(c.pkg_dict['tags'], 'name'))
TypeError: string indices must be integers, not str
1340642399000000 1340644591000000
#2598 enhancement aron.carroll toby demo phase 1 closed fixed stages css broken in FF

I see X where none should be

1340708102000000 1341218567000000
#2606 enhancement toby toby demo phase 1 closed fixed make fanstatic use full path

ckan/main not main

1340795985000000 1340799139000000
#2610 enhancement aron.carroll shevski demo phase 1 closed duplicate Text / link changes

In the footer: Change 'Powered by CityData?' to Powered by DataSuite? (with link to ckan.org/datasuite)

Links in left hand side of footer should change to a link to ckan.org, link to OKFN, link to ckan.org/datasuite/about and link to Pricing Page (on ckan.org .. will be /datasuite/solutions)

In create dataset form, prefilled tag examples should include one example with a space, e.g. "mental health"

1340810738000000 1341501424000000
#2611 enhancement aron.carroll shevski demo phase 1 closed fixed Text / link changes

In the footer: Change 'Powered by CityData?' to Powered by DataSuite? (with link to ckan.org/datasuite)

Links in left hand side of footer should change to a link to ckan.org, link to OKFN, link to ckan.org/datasuite/about and link to Pricing Page (on ckan.org .. will be /datasuite/solutions)

In create dataset form, prefilled tag examples should include one example with a space, e.g. "mental health"

Change 'Groups' to 'Publishers' everywhere

Homepage copy/images (Ira to supply?)

1340810740000000 1342008509000000
#404 requirement rgrp pudo datapkg-0.8 closed fixed Make registries pluggable

Allow using different indexes, including ckan, file, dcat, ...

1281346690000000 1297072955000000
#405 task rgrp rgrp datapkg-0.8 closed fixed Retrieval options for package resources

Download Command (was install command) should support the following modes:

  • Download only the first listed resource (current behaviour, slightly arbitrary)
  • Download resources by interactive selection
  • Download resources by MIME type (cf #235)
  • Download all resources.
1281346806000000 1297214833000000
#406 requirement pudo rgrp datapkg-0.8 closed fixed Download sub-system

Factor out current downloader into dedicated download subpackage, abstract interface and make it pluggable so we can have downloaders loaded as per type of resource to download.

And we should support interactive retrieving of resources ...

Implementation Ideas

for resources in pkg.resources:
    # datapkg/hg 
    load_storage_handler(resource.format)
1281346822000000 1296467427000000
#409 task rgrp rgrp datapkg-0.8 closed fixed Refactor cli to be more 'pluggable'
  • (Load cli commands from setuptools entry point name datapkg.cli)
  • Document how other can write new commands
  • Refactor base Command class to support this pluggability (if necessary)
1281348659000000 1297074197000000
#433 defect wwaites datapkg-0.8 closed fixed Data package metadata in the Egg

Still not sure if we shouldn't use the existing setuptools machinery to manage this -- there is already a way to get at the metadata. In any event, I've just made an addition to datapkg that makes it possible to put datapkg_sources as a dictionary in your package's setup.py. Afterwards it is possible to pull the metadata out of the egg. Of course this could easily be changed to save the information in whatever form, indeed if you pass it a string instead of a dictionary it will just write whatever you gave it into the datapkg_sources.spec. The point is, I think that the egg is a good place to stuff this information.

For non-python users, it is always possible to simply put up the datapkg_sources.spec somewhere on the web so they can directly retrieve the data files.

From the docstring::

    This is the implementation for an [egg_info.writers] entrypoint.
    Datapkg adds an argument to setuptools's setup() function called
    datapkg_sources. The argument should be a dictionary of the form:

    .. code-block:: python

        setup(
            ...,
            datapkg_sources = {
                "cra2009" : "http://www.hm-treasury.gov.uk/d/cra_2009_db.csv"
            }
        )

    The result of this is that there will be a file in the egg called
    datapkg_sources.spec that looks like this::

        [sources]
        cra2009=http://www.hm-treasury.gov.uk/d/cra_2009_db.csv

    How do you get at this data? Simple::

    .. code-block:: python

        import pkg_resources
        dist = pkg_resources.get_distribution("ukgov_treasury_cra")
        spec = dist.get_metadata("datapkg_sources.spec")

    and 'spec' will be the contents of the file as a string.
1282078660000000 1283183647000000
#964 enhancement rgrp rgrp datapkg-0.8 closed fixed Create Resource Downloader and make it pluggable

In downloading packages we need to download resources and we need a ResourceDownloader? object for this. these should be pluggable so that we can add support for different types of resources.

1297211004000000 1297211237000000
#98 enhancement rgrp rgrp datapkg-0.7 closed fixed Replace use of pastescript templates in PythonDistribution with of something simpler

Replace use of pastescript templates in PythonDistribution? (write) with of something simpler (allowing us to remove dependency on pastescript).

1249983810000000 1297210774000000
#171 enhancement rgrp rgrp datapkg-0.7 closed fixed Create consolidated config for CLI

Create consolidated set of config by merging config from .datapkgrc and command line options and use that instead of mixture of command line options and other stuff ... (likely to be less buggy!)

1256488011000000 1297210925000000
#307 defect rgrp rgrp datapkg-0.7 closed fixed datapkg upload command

Support uploading a distribution somewhere.

  • New cli command: upload
  • Pluggable uploader framework. Suggest initial support

Depends on ticket:306

1272474224000000 1288027815000000
#359 requirement pudo rgrp datapkg-0.7 closed fixed Create Storage with pluggable extensions

Storage represents something you can upload to (download is done in ticket:406).

  • storage sub package with defined interface (maybe just use OFS)
  • Only support uploading single files for the moment (though can do multiple files).
    • Relationship to build (ticket:306)
    • No support for syncing e.g. hg/git repos -- that's up to you as a user
  • Upload command

At end of this we can deprecate Repository.

Having Repository encapsulate Index and Storage (without Storage being explicit) is not helpful and leads to duplication.

1277750654000000 1291135692000000
#360 defect rgrp rgrp datapkg-0.7 closed fixed New sqlite-based DB index

In 0.5 and 0.6 have been more oriented to getting file indexes working to support the convenience of using packages on disk directly. However we now need to go back to having a better central/default index and the best model for this is a simple db index using sqlite (which is now supported in the standard library).

NB: this is a retrospective ticket (been working on this for a couple of months)

1277803174000000 1288004891000000
#361 enhancement rgrp rgrp datapkg-0.7 closed fixed Allow specification of the default index in configuration 1277803305000000 1291135756000000
#2551 enhancement johnglover ross datahub-oct closed fixed Feature metrics

Requirements

Would be useful if we could extend the Google Analytics extension to push track events to GA so that we can determine how the system is being used, and where we can optimise the workflow.

Assuming it isn't configured to be off, track events should be added to some key action buttons so that the information on what users are doing is logged for analysis.

Interface

This could possibly just be a list of JS calls to $('x').click(_gaq.push('track'...))

User Stories

  • As a developer I would like to know which components of the system are used the most so I can streamline the processes.
  • As a support developer I would like to know which parts add complexity to the system for minimal gain and could possibly be removed, de-prioritised.

For which metrics, as many of the following as possible that are achievable without changing the templates. I think for now it is enough to just record counts of these pages/actions.

  • Any group link on homepage

  • Clicking on username (to go to profile)

  • In user profile, clicking on Edit Profile

  • Clicking Save Changes on Edit Profile page

  • Clicking on any dataset link on User Profile page

  • Any of the group links on /group

  • Clicking any of the right hand sidebar tags on /group/X

  • Visiting /group/history/X

  • Compare Button on /group/history/X

  • Compare Button on /dataset/history/X

  • Tags on right hand sidebar of /dataset/X

  • Download button on any /dataset/X/resource/* page

  • Data API button on any /dataset/X/resource/* page

Tasks

[ ] Analysis/Clarification?

[ ] Code/Config? changes

[ ] Documentation

Estimates

1340017689000000 1343042712000000
#2548 enhancement kindly ross datahub-july assigned Object ownership for groups/package

Requirements

We need to be able to easily determine who the owner of a dataset or group is. Datasets and Groups should have an Owner, who may change over time but is a specific user within the CKAN instance. It should be easy for CKAN components to determine the user and for the initial version we should ignore the can of worms labelled 'ownership transfer'.

At this point migration is likely to be the biggest issue, and would suggest that it is acceptable that the last user to edit a dataset be set as the current owner.

More tickets should arise as a result of this work where we may be able to optimise some queries to use the new feature.

Interface

None

User Stories

None

Tasks

[ ] Analysis/Clarification?

[ ] Tests

[ ] Migration

[ ] Code/Schema? changes

[ ] Documentation

Estimates

1340017331000000 1340706539000000
#2550 enhancement icmurray ross datahub-july assigned User types

Requirements

In the data hub plugin we require the ability to differentiate users between those that have paid for a service, and those that haven't. The distinction isn't boolean as there may be levels of service for paid users, so it may be that we need a 'type' of user where there are various grades of 'paid' which are likely to be strings (specific to the data hub).

Required interface

Once changes have been made to the user schema, for a given user we want to be able to:

  • determine if they have a paid or a free account, and
  • get a string name of the type of paid account.

Care should be taken to ensure that the 'paid' status of the user cannot be set through the API and only by the datahub plugin.

User Stories

User stories related to the management, setting and changing of a user's payment level, as well as historical information on payments should be done as part of the work that includes actually allowing purchases. For now it is adequate that we can manually control these things through paster commands.

Payments types should be linear as I don't believe for this type of service a pick-and-mix modular model would work well. Organizations will inherit the payment level of their owner, so currently there is no requirement for it to affect organizations at all.

  • As a sysadmin I would like to be able to use a paster command to manually set a user's payment level, or remove it entirely.
  • As a sysadmin I would like to be able to run a paster command to view a list of users who have a payment plan, grouped by the plan that they have.
  • As a sysadmin I would like to be able to use the API to change the payment status of a specific user through user_create and user_update. This shouldn't be available to anybody else.
  • As a user, and only if I have one, I'd like to see my current payment level on my user profile page.

Tasks

[x] Tests

[x] Plugin based migration

[x] Code

[x] Model

[x] API

[x] Documentation

Estimates

1340017590000000 1346669497000000
#2336 enhancement seanh seanh ckanbuild accepted Move Jenkins' install script into ckan core so it can be versioned 1335792914000000 1340639637000000
#2469 enhancement seanh seanh ckanbuild closed duplicate Find a better way to deploy CKAN instances

We want a much quicker and easier way of deploying multiple CKAN instances to the same or multiple servers and managing them (e.g. configuration, themes, extensions, upgrades, and adding new instances). Currently we just deploy and manage each instance separately, which doesn't scale.. We'd also want to have (as far as possible) one single way of deploying CKAN that works across different situations, e.g. deployment server, demo server, jenkins, local deployment for development, these should share the same tools for installing CKAN and its dependencies.

Components that this might include:

Virtualenv bootstrap script https://gist.github.com/2206132

Ansible http://ansible.github.com/

CKAN deb package

1338216064000000 1340639702000000
#2537 enhancement seanh seanh ckanbuild accepted Test and document ckanbuild

https://github.com/okfn/ckanbuild

Verify that what's there so far still works, write a README explaining how it works

1339775328000000 1340639830000000
#2538 enhancement seanh seanh ckanbuild accepted Add multiple-instance support to ckanbuild

Probably use ansible to do this. To create an instance, create a dir at /etc/ckan/MYSITE, and put MYSITE.wsgi, MYSITE.ini and who.ini files in it. Also put a MYSITE file in /etc/apache2/sites-available. See the example files already present in ckanbuild. Booting a new site should be a single command.

May not handle the postgres/solr/elastic-search side of things yet, could just require the user to set these up herself first and then pass them as args to the create-instance command.

1339775499000000 1340639836000000
#2539 enhancement seanh seanh ckanbuild accepted Investigate the existing ckan debian package for ckanbuild

Do we want to build on top of the existing debian packaging code? Or throw it away and start fresh?

1339775661000000 1340639845000000
#2540 enhancement seanh seanh ckanbuild accepted Implement a way of upgrading ckan sites using ckanbuild

When there are multiple ckan sites installed on a single server via ckanbuild, there needs to be some way of upgrading them all to a new ckan version at once.

1339775740000000 1340639850000000
#2541 enhancement seanh seanh ckanbuild accepted Add non-core extensions to ckanbuild

We want some extensions from outside of CKAN core to be included in ckanbuild. These would be pip installed into the virtualenv before packaging the debian package. Decide which extensions to include.

1339775826000000 1340639856000000
#2542 enhancement seanh seanh ckanbuild accepted Create jenkins job to run ckanbuild, and run tests

It should run the script to create the debian package, boot a VM, install the debian package on the VM, boot a CKAN instance, then run the tests.

1339775888000000 1340639863000000
#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:

  • Create a Google Spreadsheet with two Worksheets: "MIME-Mappings", i.e. "CSV" -> "text/csv" and "Name mappings", i.e. "text/csv" -> "Comma-Separated Spreadsheet".
  • Collect and map surface forms from all CKANs
  • Access this via Swiss and apply, store as a PackageResource? extra field pending #826 (Resource extras).
  • Add heuristics for format auto-detections:
    • Map well-known file extensions
    • Recognize obvious magic (Zip, Tar)
    • Peek into Zipfile/Tarfiles?
  • Define a convention for generic data types (many CKAN packages have only "Spreadsheet" defined, either detect specific type or set MIME to */tabular-data or similar)
  • See also: #816 (Autocomplete for the resource format field)
1263827604000000 1340627624000000
#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
#1745 enhancement rgrp ckan-v1.9 new Dataset search UX improvements as of Jan 2012

Changes to make search both more exploratory and more satisfying to use

  • Search query build - #1603
    • Ability to add new facet fields "live"
    • That is add fields which then contain faceted options (a bit like data.hri.fi)
  • (??) Autocomplete / drop down on search (i.e. search while you type)
    • Dubious about value / cost ratio here

Probably would involve to pure JS and HTML implementation.

Implementation

Probably require

  • API changes to expose solr style API directly #1737
1328224941000000 1340033358000000
#1785 enhancement seanh seanh ckan-v1.9 accepted Replace 'Revisions' page with site-wide activity stream

Replace the /revision page with a /activity page showing a site-wide activity stream of all activities in the site. Or perhaps the site-wide activity stream can go somewhere on the front page of the site instead?

1328632458000000 1340724312000000
#2203 enhancement kindly rgrp ckan-v1.9 assigned Data Viewer support for PDF
  • Boot viewer for format/mimetype: application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf
  • propose we use pdf.js - https://github.com/mozilla/pdf.js
  • We could also try iframing for browsers with native support but this seems more complex
1330860293000000 1348568961000000
#2243 enhancement seanh seanh ckan-v1.9 reopened Fix ckanext-example 1332172710000000 1340635768000000
#2257 enhancement toby toby ckan-v1.9 new cleanup template vars

look at reducing what is pulled into templates eg ckan.lib.helpers ensure that these changes don't break existing extensions etc

1332513307000000 1340097071000000
#2291 enhancement kindly rgrp ckan-v1.9 new DataStorer incorrectly attempts to store JSON in DataStore

See http://thedatahub.org/dataset/ecb13156-cf11-4e91-b51c-f287d154276e/resource/5db67915-40cb-467e-9d72-194ea4973670

This was marked as json format (and is JSON) but appears to have been imported as a quasi-CSV. Either this hsould not be imported at all or it should be imported as JSON ... (which is straightforward to do).

Assigning to David for triage and review.

1334431147000000 1340636737000000
#2294 defect kindly rgrp ckan-v1.9 assigned Unauthorized action on Data API gets 302 rather than 401 or similar

Well known issue that 401 *in API* end up with 302 redirect to login page (which makes no sense and is very confusing for clients).

Fix this by ensuring that error messsages on API get passed through correctly.

Minor because affect is annoying but not terminal

1334432104000000 1340624003000000
#2298 enhancement icmurray icmurray ckan-v1.9 new Add sort-by controls to the search results page

Sort-by functionality was exposed through the package controller in [1]. But no controls were added to the search-page.

  • What should the sortBy controls/widget look like?
  • Which fields should be exposed?

The above commit is in the release-1.6.1 branch, so this work is dependant upon release-1.6.1 from being merged into master.

[1] https://github.com/okfn/ckan/commit/8685c6000d1cb211928b4dbc63990fb72d884f8c

1334569162000000 1340635947000000
#2320 enhancement rgrp ckan-v1.9 new Introduce new state: archived

Some datasets become obsolete: e.g. http://datahub.io/dataset/uncdb Do not want to delete them but want them marked as archived or deprecated or something.

1335211949000000 1340624119000000
#2321 enhancement rgrp ckan-v1.9 new Use resource names/titles in URLs

Would make them much nicer but requires:

  • Ensure uniqueness (or deal with ambiguity)
  • (?) Slug/names versus titles
    • Aside: what is currently called name should probably be title
1335236412000000 1340624174000000
#2324 enhancement amercader ckan-v1.9 new Link API docs to relevant version not just latest

The link to the API docs in the footer always points to the latests docs, which may not be correct for the particular CKAN version.

Also, remove the 'API' link (to /api/1) as pointless and misleading

1335351532000000 1345199411000000
#2328 enhancement rgrp ckan-v1.9 new Link to Catalog API for each Dataset, Group and Tag

At the moment no way for a normal user to find JSON versions of this material. Would it be worth adding back a link somewhere on the page?

1335442501000000 1340624331000000
#2333 enhancement rgrp ckan-v1.9 new Introduce new resource type datastore

This is a resource that is *just* in the datastore. At the moment there are hacky ways to do this (create resource with meaningless URL etc) but we should do this properly:

  • New Option: DataStore? Table in add a resource form
  • URL field is disabled (or points at /api/data or something rather pointless)
  • Download button is disabled
    • Better would be to find a way to serialize an ES table or stream it ...
1335651360000000 1340624473000000
#2334 enhancement kindly rgrp ckan-v1.9 assigned Improved data import

Placeholder for thinking about this ...

  • Allow users to configure info for CSV import (e.g. separators, quotes etc)
1335651662000000 1340624538000000
#2335 defect seanh seanh ckan-v1.9 assigned Unicode characters don't work in CKAN ini files

You get a UnicodeDecodeError?, looks like it tries to decode the ini file as ascii. This is a problem because someone might try to set their site description to something with an umlaut in it, for example.

1335789726000000 1340624635000000
#2337 enhancement seanh seanh ckan-v1.9 assigned Sort out ini file confusion in docs

For example if you follow the source install instructions then you have development.ini, then when you go onto Post-Installation Setup it talks about std.ini. People don't realise that these files are the same.

Either fix the docs or fix CKAN to use same ini file names in package and source installs/

1335797876000000 1340624600000000
#2341 enhancement seanh seanh ckan-v1.9 accepted Fix Jenkins issue when testing branches that contain model changes 1335876396000000 1340639472000000
#2342 enhancement seanh seanh ckan-v1.9 accepted Fix Jenkins issue when testing branches with different solr schema versions 1335876445000000 1340639494000000
#2350 enhancement icmurray icmurray ckan-v1.9 new Hooks in package controller for validating form data

When the validation schema was moved from the package controller into the logic layer, the schema's role was changed from that of processing a form and validating data; to just validating data. Whilst is makes sense to have a schema for validating data as it comes in and leaves the logic layer; there's no longer the hook available to PackageController? subclasses to do form validation/processing.

Add a hook into _save_new() and save_edit() prior to the logic-layer call which subclasses can then override.

NB - form processing/validation *is* different to validating data. For example, many data can be inferred from a user's input; or there may be aspects of the form that need to be filled in, but do not make sense to pass as data into the logic-layer, eg. agreeing to T&Cs.

  • [ ] Add hooks
  • [ ] Use in ckanext-example
1335881761000000 1340635966000000
#2362 enhancement toby kindly ckan-v1.9 accepted Improve plugin documentaion, including examples.

Improve documentation for plugins and add examples. Could use ckanext-example as a base.

1335888791000000 1342085420000000
#2370 enhancement seanh seanh ckan-v1.9 assigned Add examples of all config settings in default config file

The default config file should contains examples (maybe commented out) for all config variables. Makes it easier to edit the config. For example openid_enabled is not in there.

1336042237000000 1340624662000000
#2371 enhancement toby toby ckan-v1.9 closed fixed fanstatic integration

aims

  • allow templates to specify needed css/js
  • allow split js files to be bundled (including plugin supplied if possible - stage 2)
  • serve minified in production/ non-minified in dev
  • possibly look at doing the minification via paster - maybe as different ticket
1336046411000000 1345209675000000
#2405 defect icmurray rgrp ckan-v1.9 assigned Improvements to data viewer embed
  • Decent powered by icon for the Embed for the DataHub?? (make this text customizable and allow html ...)
    • Current icon and text looks really bad
  • Embed link uses uuid rather than dataset name (this goes to perma-url question ...)
  • Data viewer embed url includes all the resource info (not needed -- just url and backend info ...)
  • Embed extension urls do not respect original domain but instead use site_url (I'm guessing). E.g. datahub.io domain ends up with links to embed on thedatahub.org
1337583565000000 1340635981000000
#2406 defect kindly markw ckan-v1.9 new Errors in source install doc

There are a few errors or unclarities in the source install doc - see

http://lists.okfn.org/pipermail/ckan-dev/2012-May/002203.html http://lists.okfn.org/pipermail/ckan-dev/2012-May/002204.html

1337595093000000 1340636804000000
#2407 enhancement amercader markw ckan-v1.9 new 'Access denied' message is unhelpful

This chap tried to use the API to add a dataset to a group and got the uninformative message 'Access denied':

http://lists.okfn.org/pipermail/ckan-dev/2012-May/002229.html

The problem was he didn't have access to the group. A message like 'You don't have access to the group "LODcloud"' would have been clearer.

1337612500000000 1340633440000000
#2415 defect kindly markw ckan-v1.9 new Confusing message on attempting to register new account with upper case

On registering a new account, if you try to use a capital letter in your 'Login', you get the unhelpful error message:

"The form contains invalid entries: Name: Url must be purely lowercase alphanumeric (ascii) characters and these symbols: -_"

What does 'Name' or 'Url' have to do with anything? It means 'Login must be ...'

But even better would be to make the login case-insensitive and allow capitals to be entered.

1337779189000000 1341268304000000
#2426 enhancement kindly seanh ckan-v1.9 new Get rid of CKAN's formalchemy dependency 1337946462000000 1340616095000000
#2427 enhancement kindly seanh ckan-v1.9 new Reduce cruft installed into CKAN's virtualenv due to Pylons 1337946507000000 1341268323000000
#2430 enhancement seanh seanh ckan-v1.9 accepted Look into marking tickets as dependent on other tickets in trac 1337947086000000 1341234346000000
#2431 enhancement seanh seanh ckan-v1.9 accepted Trac git integration 1337947128000000 1341234362000000
#2466 task seanh seanh ckan-v1.9 accepted Fix spam handling on trac 1338213103000000 1341234539000000
#2473 enhancement kindly kindly ckan-v1.9 assigned Make datstorer store field ordering in _meta field

Recline views should have a default table order, being the same as the csv that was imported.

1338293492000000 1340636871000000
#2475 enhancement seanh seanh ckan-v1.9 accepted Upgrade trac.ckan.org to trac 0.12.3

This is not trivial, requires a database upgrade. But 0.12.3 has some nice new features (multiple vcs repository support, ticket comment editing and nicer preview) and the latest spam filter plugin requires 0.12.

http://trac.edgewall.org/wiki/ChangeLog

1338317176000000 1341234564000000
#2477 enhancement seanh shevski ckan-v1.9 accepted Add extensions section to readthedocs

Need a central up to date place for currently supported extensions (closest we have is http://wiki.ckan.org/List_of_Extensions) & their documentation. I suggest this gets added to a dedicated section of docs.ckan.org

1338393244000000 1343124123000000
#2478 enhancement seanh seanh ckan-v1.9 accepted Get NeverNotifyUpdaterPlugin installed on trac.ckan.org 1338396734000000 1341234591000000
#2479 enhancement markw ckan-v1.9 new Meanings of Author and Maintainer fields are unclear

CKAN's default schema has fields for Author ('The name of the main contact, for enquiries about this particular dataset') and 'Maintainer ('another important contact person'). The distinction is not clear. Also the fields are often left blank.

The roles that seems most important are those of the original owner/publisher of the data, and the person maintaining the CKAN record/copy of it. So I suggest:

(1) Rename the fields 'Owner' and 'Maintainer'.

(2) Change the explanatory text for the relevant fields:

Owner: 'The person or organisation who create/collect/publish the data in this dataset.' Owner e-mail: 'E-mail address for enquiries to the Owner named above.' Maintainer: 'The person maintaining this dataset on [name of CKAN instance], if different from the above.' Maintainer e-mail: 'E-mail address for enquiries to the Maintainer named above.'

(3) When a logged-in user creates a new dataset, the main form should have a checkbox, checked by default, marked 'I am the maintainer of this dataset'. If checked, the Maintainer name and e-mail fields are populated from the user's profile.

1338452898000000 1339771115000000
#2480 enhancement markw ckan-v1.9 new Better message when dataset has no resources

If a dataset has no resources the resources list currently says '(none)'.

Here is a suggested improvement, provided that a maintainer is named: 'There are no data resources here yet. For information about this data, contact the dataset maintainer.'

1338453093000000 1339771086000000
#2483 enhancement markw ckan-v1.9 new Non-local resources should not have Download links

At present, a resource which is just a URL link to an external resource has a 'Download' button on the resource page. This gives the misleading impression that the resource is stored locally.

This is related to another small UI issue: I think the URL of a resource should be much more prominent, not buried in the 'Additional Information' table.

Suggested fix:

  • Put the URL prominently at the top of the resource page (above the preview) (and make it link to the resource)
  • Disable the Download button unless the resource is stored locally.
1338468734000000 1339771043000000
#2485 defect icmurray nils.toedtmann ckan-v1.9 new Encourage leak containment by limiting the number of requests a CKAN process serves

CKAN has memory leaks. They can be contained by limiting the time-to-live of a ckan process. An easy way to achieve this is to limit the number of requests a ckan server process can serve before it gets killed and replaced.

One should ...

  • research ways to limit requests-per-process with the different web servers (see below for a start);
  • explain these safeguards in the CKAN documentation and encourage users to apply them;
  • consider the helper script ckan-create-instance to generate Apache configs with WSGIDaemonProcess ... maximum-requests=XY being active instead of commented out. Or at least let it warn the user to use MaxRequestsPerChild;
  • Investigate current CKAN deployments whether they suffer from mem leaks, and if so contain them.

How to limit requests-per-process

  • Apache:
    • Use WSGIDaemonProcess with maximum-requests=50 or whatever limit is appropriate. We did this sucessfully on datahub.io and the ckan farm
    • (This need to be verified) Without WSGIDaemonProcess, MaxRequestsPerChild 50 should achieve the same.
  • nginx/supervisord: to be researched.
1338551229000000 1340636028000000
#2516 enhancement seanh seanh ckan-v1.9 accepted Make 'Assign to:' field on trac.ckan.org into a dropdown list

there's a setting for this

1339578442000000 1341234822000000
#2519 enhancement ross ross ckan-v1.9 closed fixed Dataproxy (converters) enhancement

Whilst the error messages returned from the dataproxy are informative, they aren't particularly human readable. It isn't clear to the user whether they should retry, or whether the format of their data is causing the problem etc...

Would be lovely if the error messages returned contained a human readable version of the error.

1339584955000000 1345565215000000
#2520 defect seanh seanh ckan-v1.9 assigned Document undocumented config options

There are 21 undocumented config options in CKAN, some of which are not mentioned in the config file template either:

ckan.admin.name ckan.admin.email ckan.default.group_type ckan.page_cache_enabled ckan.cache_enabled ckan.cache_expires ckan.extra_resource_fields ckan.extra_resource_group_fields ckan.storage.key_prefix ckan.storage.max_content_length ckan.feeds.authority_name * ckan.feeds.date * ckan.feeds.author_name * ckan.feeds.author_link * ckan.mail_from ckan.gravatar_default * ckan.plugins ckan.api_url ckan.auth.profile ckan.datastore.enabled ckan.tracking_enabled

There are also some options that are in the default deployment.ini even though they're deprecated:

ckan.async_notifier carrot_messaging_library ckan.build_search_index_synchronously

See email to ckan-dev from David Read: http://lists.okfn.org/pipermail/ckan-dev/2012-June/002447.html

It'd be best if the docs could be automatically pulled from the source into sphinx using autodoc, see #1358

1339588368000000 1340624908000000
#2529 enhancement rgrp ckan-v1.9 new DataHub (or CKAN) widgets

Simple widgets in pure JS. For example:

  • Count of datasets in a group (could generalise to a query but not sure how useful that is ...)
  • Embeddable list of top X (5) datasets for a given query
  • Embeddable list of *my* datasets

Either these live at: {site}/widgets and we have some kind of generator (form where I choose my group, or my query).

Or: we have this attached to areas of site where relevant.

Can combine the 2 so that the latter links to the former. Think first will be easier to do and possibly more useful long-term (e.g. can just link people to that page).

Cf. http://okfnlabs.org/ckanjs/

1339750049000000 1340624917000000
#2530 enhancement kindly rgrp ckan-v1.9 new DataHub purge fails on some revisions

See http://datahub.io/ckan-admin/trash and try to purge revisions (*not* datasets). It will fail on some of the revisions with errors like:

Problem purging revision 391db9e8-df57-4e0e-8fe6-d4e0c2318344: (IntegrityError?) update or delete on table "revision" violates foreign key constraint "group_extra_revision_revision_id_fkey" on table "group_extra_revision" DETAIL: Key (id)=(391db9e8-df57-4e0e-8fe6-d4e0c2318344) is still referenced from table "group_extra_revision". 'DELETE FROM revision WHERE revision.id = %(id)s' {'id': u'391db9e8-df57-4e0e-8fe6-d4e0c2318344'}

1339750498000000 1341268280000000
#2536 enhancement toby toby ckan-v1.9 closed fixed cleanup activity streams 1339765323000000 1347901915000000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Note: See TracReports for help on using and creating reports.