-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QoD 0.9 - inline documentation problems #199
Comments
cc: @gmuratk |
Hi @murthygorty, |
Hi Patrice, as a developer of the spec, there is a advantage as you say. Also, if you look at the documentation created for 0.8.1 (above OP link), would we be able to create such rich documentation online? |
Hi @murthygorty, |
Besides, I always generate the models and the API from the OAS to be sure not to miss anything. |
ahaa, thanks @patrice-conil - so, if I understood you correctly, are you suggesting that
if so, that is perfectly fine, imo. Without #2 above, I am sorry I cannot agree. CAMARA consumption cannot be for developers only. CAMARA releasechecklist we have is really good and caters to the appropriate audience (including Technical Product Managers in customer organizations who need to create requirements towards Customer Development teams). If we agree on #1 and #2 above, we still need to fix this issue so that there is a document that is part if 0.9 release :-), don't you agree? |
Hi @murthygorty, |
For (2) it would make sense to explore some way to generate a HTML formatted version of the yaml spec, with tools such as redocly/redoc, and provide that output as part of the project. This is something transversal to all WGs. |
all above sounds good @patrice-conil , @jlurien . As tooling parts are figured out, may be work with commonalities project to change the check-list for API readiness, appropriately? |
I don't think we should go back to what we did in 0.8.x, as that implies duplicating the effort to maintain doc in two different places. If the problem is to provide a non-dev friendly version of the yaml spec, there are some simple ways to provide that in the short term, until we decide to build a proper web hosting of our html versions of the APIs. For example we could add the URL to the API version (raw) as parameter to
and use that in the links in the README.md, as in Status and released versions...
To avoid external dependencies, another option could be to build the html doc with some Github actions host the files in Github Pages. Similar to this |
Shouldn't we take this discussion to the Commonalities subproject to get an explicit guideline for all subprojects? |
fwiw,
|
Thinking about some more, I completely agree with @gmuratk .
There are two other considerations for merging CAMARA documentation with OAI spec:
|
The Swagger editor also supports linking to external documentation, for example: I agree such links should be added to the release notes for each release. With regard to the documentation itself, we need to distinguish between the mechanism by which APIs are documented, and the quality of that documentation. The introductory blurb (under But the value of using the API specification as the documentation is that OAS allows individual schema to have descriptions and examples, and good examples and descriptions can be included when the schema is introduced. So this stops documentation being viewed as something to be done right at the end when a new version of the API is otherwise ready. So I think using these OAS features is the way to go towards keeping documentation up to date. Other tools, such as cucumber, will help to formalise the documentation of expected API behaviour. And whilst I agree that there is an obligation on API developers to try to keep inline documentation up to date and accessible to less technical viewers, I think there is also an obligation on those interested in such details to understand the way in which the associated tooling presents that information. |
Agreed at meeting on 11th August to include links to release notes and README. Also raise in Commonalities. |
@hdamker
Can you make the necessary changes? Thanks. |
If it helps, in HomeDevicesQoD we have this PR camaraproject/HomeDevicesQoD#54 (ready to be merged) that you might want to use as a reference or example. @hdamker @eric-murray @jlurien. |
Yes, will prepare a PR for that. Thanks for driving the issue to a conclusion. |
@jpengar thanks a lot, copied with pride 👍 |
@hdamker Happy to hear that my PR was useful :) |
Yes, I'm aware (hence I had written it in the PR description). I'm just waiting for one review from one of my fellow code owners (@RandyLevensalor @eric-murray) and then I will do the merge and update of release notes accordingly. |
thank you so much everyone. I feel like we can use QoD as the leading example of CAMARA APIs :-) - it is also very popular for usage as far as I can tell. |
Problem description
Hello, I noticed that we moved to inline documentation. This poses a problem for stakeholders/Product folks or even Devs who just to understand the API quickly without using a tool.
Also, I believe this doesn't meet the check-list requirement for documentation: https://github.com/camaraproject/WorkingGroups/blob/main/Commonalities/documentation/API-Readiness-Checklist.md
Comparatively, 0.8.1 is so much nicer to consume:
https://github.com/camaraproject/QualityOnDemand/blob/release-0.8.1/documentation/API_documentation/QoD_API.md
Expected action
Expose documentation that is easy to consume like 0.8.1
Additional context
<none - see description>
The text was updated successfully, but these errors were encountered: