-
Notifications
You must be signed in to change notification settings - Fork 60
How should multiple implementation contributions from providers of an API spec be managed in a Camara subproject? #63
Comments
@patrice-conil (Orange) has expressed interest to contribute a reference implementation for the QoD API |
In this case we could create 2 or more subdirectories below code/API_code for the different reference implementations. The API definition and API documentation should be the same, so there we shouldn’t need a differentiation |
@patrice-conil: Would you confirm the solution? |
@MarkusKuemmerle Solution is ok for me |
@MarkusKuemmerle @patrice-conil @shilpa-padgaonkar : this solution is also fine by me |
Fine by me |
@MarkusKuemmerle @jordonezlucena @shilpa-padgaonkar |
@patrice-conil : For which API familiy / Sub Project do you have this implementation? |
@MarkusKuemmerle For QoD API (version 0.8.0) |
Personally, I do not subscribe to the idea of having multiple ref. implementations (intended to be actively maintained) within a single repo |
@MarkusKuemmerle , @shilpa-padgaonkar |
@patrice-conil : Not at all, you should definitely contribute it to Camara. We would be very much interested in taking a look at your contribution and learning from it. My point was more about, how do we manage multiple ref. implementations in Camara subprojects in a clean way and can it be done within a single repo. |
What about taking Markus' original suggestion: "In this case we could create 2 or more subdirectories below code/API_code for the different reference implementations. The API definition and API documentation should be the same, so there we shouldn’t need a differentiation" ? |
@jordonezlucena @patrice-conil @SylMOREL : Let us discuss this topic in Wednesday call (19th Oct) and agree on how to proceed. |
My 2-cents to our discussion on Wednesday :
The above challenges are naturally supported by git when using one repo per implementation (product). The above points are written with the assumption that the contributions made to Camara will not be just a one-off activity, but rather an ongoing process with continuous effort to actively maintain the implementation/s in Camara. |
Content of this comment are in new issue that can be found here - https://github.com/camaraproject/WorkingGroups/issues/99 |
@lbertz02 : All valid points mentioned above. Thanks for the same.
|
CAMARA’s focus is API adoption. Successful adoption implies multiple, platform-specific implementations of the APIs and continual promotion of more implementations. Users will need to figure out which implementation best applies to them. Projects that have wide adoption with complex implementations under a common repo are notorious for being large. Maintenance is challenging. Separating the API repos from their implementations, i.e., seems the best option at this time.
I propose existing implementation code be moved out of the current repo and into to a new one. Subsequent contributions should be in separate repos. A file linking those implementations should be placed in the current repo. If one wishes to create a Reference Implementation, a new issue should be opened to discuss it and the supporting Validation Specification document. |
My 2 cents in this discussion.
I guess we need to be very explicit about these 2 kind of implementation as they not target same objective and same audience. |
An API can be viewed from two sides, the provider and the consumer. Each of them needs a reference implementation from the other party to validate itself. For the provider, it's probably a collection of requests and expected responses (a postman collection for example). For the consumer, it is an implementation of a stub provider that returns expected responses corresponding to input requests. So we need probably only one reference implementation of a provider but as many as possible sample of consumers in different technos to encourage adoption. |
Here's feedback from Telefónica on some of the topics discussed in the thread.
|
+1 from Vodafone to assement from @jordonezlucena above |
Swagger's "try it out" option doesn't provide a mock of the provider part... you can't validate your consumer implementation with it. |
Thanks @patrice-conil - yes correct. Surely too simplistic but I assume we have something like this : To make sure we're on same page:
|
As agreed in commonalities, we will move the current QoD implementation outside the repo and every following contribution will get a repo of its own. |
Hi @shilpa-padgaonkar, |
@patrice-conil : This will be inside Camara project. |
No description provided.
The text was updated successfully, but these errors were encountered: