{22} Trac tickets (2647 matches)

Results (601 - 700 of 2647)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Id Type Owner Reporter Milestone Status Resolution Summary Description Posixtime Modifiedtime
#3 enhancement somebody johnbywater milestone1 closed fixed Login to the service

As a

Visitor

I want to

Login to the service

So that

I am now an authenticated user and may perform the actions that only authenticated users may perform

Notes

  • Login by providing username and password
  • Login screen should also include a link or information about registration
  • If username do not match (or the username does not exist) a login failure is noted and the visitor is re-presented with the login screen as well as information on how to register
1152549717000000 1152553322000000
#4 enhancement somebody johnbywater v0.7 closed fixed Find a package

As a

Visitor

I want to

Locate packages that I am, or might be, interested in

So that

I know what packages exist and can read the information associated with those packages

Notes

Find a package by searching by (or some combination thereof):

  1. tag
  2. string contained in title or description
  3. license
1152549820000000 1223908381000000
#5 enhancement johnbywater johnbywater v0.3 closed fixed Browse list of packages and select one to view

As a

Visitor

I want to

Browse a list of packages resulting from a search or browse request (see other use cases)

So that

I can select one of the packages to view in more detail (-> viewing an individual package ticket:6)

Notes

  • When browsing a list of packages you should be able to see summary information about the package such as title (though this may be shortened in order to conveniently fit the list
  • The list should be broken up into pages so that the number of packages per page should be kept to a reasonable number (<= 50). Response time should be kept reasonable
1152549884000000 1185473622000000
#6 enhancement somebody johnbywater milestone1 closed fixed View a package

As a

Visitor

I want to

View the details of an individual package

So that

I know more about the package. Attributes available are detailed in updating a package (../UseCase12)

1152549960000000 1183648175000000
#7 enhancement johnbywater johnbywater closed invalid View a release associated with a package

See Update a release (ticket 14) for more information on what should be shown.

1152550022000000 1204136209000000
#8 enhancement johnbywater johnbywater closed invalid View file

As a

Visitor

I want to

View the files associated with a package.

Notes

  • See also ticket:16 (updating a file).
  • Files should either be listed on the same page as a release or there should be a link from the release page to a page listing all the files associated with the release. See also ticket:14 (update a release)

1152550057000000 1250619147000000
#9 enhancement somebody johnbywater milestone1 closed fixed Register new package

As a

Authenticated User

I want to

Create/register a package

So that

The package will be listed in the system and visible to users

Notes

  • Full package registration process may be broken down into:
    1. Creating a package by provision of minimal attributes:
      1. name: unique and web-usable
      2. auto-generation of default values such as:
        1. date-registered (today's date)
        2. first owner (one owner should be created corresponding to the authenticated user performing this action)
      3. (?) auto-generate a default release
    2. updating the created package -> ../UseCase12
1152550171000000 1152555104000000
#10 enhancement johnbywater johnbywater milestone15 closed worksforme Update package

As a

Authenticated user

I want to

Update the attributes of a package and add/remove releases

So that

The package attributes are changed. Package attributes are:

  • A title
  • A description (short or long)
  • Date added
  • Project url
  • package license(s)
  • download url
  • A list of releases with their dates and a summary line
  • a list of owners (referencing authenticated users)

I would also like to be able to add comments

Notes

  • Only an authenticated user is one of owners of a package may update it
  • Any authenticated user may add comments (but visitors may not)
  • can break down into:
    • Update a package by changing simple package attributes (value: 8)
    • Update a package by adding or removing an owner (value: 5)
    • Update a package by adding or removing comments (value: 7)
1152550243000000 1183648150000000
#11 enhancement johnbywater johnbywater milestone16 closed fixed Delete package

As a

Authenticated user

I want to

Delete a package

So that

So that the package is no longer displayed for visitors of the site

Notes

  • The permissions for this action are the same as for updating the package details (see ticket:10)
  • When a package is deleted it is put in an inactive state and is invisible to users and vistors of the service. However its name remains reserved and it may be undeleted or purged by the service administrator
1152550328000000 1157371568000000
#12 enhancement johnbywater johnbywater closed invalid Create a release associated with a package

As a

Authenticated user

I want to

Create a release associated with a package

So that

The package has a new release

Notes

  • Permissions are as for updating a package ticket:10
  • for details of release attributes see: updating a release ticket:14
1152550407000000 1204135071000000
#13 enhancement somebody rgrp closed invalid Delete a release 1152550611000000 1218545330000000
#14 enhancement johnbywater johnbywater closed invalid Update a release

As a

Authenticated user

I want to

Update a release

So that

The release details are amended. Attributes of a release are:

  • name (may include '.' and '-'
  • nickname
  • date
  • description

Notes

  • permissions: as for updating a package (ticket:10)
1152550712000000 1204136163000000
#15 enhancement johnbywater johnbywater closed invalid Create a file

As a

Authenticated user

I want to

Create a file associated with a release

So that

The release has a new file associated with it

Notes

  • Permissions are as for package updating (see ticket:10)
  • file attributes are described in file updating: ticket:16)
    • there are no attributes that are required to be supplied to create a file
1152550770000000 1250619139000000
#16 enhancement johnbywater rgrp closed invalid Update a file

As a

Authenticated user

I want to

Update a file associated with a release

So that

The file attributes are changed. File attributes are:

  • (internal) id
  • description
  • source: (url usually)

Notes

  • Permissions are as for package updating
1152550796000000 1250619162000000
#17 enhancement johnbywater johnbywater closed invalid Delete a file

See ticket:16 (update a file)

1152550822000000 1250619180000000
#18 enhancement somebody johnbywater closed invalid Purge a user (registered person) 1152550871000000 1199787607000000
#19 enhancement somebody rgrp closed invalid Undelete a user (registered person) 1152550881000000 1199787631000000
#20 enhancement johnbywater johnbywater v0.3 closed fixed Purge a package

As A

Administrator

I want to

Purge a deleted package

Notes

  • this need only be possible via the admin interface
1152550910000000 1185473187000000
#21 enhancement somebody johnbywater v0.11 closed fixed Undelete a package 1152550936000000 1265891796000000
#22 enhancement somebody johnbywater closed invalid Update person attributes 1152551014000000 1199787243000000
#23 enhancement somebody johnbywater closed invalid Request new password (or a reminder) if old has been lost 1152551256000000 1199786799000000
#24 enhancement somebody johnbywater v0.9 closed fixed View list of most recently registered or updated packages on front page 1152551291000000 1246441366000000
#25 enhancement johnbywater johnbywater v0.6 closed fixed Autocompletion (and suggestion) of package tags when adding tags to a package

Notes

  • Currently have a text box where users can add space separated tags
  • Tags should auto-complete in a manner similar to delicious
  • would also be good to have a list of suggested tags. This could either be:
    • [simpler] a list below the tag box chosen by existing popularity or
    • [more complex] a list of suggestions that updates as you add tags (based again on popularity but 'filtered/reranked' to reflect choices so far).
    • For first attempt to should probably just go for the simpler option.
1152551313000000 1204131522000000
#26 enhancement somebody johnbywater closed duplicate A registered person creates their own tags for a package 1152551351000000 1152555283000000
#27 enhancement johnbywater johnbywater v0.6 closed fixed Register/Update a package via a web-api

As A

User

I want To

Create/register and update a package via a web api.

1152551379000000 1215543933000000
#28 enhancement somebody johnbywater closed wontfix Provide a dump of all packages listed on the system in XML 1152551416000000 1200902911000000
#29 enhancement rgrp rgrp milestone16 closed fixed Improve installation process
  1. install documentation (currently source:trunk/INSTALL is empty)
  2. improve ckan-admin as necessary
  3. create default data (such as licenses)
1152553638000000 1183648166000000
#30 enhancement zool rgrp v0.3 closed fixed Tags are added to a package by package owner

As A

Site User

I Want To

Create/Edit/Update/Delete? tags associated with my package

Notes

  • Tags are service-wide and not package specific
  • Tags should not allow spaces (but allow everything else e.g. ':')
  • web interface details
    • should provide a text box where users can add space separated tags (a la delicious).
    • tag creation should be seemless (so if a tag does not already tag exists it should automatically be created in the background)
    • would like to provide a list of relevant existing tags. For time being could just list all existing tags below entry box but in long run would like auto-updating/auto-suggesting listing a la delicious
1155905753000000 1185472559000000
#31 enhancement somebody rgrp closed wontfix Add a comment to a package

As a

Registered user

I want to

Add a comment to a package

Notes

  • The comment should be tagged with the username of the person making the comment
  • Should we allow comments per release as well as per package? No for the time being.
  • Comments will be 'flat' and not threaded (at least for the present)
  • Comments should be plain text and so html should be escaped (in the future we might look to use some kind of formatter such as markdown)
1157374505000000 1185472236000000
#32 enhancement rgrp rgrp v0.3 closed fixed View a tag

As a

Visitor

I want to

View a tag's page which should list all packages associated with that tag (or link to a page containing that list).

Notes

  • The tags should have a nice primary url such as /tag/<tag-name> (could also use the plural i.e. /tag/<tag-name>)
1157375968000000 1185472746000000
#33 enhancement rgrp rgrp v0.5 closed fixed List and search tags

As a

Visitor

I want to

View a list of the tags on the system and search for a tag by name

Notes

  • As for a search of packages should search for tags that contains a given search string (or could use a glob approach allowing wildcards).
1157375983000000 1199788094000000
#36 enhancement rgrp rgrp v0.4 closed fixed Edit package page should support previews

When editing a package one would like to be able to preview one's changes before saving.

1177007112000000 1185470035000000
#37 enhancement rgrp rgrp v0.5 closed fixed Purge a Revision (i.e. purge all changes associated with that revision)

Spam entries have started to occur on ckan.net in the last few months. It would be useful to be able to purge these revisions -- that is permanently delete all changes to domain objects associated with those revision (one might also permanently delete that revision -- or alternatively simply mark it as purged).

In addition to providing this facility from the shell it would also be useful to be able to do this from the web interface (with associated restrictions on usage via an authorization controller of some sort).

1192650660000000 1199786536000000
#38 enhancement rgrp rgrp v0.5 closed fixed Make data available in machine-usable form

Currently all data is only available via the web interface which makes it difficult to obtain in bulk. Data should be provided in other more convenient, machine usable forms:

  • DB Dump
  • JSON for each package page (maybe Atom as well)
1194521614000000 1200903004000000
#39 enhancement johnbywater rgrp v0.7 closed fixed When listing packages show more information than just name.

When a package listing is shown (as on http://ckan.net/package/list) more information than just name should be shown. For example package titles should be shown as well as names (could also list tags and other stuff but simplest is just title).

Cost: 1

1194608920000000 1223908298000000
#42 enhancement rgrp rgrp v0.6 closed fixed In WUI where List of Items to Display is Large Results should be Paged

As A

Visitor

I Want To

View lists of items but not have too many on a page (as this leads to slow page loads and difficulty navigating the list). Where there are more items in the results of my action that can be fit on a single page the results should be 'paged' in some manner.

Details

Main place this issue arises:

  • List of tags
  • List of packages
  • Repository history (/revision)

Should probably have no more than 50 (or so) items on a page. Obvious solution is for actions that return lists to have some kind of pageno parameter and then use this in controller to select what to display.

1199787162000000 1204133257000000
#43 enhancement rgrp rgrp v0.10 closed fixed Generic Attributes for Packages

As A

User

I Want To

Add arbitrary named attributes to packages (an attribute being a name, type, value triple).

Details

  • We will do this using a dedicated (versioned) table associated to Package
  • Do we allow multiple attributes of the same name?
    • For the present: No (since we will key by attribute name)
    • Could allow for single attribute but with multiple values using json list ...
  • What types do we allow or do we just rely on JSON to take care of this?

Questions (Original)

  • How complex is this to implement?
  • What would an arbitrary user be able to edit? Possibilities:
    1. 'create new attribute' and setting the value (so name and type would be chosen from predefined list).
    2. 'create', setting of name and value (but not type -- type already set in predefined list)
  • Could just use (machine) tags -- though this could be seen as a bit of a hack.
  • Would solve having to create special file/url attributes (though I think that perhaps file stuff is important enough to merit first class support in the domain model -- though, that said, since one won't want to have a file limit adding unlimited file support is very similar to unlimited attributes of arbitrary type).
1199788109000000 1253709802000000
#44 enhancement johnbywater rgrp v0.7 closed fixed Provide RSS/Atom Feed of Repository History

As A

Visitor

I Want To

Get an RSS/Atom Feed of the Repository History to use in my feed reader (or elsewhere).

Details

  • Preference for Atom.
  • should just add parameter to /revision/list/ (or /revision/) to select atom format e.g. ?format=atom.
  • should have a 'days' attribute specifying number of days back to go e.g. &days=30

Cost

Low

1199788457000000 1223390660000000
#45 enhancement rgrp johnbywater v0.6 closed fixed Immunity to SQL injection attacks 1201110894000000 1204133342000000
#46 enhancement rgrp johnbywater v0.9 closed fixed Return error documents that look and feel like normal CKAN pages 1201111018000000 1265891789000000
#47 enhancement rgrp johnbywater v0.6 closed fixed Return OpenID signin pages that look and feel like normal pages 1201183920000000 1215543616000000
#48 enhancement rgrp johnbywater ckan-v1.4-sprint-1 closed fixed Create favicon

Because CKAN's worth it!

1201202789000000 1297077492000000
#49 enhancement rgrp rgrp closed invalid Filter Spam in Changes to CKAN Data

As A

sysadmin

I Want To

Have revisions to the CKAN data filtered in order to reduce the spam in the system.

Details

In the long run this is a quite a generic problem common across several OKF systems and probably can become a general component in the okfmisc repo. For time being focus on a well-factored CKAN-specific solution.

Suggest we follow path of trac: http://trac.edgewall.org/wiki/SpamFilter

Could have a general engine that aggregates spam scores from many different 'plugins' and then marks spam appropriately (actions should be configurable depending on spam level from 'purge' to 'delete' (mark revision as inactive) to 'flag' to 'do nothing').

Main initial plugins would be:

  • regex filter (this would seem very useful here, e.g. do not allow urls in commit messages ...)
    • could augment using the badcontent list approach (can find list on e.g. moinmoin)
  • spambayes and/or akismet
1204134691000000 1257244973000000
#51 enhancement rgrp rgrp v0.7 closed fixed Upgrade CKAN to use sqlalchemy and vdm v0.2

Move CKAN codebase to use sqlalchemy (rather than sqlobject) along with vdm v0.2.

NB: the upgrade itself should not be too hard, the work will be in providing a satisfactory migration script to convert existing data on ckan.net service.

1220900438000000 1223908230000000
#52 enhancement rgrp rgrp v0.7 closed invalid Paginated results sets should be customizable across domain objects
  1. Tag results could/should show number of associated packages
  2. Package results should show title (and be in list)
  3. Pagination should be able to be applied to other result sets than simply register listing (e.g. search results ...)
  4. Revisions should be listed in a table with full details
1223549648000000 1223908425000000
#53 enhancement rgrp rgrp v0.8 closed fixed View Information about Package history (i.e. package revisions)

As A

Visitor/User?

I want to

View information about a package history, i.e. what revisions it has.

Details

  • History info should be available at package/history/pkg-name
  • Most basic info is just info from revision (when it occurred, author etc)
  • More sophisticated would be to have diff support to see differences between revisions
1223552139000000 1239133021000000
#54 enhancement johnbywater rgrp v0.7 closed fixed Support dump and load of CKAN data to JSON

As a

Sysadmin

I want to

Dump (serialize) CKAN data to a simple transport format (e.g. JSON) and be able to load it again.

Details

  • Already have simple db dump. However dumping to JSON has various advantages, particularly where changes to the data need to be made upon reloading (e.g. during a migration).
  • Dump should include *all* CKAN data (i.e. all the data in the CKAN db tables)
1223907883000000 1230211256000000
#55 enhancement rgrp rgrp v0.7 closed fixed Code to migrate data from v0.6 to v0.7 using dump and load

Associated to ticket:51 (upgrade CKAN to new vdm) and ticket:54 (dump/load) need to convert v0.6 data for v0.7.

Obvious way to do this is via alteration to data load method.

1223908240000000 1223909891000000
#56 enhancement rgrp rgrp v0.8 closed fixed Show icons indicating package openness

As A

User or Visitor

I Want To

See simple icons (e.g. tick/cross) next to packages (in lists or on main page) indicating openness status of package.

So That

It is easy to see the openness status of a package.

Details

  • Suggested by Liz Turner
  • Openness = open license at present (no easy way to determine whether accessible)
  • Have separate tick for downloadability (i.e. existence of download url)
  • Could do more stuff in future (e.g. money where tag price- exists, etc etc)
1230211123000000 1239018857000000
#57 enhancement rgrp rgrp v0.8 closed fixed Basic datapkg integration with CKAN

Using datapkg a user can:

  • list packages on CKAN
  • get info about package on CKAN
  • register and update a package on CKAN
1238750826000000 1239018717000000
#58 enhancement rgrp rgrp v0.9 closed fixed Make bookmarklet to enable easy package registration on CKAN

Make bookmarklet to enable easy package registration on CKAN

Details

  1. This requires redoing web interface to allow 1-step package creation/editing (as opposed to name then everything else approach at the moment)
1239018517000000 1239974365000000
#59 enhancement johnbywater rgrp v1.0 closed fixed Provide a basic guide to CKAN on the site
  1. Use contents from ckan package notes section (rgrp)
  2. Update that section to be more guide-like (jwyg)
1239018583000000 1273080019000000
#60 enhancement rgrp rgrp v0.9 closed fixed Front page usability improvements
  1. List in sidebar 3 latest created/updated packages.
  1. Put package search box on front page (might also want to move some of front page content into an about page).
  1. Similarly might want package creation box on front page.
1239094266000000 1246434921000000
#61 enhancement rgrp rgrp v0.10 closed fixed When dumping data to json do not dump private information like API keys

Cost: 1h

1239123529000000 1265890790000000
#62 enhancement dread rgrp v0.10 closed fixed Change tags to contain any character (other than space)

Requires us to url encode the tag names when displaying them ...

1240585095000000 1250181376000000
#64 enhancement rgrp rgrp v0.10 closed fixed Switch to repoze.who for authentication

Switch to repoze.who + openid plugin for authentication from authkit.

Already did this in microfacts so should be fairly easy.

1245168853000000 1246127063000000
#65 enhancement rgrp rgrp v0.9 closed fixed Add version attribute to package

It is essential packages have a version attribute to assist in tracking releases etc (and to allow compatibility with other packaging systems e.g. distutils which is being used by datapkg).

cost: 2h

1245262864000000 1246434569000000
#66 enhancement rgrp rgrp v0.10 closed fixed Improve user account UI
  1. Link at top should say "Your Account" when you are logged in
    • when not logged in should say: "Log in via openid"
    • Open Id info on /account/ should move to /account/login/ or be deleted
    • Going to /account/ when not logged in should redirect to /account/login/
  1. When logged in the basic account index page should not give generic information but should reflect fact you are logged in by:
  • Saying something like: "You are logged in as: ..."
  • Showing your apikey or a link to apikey
  • Giving you a logout link

We can think of a bunch of other stuff that could go on their (recent edits, packages you own etc) but these will be separate tickets.

1245263685000000 1250785405000000
#67 enhancement rgrp rgrp v0.10 closed fixed List all of a user's recent edits on their home page

Additional feature related to ticket:66.

cost: 2h

1245263731000000 1250785122000000
#68 enhancement rgrp rgrp v0.9 closed fixed Show affected packages in revision list view

When listing revisions (at /revision/ or in atom feed) show affected packages. Minor but v. useful UI improvement.

Cost: 1h

1245656153000000 1245697554000000
#69 enhancement rgrp rgrp v0.9 closed fixed Change to text-only license field and use external license repo

Switch from license domain object to a simple license field and use license list from new centralised license repo:

<http://knowledgeforge.net/okfn/licenses/>

  • This will require a migration

Cost: 4h (plus migration ...)

1245687449000000 1246437494000000
#70 enhancement rgrp rgrp v0.9 closed fixed Convert from py.test to nosetests

Cost: 1h

1246434753000000 1247827053000000
#71 enhancement rgrp rgrp v0.10 closed fixed Upgrade to Pylons 0.9.7

Cost: 2h

1246435041000000 1250181211000000
#72 enhancement rgrp rgrp v0.10 closed fixed Integrate new logo

Integrate new logo from http://wiki.okfn.org/ckan/logo into site:

  • In title

Also can do favicon (separate ticket:48)

Cost: 1h

1246441021000000 1251451954000000
#73 enhancement rgrp rgrp closed invalid Put enquiry template in db so it can be edited by admins

Currently stored in the python controller file. This is not the right place and putting it in db will allow editing by admins.

May also want to do this for the footer (also in the controller file).

Details:

  • Will need to create a new domain object/db table. Suggest called miscellaneous and consist of key value pairs utilizing JSON type for values.

Cost: 2h.

1247705786000000 1266510385000000
#74 enhancement dread rgrp v0.10 closed fixed Add Is It Open links to package pages

On each package page in the openness field if the package is not open provide a link to is it open create enquiry page.

Details:

  • may want to add to the url a query parameter indicating which package this relates to e.g. ?ckan-package=...
  • http://isitopen.ckan.net/enquiry/create/?ckan-package=...
  • do we provide link even if package is open (e.g. so that people can make enquiries about e.g. adding open data/content buttons ...)

Cost: 0.5h

1247828218000000 1250182938000000
#75 enhancement dread rgrp closed duplicate Record and display package "usage" information
  • Number of package page visits on ckan (can we get this straight from google analytics)
  • Number of times url or download url is used - now ticket:937 (Record download stats for resoures)

How do we do this?

  • Google analytics will miss a lot of this usage (and how do we get that data out anyway)
  • Could use javascript but again misses usage.
  • One option is to redirect link but that is kind of nasty (but may be only option ...)
1247828785000000 1296341223000000
#76 enhancement dread rgrp v0.10 closed fixed Convert to use formalchemy for all forms

Current form stuff is not very good (uses formencode). Switch to formalchemy would improve this, especially on validation.

As an extra we could utilize the formalchemy pylons admin interface (pretty much for free).

Cost: 12h

Details

  1. Replace htmlfill and formencode extract in controllers/templates with formalchemy
    1. Crude and simple
    2. Suppress unwanted fields (revision, state, all revisions) and sort out ordering to be similar to before.
    3. Sort out tag field with a special renderer
  2. Validation - testing definitely required.
  3. Fix up description and pretty css etc
1247829041000000 1251301765000000
#77 enhancement dread rgrp v0.11 closed fixed Rate packages

As a User or Visitor

I wish to rate a package in some way. On the package view, below Openness, there is a 'Rating' heading with the star rating which is selectable.

Rating out of 5. One user or IP, one vote.

package_rating table:

package | user | rating annakarenina | joe.bloggs.openid.com | 4 annakarenina | 154.2.5.47 | 1

1247829193000000 1255176732000000
#78 enhancement rgrp rgrp ckan-sprint-2011-10-28 closed fixed Extend login cookie lifetime

When you login you get given a cookie but it is very short (life of your browser session I think).

Work out how to extend to something reasonable (30 days or perhaps forever with logout unsetting cookie).

  1. A quick investigation to see whether this is possible
  2. If possible do it

Cost: ?

1247829310000000 1314877169000000
#79 enhancement dread rgrp v0.10 closed fixed Improvements to package search

Several things:

  • Default package search (used e.g. on front page) should deal well with multiple items: "abc xyz" means search for both abc and xyz (as separate searches)
  • Should automatically display a list of matching tags in a line at top with number of associated packages
  • have an option to only search for fully open material (or openly licensed material ...)

Since we should be moving to a more sophisticated search solution anyway (to allow prioritisation etc) maybe we should cautious as to what we do now.

1247829864000000 1265890806000000
#80 enhancement dread rgrp v0.10 closed fixed Refactor or remove modes code

Get rid of modes in the RESTful API. Do json stuff directly in controllers.

  • package will have to_dict and from_dict methods (called by rest controller) which provide and consume JSON friendly dictionaries representing the object. from_dict - class_method. stuff in forms for tags as_string, maybe factor out. reuse validation stuff.
1247844263000000 1265890912000000
#81 enhancement rgrp rgrp vdm-0.7 closed fixed Support for sqlalchemy 0.5 1248285433000000 1268487327000000
#82 enhancement rgrp rgrp closed fixed Support diffing of versioned objects

Should have function/facility to get a diff of a version object between 2 revisions. Function should return a dictionary of fields with diffs.

Details:

  • Do we deal with m2m relationships (and m2one on the many side)?
  • What is diff?
    • For text fields output of python diff command
    • For non-text field guess just simple +/- for what was there before and now

Cost: 4h (don't think this is a huge request)

1248289499000000 1256565441000000
#83 enhancement rgrp rgrp vdm-0.6 closed fixed Allow "ignored" fields on versioned objects

Allow 'ignored' fields on versioned objects (i.e. attributes which are not 'versioned'). This is not hard to do as we already have most of the necessary mechanisms set up in the Revisioner object.

Cost: 2h

1248339384000000 1267648301000000
#84 enhancement kindly rgrp ckan-future assigned Revert support on versioned objects

Basic revert in the classic wiki form is already support by purging a Revision. However may wish to support:

  1. Cases where multiple objects changed in a revision but only want to revert 1 (low priority)
  2. Want to revert but have reversion as a new revision of that object.

Seems low priority at present.

Cost: ?

1248339543000000 1340626385000000
#85 enhancement rgrp rgrp closed fixed Convert state from an object to an enumeration

No real benefit of having State object as opposed to a simple text field with enumerated values and this second option is both simpler and more flexible.

Main hassle here is that it requires migration in all projects that use vdm.

If we're going to do this we should do it sooner rather than later.

Cost: 2h (+ 1h for a conversion method)

1248339662000000 1263206391000000
#86 enhancement rgrp rgrp closed fixed Support for stateful dict-like collections

Already support stateful list-like collections and should extend this to dict-like collections.

(This is prerequisite for implementing versioned "extra" (key/value) attributes on packages in CKAN and elsewhere).

1248430798000000 1249050202000000
#87 enhancement rgrp rgrp closed duplicate Multiple download links

Multiple download links, including links to mirrors and multiple formats/versions

1248693302000000 1258470719000000
#88 enhancement rgrp rgrp v0.11 closed fixed Download (link) metadata

Support for download metadata (file size, file formats, version information).

See also: ticket:87 (multiple download links)

1248693385000000 1265891491000000
#89 enhancement nickstenning rgrp closed fixed Tag cloud for package tags

Should not be hard to do (lots of existing libraries) but not sure that this is very important.

1248693939000000 1265892698000000
#90 enhancement nickstenning rgrp v0.11 closed fixed Link to RDF versions of CKAN data

We should link to representations on semantic.ckan.net

  • Each package page could link to its RDF representation
    • "Alternative formats" near star rating. Has logo for RDF (link to RDF) and JSON (link via CKAN REST i/f).
    • Some instances of ckan won't need this, so have option in ini file for this. rdf_store_url=xyz
    • Include machine-readable link to the RDF:
      <meta http-equiv=... />
      
    • 303 redirect to RDF when content negotiation requires RDF. Test:
      curl -I -H "Accept: application/rdf+xml" http://localhost:5000/package/warandpeace
      

Cost: 3h

Future

1248943742000000 1265890334000000
#91 enhancement dread rgrp v0.10 closed fixed Add author and maintainer attributes to package

Add the following attributes to package:

  • author, author_email
  • maintainer, maintainer_email

Gives us full compatibility to: http://docs.python.org/distutils/setupscript.html#additional-meta-data

Column ordering - should come after name, title, url, download_url.

1249049780000000 1250864156000000
#92 enhancement rgrp rgrp closed wontfix Add RDFa to package pages 1249049927000000 1297344859000000
#93 enhancement rgrp rgrp v0.10 closed fixed Access control for packages

Should be able to limit ability to a user's ability to do things with packages (read, edit etc). This is a big ticket (it may required splitting) and full details are in separate wiki page: AccessControl.

Cost: 8d

1249055049000000 1253613274000000
#94 enhancement dread rgrp v0.10 closed fixed Use sqlalchemy-migrate to handle db/model upgrades

Details of how to go about this here <http://www.rufuspollock.org/2009/07/27/sqlalchemy-migrate-with-pylons/>

Cost: 2h

1249134185000000 1250604808000000
#95 enhancement rgrp rgrp closed fixed Add manifest support

Support for listing files (manifest) contained within a package.

Traditional manifests just list the files. Suggest in addition we have support for optional metadata in form of key, value pairs.

1249981842000000 1251454716000000
#97 enhancement rgrp rgrp closed duplicate Do not create a distribution on a path is something already exists there

(2009-03-09) Do not create a distribution at path X if path X already exists and contains material (unless forced via a force option).

Cost: 1h

1249983557000000 1318181317000000
#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
#99 enhancement rgrp rgrp closed wontfix Test DbIndex with sqla 0.5

Test DbIndex? with sqla 0.5 (and get it working if it does not work).

Cost: ??

Priority: low because DbIndex? is not currently that important to us (also wonder whether we should try using CKAN code here to stop us reinventing the wheel).

1249985537000000 1297081088000000
#100 enhancement rgrp rgrp closed fixed Convert existing data on disk to a datapkg distribution

(2008-10-29) convert existing directory on disk to a datapkg distribution (PythonDistribution? by default). This would be presented in the CLI as a convert command.

Details:

  • Add a metadata file (setup.py), perhaps prompting for input
  • List all existing data in that directory

Cost: 4h

1249986628000000 1318181227000000
#101 enhancement rgrp rgrp closed fixed (Improved) Download support
  1. Given a url download from that url to disk
  2. Given a package use download url to download to disk

Once on disk should uncompress (if necessary).

Details

  • Should download either to tmp directory (defaulted in config) or a specified path on disk
  • In download would like to support as many types of target urls as possible:
    1. Single files (usually compressed filesets but could be individual files)
    2. Index pages listing files to download
    3. Revision control repositories
    4. ...

This will obviously be a significant amount of work. Suggest:

  1. Start off just supporting the first option.
  2. Have something like a plugin system to handle new target types
  3. Reuse existing work (e.g. easy_install and pip handle standard vcs such as svn, hg, git etc)

Cost: 1d

1249988866000000 1267648607000000
#102 enhancement rgrp rgrp closed fixed Switch to using UUIDs for revision ids

This is better for long term sustainability, especially if we want to "push and pull" from unrelated repositories in the future.

Details:

  • May wish to retain a number field updated in the usual incremental way (what's the cost/benefit here?)
1250068175000000 1260285104000000
#103 enhancement kindly rgrp ckan-v1.5 closed fixed View a package at a given revision

As a user I want to view a package at a given revision:

  • When I visit /package/read/xyz?rev=yyy I should be shown package at revision yyy
  • package history page should provide links to these pages

Cost: 2h

1251289897000000 1311180850000000
#104 enhancement rgrp rgrp closed fixed View a package at a given version

As a user i want to see a package at "version" X (NB: not revision X).

  • When I visit e.g. /package/read/xyz?version=0.7 I should be shown package at version 0.7 (or a message saying no such version)
  • Implementation:
    • Find revision for this version (search revision history for when version field was last 0.7)
    • Show pacakge at that revision (as in ticket:103)
  • On history page also shows versions in list of revisions associated with the package
1251292672000000 1311181303000000
#105 enhancement dread rgrp v0.10 closed fixed Package groups (view)

As a user I want to be able to create groups of packages.

This functionality is different from tags:

  • The ability to add a package to a given group is restricted whereas anyone can add a given tag to a package
  • Specifically groups have owners and only the owners can add a package to that group

Group properties

  • id (primarykey, uuid style)
  • name (restricted content - same rules as package)
  • title (no restrictions)
  • owners -- many:many with user object
  • description (markdown)
  • packages -- many:many with package object

Don't version groups for now.

Groups address in the WUI will be:

  • /group - browse list of groups (reuse list action)
  • /group/list - same thing for now
  • /group/<groupname> - display: group properties with links to packages. No links to user pages (yet).

Group editing and searching will be another ticket.

Cost: 3d

1251392282000000 1252488496000000
#106 enhancement dread rgrp closed duplicate Regularly convert CKAN data to RDF and put on Talis CC

Sister to ticket:90 (Link to RDF version of CKAN data on Talis Connected Commons).

Talis have already kindly done an initial conversion. We should repeat this process regularly and re-upload the data to Talis CC.

In the long run may wish to only re-convert packages changed since the last upload. However given relatively smaller size of full dataset this optimization is probably not yet required.

Attached is the ruby script used by Talis for conversion

Cost: ? (1d+ depending on e.g. how easy integration with Talis CC is)

1251454474000000 1256140649000000
#107 enhancement rgrp rgrp closed invalid Provide information about uploading material

Often people who are registering resources want to make the associated material available. We should:

  • Provide a dedicated upload page giving instructions as to upload process
    1. Explain we don't store the data itself on CKAN. Suggest uploading to a store somewhere and then linking using download_url (that is its purpose)
    2. Upload to
      • Talis CC for RDF
      • archive.org
      • grid.okfn.org
  • link to this page from next to download_url item on new package page

In long run (now ticket:186) we may automate this by providing a ckan upload facility which caches the data and then reuploads it to relevant service (disadvantage is "we" are the owner of the data on that service ...)

1251466274000000 1296341644000000
#108 enhancement dread rgrp v0.10 closed fixed Package search in the REST API

Add package search facility in the rest api at /api/search

Queries can be provided as for the normal package search either by posting to that url or by performing a get with a query string.

E.g. .../api/search/package?q=xyz

Query parameters:

  • q is keyword string (searches name, title, tags by default)
    • split by words and ANDed
  • additional parameters for specific fields
  • qjson is alternative to q for Searching by specific fields (in addition to keyword string). Payload to json is a JSON-encoded dict which is a dictionary with a q field for free text (keywords) and additional key/value pairs for specific fields
    • if q and qjson specified ignore q and just process qjson value

Additional parameters in addition to query ("q" or "qjson") are:

  • limit
  • offset
  • fullinfo=0/1 - return full record for each result (default=0)
  • order_by=field_name
  • search_notes=0/1 (default 0) do we search notes field in a keyword search

Return value is json encoded dictionary with keys:

  • 'results': list of results
  • 'count': total number of results

Extras (for the future)

  • Prioritisation is not part of this ticket (requires fulltext support in DB or in external app such as Xapian)
1251915845000000 1252340511000000
#109 enhancement rgrp dread closed fixed Tag search in the REST API

Similar to ticket:108 but for tags:

/api/search/tag?q

For tags search is extremely simple since you can only search by name.

Possible Extras

  • Allow "exotic" ordering of results e.g. ordering by number of packages with that tag.
  • Return this number with tag list.
1251976297000000 1291829457000000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Note: See TracReports for help on using and creating reports.