On Mon, Aug 29, 2016 at 7:33 AM, Tomas Strachota <tstrach...@redhat.com>
wrote:


>>     If we decide that jsonapi is the way to go for v3 I think it would
>>     be better to implement it as part of the foreman core. We can
>>     clearly mark it as devel preview with no guarantees, let it evolve
>>     alongside with v2 and freeze when we're happy with it.
>>
>>
>> I don't see the advantage of implementing a new api as part of core
>> until if/when it is stable and has community adoption.
>>
>>
> I think that it can actually attract the community more when it's in the
> core and users/devs can start experimenting with it just by changing the
> version in url. The result is more or less the same. The only difference is
> in entry barriers (installing a plugin vs. changing number in url).
>

Personally I like the API being a plugin that's treated like core in terms
of tests-must-pass, etc. The benefits I can think of at a quick glance:
+ all changes to routes and parameters in one uncluttered place
(uncluttered meaning not a mix of other "core" PRs)
+ all changes to json body output format in one uncluttered place (big
headache currently when data relied on changes)
+ plugin github ack/nack/mergers dedicated devs committed to not breaking
api (these devs know the space and mission statement)


Negatives are:
+ have to submit two PRs, one to foreman one to api plugin, when changes
impacting both
+ would other plugins (katello, rex, etc.) be encouraged/required to have
separate github repo for their APIs too?

Writing a new api via a plugin is not a new idea as several of the
katello/Satellite-6 devs/users/customers have thought about doing this for
some time. I know Joseph's plugin arises from his work but it's great to
see this. I also like that it's based on jsonapi.org which would act as the
arbitrer of disagreements in style and such. Thanks Joseph for starting
this work!

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to