Comments (13)
Although apicurio isn't mature enough yet to worry too much about how to render OAI extensions, in principle I think SEMOASA sounds like a great idea. Anything that can give editors (and documentation generators) more information about what a property might mean would be super helpful.
from openapi-gui.
Hi @newgene thanks for reaching out - have you seen the SEMOASA proposal for a machine-readable format for OpenAPI specification extensions?
As an example, if you create a SEMOASA document (format is still in flux) you would be able to render documentation such as this.
Enabling intelligent support for OpenAPI extensions in definition editors is one of the stated use-cases.
What I am thinking of currently is that the OpenAPI definition might include an extension pointing at an array of SEMOASA documents which define the extensions which are expected to be encountered. But there is no reason why you could not preload these and instantiate effectively a SmartAPI-gui.
At the moment the templates and field logic in OpenAPI-gui are fixed, but I think creating dynamic elements based on a schema-to-html translation should be possible.
Pinging @tedepstein, @RomanGotsiy, @brendo, @brylie, @EricWittmann for their thoughts.
from openapi-gui.
@newgene and @MikeRalphson ,
Yes, this is exactly the kind of use case I had in mind for SEMOASA. We'd like to provide a rich editing experience for OpenAPI extensions in our own API editors. And we'd like to promote SEMOASA as an open standard so that extensions can be supported in any compliant editing tool.
Tool providers have a lot of flexibility as to how they want to expose this functionality. For example:
- The configuration of the editor could be
- baked-in, with a preset SEMOASA catalog; or
- admin-configurable, e.g. as a startup parameter in the editor deployment; or
- user-configurable in a user account, team account, "workspace" or "project" (if those abstractions exist); or
- driven by embedded extension properties (now going "full meta," with extension properties that point to other SEMOASA extension description documents.)
- Users of the editor could simply point to one or more SEMOASA documents (through one of the above configuration mechanisms), and have full access to all of the specifications extensions defined therein. Or there could be another layer of configuration that lets the user specify which of those registered extensions they intend to use, so a catalog of 200 extensions doesn't have to mean 200 proposals in a code assist popup.
from openapi-gui.
Great! Thank you all for pointing us to SEMOASA. It's exactly the piece I thought missing in the OpenAPI ecosystem. Glad you guys have stepped up and created one already. We will definitely look into it. And we are particularly interested to see a web-based API metadata editor, like openapi-gui, with the SEMOASA support.
from openapi-gui.
Form-generation from a schema-like definition in vue.js:
https://jsfiddle.net/Herteby/ybqp8j0b/
Dynamic binding issue:
from openapi-gui.
@newgene Just to let you know some progress is being made on this issue. Any help you can give towards a Semoasa document for your OAS extensions would be gratefully received.
from openapi-gui.
@MikeRalphson thanks, we will give it a try.
from openapi-gui.
@newgene sorry - that's just a teaser- the dynamically generated forms are working well, but I still need to do some work on the persistence layer behind it before it is released.
from openapi-gui.
@MikeRalphson got it. We will continue watching this thread then :-)
from openapi-gui.
Hi,
Is there any progress on this one? #16 (comment) looked very promising
from openapi-gui.
Hi @moon0326 - unfortunately not as yet, There's not really much to do (the persistence mechanism, and the importing of extension metadata) but the Semoasa spec (and usage of it) seems to have stalled somewhat and that kind of took the wind out of the sails of this feature. I will update here if I get time to get back to it. If you know vue.js and something about dynamic binding then help would be very much appreciated!
from openapi-gui.
@MikeRalphson Thank you for such a fast response. It's my fist time seeing this package. I will take a look!
from openapi-gui.
Thanks @moon0326 the existing code is on the semoasa
branch.
from openapi-gui.
Related Issues (20)
- Can't create a HTTP Authentication security scheme HOT 5
- Media type at request body does not reflect value entered HOT 2
- Unable to config callback operation
- Confusion while navigate operations
- Importing an exported file doesn't work
- content type of requestBody not set
- Migrate js/*.js to dependencies HOT 3
- The button "Remove all" not work HOT 3
- main path application content cannot take effect after change
- ReactJS integration support ? HOT 3
- Hexadecimal interpreted as number HOT 10
- The syntax-highlighting for the "Export YAML" output doesn't escape ' properly HOT 2
- always display petstore HOT 5
- Support saving to GitHub gist and sharing of links
- Missing re-use shared scheme for response HOT 2
- oauth flows missing
- Add a rendered preview of the api HOT 1
- why response object only supports inline schema? or any plan for share schema? HOT 1
- Schema Editor: Add option to only define the actual parameters and do the JSON Schema under the hood. HOT 1
- parse error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openapi-gui.