Koushik,

I am afraid I am not. Using English for identifiers there is a semantic
differnce of using <word>+'s' or just <word>. it is the same difference as
using String or Collection<String>. For the sake of quality assurance and
maintainability I call upon you to add a parameter for the use with
multiple instances. Nomenclature matters a lot. There are more of these
little 'English' rules implied in using a programming language, like the
use of adjectives. They matter in Westerns languages and unless we define a
system wide set of different rules let's stick with English.

kind regards,

Daan Hoogland


Op 13 feb. 2014 08:32 schreef "Koushik Das" <koushik....@citrix.com>:

> I see that there are 2 different opinions
>
> 1. Use 'id' for multiple ids as well. This is simple and compact and
> nothing breaks.
> 2. Have both 'id' and 'ids'. This can lead to confusion if 'id' is not
> deprecated (breaking change and would require a version change).
>
> Daan,
> Is it ok to move ahead with #1 for now? Later on when there is a version
> change required, this can be revisited.
>
> -----Original Message-----
> From: Daan Hoogland [mailto:daan.hoogl...@gmail.com]
> Sent: Monday, 10 February 2014 5:11 PM
> To: dev
> Subject: Re: [PROPOSAL] List VM API enhancement
>
> I don't like the id that id will be used for a list of ids. I would like
> to see the two both added to the api. They don't even need to bee mutually
> exclusive. the (human) semantics of id and ids is (in
> english) quite different and should be honored.
>
> regards,
> Daan
>
> On Fri, Feb 7, 2014 at 11:24 PM, Min Chen <min.c...@citrix.com> wrote:
> > Yes.
> >
> > -min
> >
> > Sent from my iPhone
> >
> >> On Feb 7, 2014, at 11:10 AM, "Alena Prokharchyk" <
> alena.prokharc...@citrix.com> wrote:
> >>
> >> We can just agree from now on to use the ³id" for handling multiple ids.
> >> And of course, we can never delete the ³ID² parameter just to satisfy
> >> the old convention, as this is the most used parameter :)
> >>
> >> I can see that several existing commands - archive/deleteAlerts are
> >> using ApiConstants.IDs parameter. We can mark IDs as deprecated, so
> >> its no longer used by new commands.
> >>
> >> -Alena.
> >>
> >>> On 2/7/14, 11:03 AM, "Koushik Das" <koushik....@citrix.com> wrote:
> >>>
> >>> Good point Min.
> >>> I also thought about it but looking at some of the existing APIs
> >>> thought of keeping both.
> >>>
> >>> For e.g. in deploy VM api there is a parameter called 'networkids'
> >>> which can take an array of network IDs. Note that the naming
> >>> convention of ending in 's'. Now by this logic we should name the
> >>> parameter 'ids' and remove the existing parameter 'id' which will be
> >>> a breaking change. In case the existing 'id' parameter is used for
> >>> multiple IDs that breaks the parameter naming convention.
> >>>
> >>> I am all in favour of using the existing 'id' parameter if there is
> >>> no issues with breaking the naming convention.
> >>>
> >>>
> >>>> On 07-Feb-2014, at 11:25 PM, Min Chen <min.c...@citrix.com> wrote:
> >>>>
> >>>> Hi Koushik,
> >>>>
> >>>>    I agree with the idea of supporting multiple IDs. But I may not
> >>>> like the idea of introducing another different query parameter
> >>>> "ids" for this purpose. Why cannot we just change current "id"
> >>>> parameter to take a list of values? This way, user will not need to
> >>>> use two different parameters for single or multiple cases.
> >>>> Maintaining two different parameters for similar purpose is
> >>>> error-prone. If you look at Amazon EC2 api, you will notice that
> >>>> they are also using the similar convention, id parameter can be one
> >>>> or more.
> >>>>
> >>>>    Thanks
> >>>>    -min
> >>>>
> >>>>> On 2/6/14 3:24 AM, "Koushik Das" <koushik....@citrix.com> wrote:
> >>>>>
> >>>>> Yes it will be like a findByIds() and the one id case is just a
> >>>>> special case for this.
> >>>>>
> >>>>> On 06-Feb-2014, at 4:24 PM, Daan Hoogland
> >>>>> <daan.hoogl...@gmail.com>
> >>>>> wrote:
> >>>>>
> >>>>>> looks nice, it will be backed by the current query for one id? or
> >>>>>> will you write a findByIds()?
> >>>>>>
> >>>>>> On Thu, Feb 6, 2014 at 9:35 AM, Abhinandan Prateek
> >>>>>> <abhinandan.prat...@citrix.com> wrote:
> >>>>>>> +1, The listVM call is one of the most resource intensive call.
> >>>>>>> +Any
> >>>>>>> step
> >>>>>>> to optimise it are welcome.
> >>>>>>>
> >>>>>>>> On 06/02/14 2:01 pm, "Koushik Das" <koushik....@citrix.com>
> wrote:
> >>>>>>>>
> >>>>>>>> Currently list VM can only be called using a single VM ID. So
> >>>>>>>> if there is a need to query a set of VMs using ID then either
> >>>>>>>> multiple list VM calls need to be made or all VMs needs to be
> >>>>>>>> fetched and then do a client side filtering. Both approaches
> >>>>>>>> are sub-optimal - the former results in multiple queries to
> >>>>>>>> database and the latter will be an overkill if you need a small
> >>>>>>>> subset from a very large number of VMs.
> >>>>>>>>
> >>>>>>>> The proposal is to have an additional parameter to specify a
> >>>>>>>> list of VM IDs for which the data needs to be fetched. Using
> >>>>>>>> this the required VMs can be queried in an efficient manner.
> >>>>>>>> With the new parameter the syntax would look like
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> http://localhost:8096/api?command=listVirtualMachines&listAll=t
> >>>>>>>> rue&id
> >>>>>>>> s=
> >>>>>>>> edd
> >>>>>>>>
> >>>>>>>> ac053-9b12-4d2e-acb7-233de2e98112,009966fc-4d7b-4f84-8609-25497
> >>>>>>>> 9ba013
> >>>>>>>> 4
> >>>>>>>>
> >>>>>>>> The new 'ids' parameter will be mutually exclusive with the
> >>>>>>>> existing 'id'
> >>>>>>>> parameter.
> >>>>>>>>
> >>>>>>>> Let me know if there are any concerns/comments.
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>> Koushik
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Daan
> >>
>
>
>
> --
> Daan
>

Reply via email to