[ckan-dev] #2433 API version 3 changes

Toby Dacre toby.okfn at gmail.com
Fri May 25 15:48:15 UTC 2012


On 25 May 2012 16:45, Sean Hammond <sean.hammond at okfn.org> wrote:

> On Fri, May 25, 2012 at 04:32:53PM +0100, Toby Dacre wrote:
> > reported issue
> > ===========
> > According to the documentation, the APIs version 2 and 3 should return
> id's
> > as references.
> > Therefore, I changeg 'if api == 2...' to 'if api >= 2...' to select 'id'
> as
> > the returned reference.
> > ===========
> >
> >
> > Actually the docs aren't clear about version 3 unless I'm being dim.  It
> > would seem sensible to make this change however it does change how the
> > Action API behaves and as a consequence breaks several tests (at least
> 4) -
> > these are simple to fix we get the id not the name.
> >
> > the affected actions
> > ===============
> > package_list
> > package_relationship_create
> > revision_show
> > group_list
> > package_update_validate
> >
> > It would be nice to get this fixed and I'm loathed to suggest adding a
> > version 4 hack.
> > If we make this change it will break things for existing users.  This
> > behaviour has existed since the action api was added as far as I'm aware
> >
> > links: http://trac.ckan.org/ticket/2433 from pull request
> > https://github.com/okfn/ckan/pull/5
> >
> > So should we
> > a) leave it forever and document
> > b) break things and fix it - when 1.7.1 or 1.8?
> > c) a magical solution
>
> Leave it and document. I don't see any reason to make this change, it'll
> break things for existing users and as far far as I can see there's no
> advantage to returning IDs over names, names are friendlier and are (or
> should be) accepted by the API anywhere that an ID is accepted. API
> functions that won't take a name in place of an ID should be fixed.
>

I have to say that I hate the name being usable as it is volatile.  The id
is forever.
Anyhow thanks for your input.  Unless others pipe up I'll go with that
solution


>
> It is bad in terms of the user interface that the API functions all
> require an "id" parameter but what you actually pass to them is the
> "name", but I've documented that in each function's docstring.
>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20120525/61dc7169/attachment-0001.html>


More information about the ckan-dev mailing list