[ckan-discuss] CKAN/Licenses - outstanding issues
John Bywater
john.bywater at appropriatesoftware.net
Wed Mar 10 19:31:41 GMT 2010
Hi guys,
The servicization of the licenses package is shaping up now.
The licenses package can be used to deploy v1.0 and v2.0 level licenses
service, and the very latest CKAN can be configured to use a v2.0 level
licenses service (with e.g. ...
licenses_group_url = file:///path/to/your/licenses/service/2.0/all
... in your .ini file). See the README.txt in the licenses package
source for information about using the licenses package. Hopefully we
can release a new version of the licenses package and deploy at
licenses.opendefinition.org soon.
So, the CKAN Package model class has a Licenses register, which has a
Licenses Service (see model/license.py and model/package.py) for more
information about how the domain model works after the changes.
All the tests should be passing, however there are a few outstanding
things to do:
- fix 'license_id' in forms (and REST?) to 'license'
- fix migration script (and mapper from v1 to v2)
- graceful degradation for missing licenses (in case package has a
license_id which doesn't exist for some reason)
- fix licenses package to order 'all' with top-5 at top (commonly used)
- make package.license_id revisioned (?)
The form field change is probably not hard, but it's something I'd
prefer to do with somebody who knows the forms lib better than I do
currently.
The migration script will need to change the field type and substitute
all the values. Again, it's probably not hard, but I'd prefer to do that
with somebody too.
The graceful degradation won't take very long (but should probably be
under careful test). I can do that on my own.
The ordering of the licenses is something I suggest we review. It's
relatively expensive to implement, as an ordered list needs to be
created and maintained. Also, I would guess an alphabetical list is
already fairly optimal. Of course, I could easily do this it's more
important than I believe.
Lastly, as the package.license_id attribute is just a string, it should
be simple to make the license attribute temporal (if it isn't already?).
I don't know whether it is or it isn't!
If you have any trouble with any of this, please let me know.
Best wishes,
John.
More information about the ckan-discuss
mailing list