Skip to content
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

extension registry management #1806

Closed
dret opened this issue Jan 11, 2019 · 19 comments
Closed

extension registry management #1806

dret opened this issue Jan 11, 2019 · 19 comments
Labels

Comments

@dret
Copy link
Contributor

dret commented Jan 11, 2019

i just discovered the extension registry and it's great to see this getting started (as per #1351, i guess). my suggestion would be to decouple this from the spec and turn it into a repo and site of its own. one of the main motivations for registries is to decouple spec and extension management, and managing these two things separately usually is a good idea.
another thing i would suggest is to track registry updates, and to have clear extension policies. maybe https://tools.ietf.org/html/draft-wilde-registries-01 can help with better understanding the issues that a registry should follow if it is expected to be reliable and robust over time.

@MikeRalphson
Copy link
Member

MikeRalphson commented Jan 14, 2019

Thanks @dret We did debate having a separate repo for this, but came down on the side of using the gh-pages branch as a pseudo-separate repository with its own history. We can revisit this decision easily if it becomes necessary. The registry has a site of its own at spec.openapis.org/registry.

The gh-pages branch can (and should) have its own CONTRIBUTING.md guidelines, and I'll be sure to work through the IETF draft you linked to. This is one reason we haven't removed the large "DRAFT" watermark from the site yet.

@dret
Copy link
Contributor Author

dret commented Jan 14, 2019 via email

@MikeRalphson
Copy link
Member

once you register, you cannot make breaking changes. things cannot be unregistered, they will simply be marked as deprecated.

Yep, I think that's understood by all.

submissions must be in some specific format

Submissions will be made by GitHub PR (by the requester, or by an @OAI/tsc member on their behalf), a GitHub PR template will capture all mandatory metadata (such as a base_type for a format, a schema for an extension etc).

there must be associated online resources for submissions

Could you expand on the need for "online resources", if external, that sounds fragile.

@tedepstein @earth2marsh I think you've both mentioned the need for process around this, it would be really helpful if you could start to work up a draft CONTRIBUTING.md / Pull Request template, as this would help to stop this looking like a one-man crusade 😄

@MikeRalphson
Copy link
Member

MikeRalphson commented Jan 14, 2019

@dret

there may be extensions for AsyncAPI (if that ever gets to be a proper OpenAPI-based thing)

Just FYI, at the moment AsyncAPI is pursuing a course with their own foundation outside the OAI (which sidesteps issues with our charter scope).

@dret
Copy link
Contributor Author

dret commented Jan 14, 2019 via email

@dret
Copy link
Contributor Author

dret commented Jan 14, 2019 via email

@MikeRalphson
Copy link
Member

Thanks @dret, that's all very helpful and I really appreciate the offer of an extra set of eyes.

The four initial registries all use the same basic jekyll static site collections to achieve their persistent URLs from metadata + markdown.

The registry site itself could be easily re-used (say by JSON Schema for their own formats registry, or by AsyncAPI) and is all Apache-2.0 licensed like the spec. itself. It wouldn't take very much to make it a white-box solution.

@dret
Copy link
Contributor Author

dret commented Jan 14, 2019 via email

@tedepstein
Copy link
Contributor

@MikeRalphson wrote:

@tedepstein @earth2marsh I think you've both mentioned the need for process around this, it would be really helpful if you could start to work up a draft CONTRIBUTING.md / Pull Request template, as this would help to stop this looking like a one-man crusade 😄

Happy to help. I'll try to have a draft by end of this week. @earth2marsh , please ping me if you'd like to pair-program, tag-team, or whatever. :-)

@tedepstein
Copy link
Contributor

@MikeRalphson, I'm starting on the Pull Request template and CONTRIBUTING.md guide for the registries.

I'm not clear yet on what a PR for a new registry entry should look like, and I assume we don't yet have an example of such a PR. I have the impression, based on what you've written here and in related issues, that the PR format would be fairly obvious if I understood how Jekyll works; I just don't have any experience with Jeckyll.

If Jeckyll is the right place to start, I'm happy to do some background reading, and hopefully the pieces will all fall in place. You pointed me to the Jeckyll docs in response to an earlier question. Should I start there?

@MikeRalphson
Copy link
Member

I'm not clear yet on what a PR for a new registry entry should look like, and I assume we don't yet have an example of such a PR

Exactly so. The PR should add one new markdown file with YAML front-matter, where the template section is based on an existing entry for the same registry. (The template is a mixture of values brought in from the YAML front-matter and other Jekyll collection/site settings and free-form text like examples).

The PR template would have a number of check-boxes to ensure the relevant data has been collected. I'm not sure whether one generic PR template would do, or if one PR template per registry is better... I've just thought of one wrinkle, how does the PR author add the issue YAML property linking to a PR they haven't yet finished creating? This could be solved by always having an issue first then a linked PR, with the PR and the YAML referencing the original issue number.

You pointed me to the Jeckyll docs in response to an earlier question. Should I start there?

Yes, I think that's a good starting point. For googling other resources, drop the stray c from Jekyll. 😁

Once you've read the basics, have a look at Jekyll collections (https://jekyllrb.com/docs/collections/) which is the feature we're exploiting to build the registries out.

@dret
Copy link
Contributor Author

dret commented Jan 17, 2019 via email

@MikeRalphson
Copy link
Member

so that i could extract and rebuild the registry somewhere else simply by using the data i can get through the API.

I'm so not sure that's an actual use-case we would want to enable. 🙂 Though it may be a worthwhile intellectual exercise to ensure we have moved all the relevant data into the YAML front-matter.

@tedepstein
Copy link
Contributor

@MikeRalphson , are registries considered part of the 3.x development scope?

@darrelmiller, should we add this to #1466, the Big List of Possibilities, so we can keep it on our radar?

@MikeRalphson
Copy link
Member

Ted: I added a discussion item for this exact topic to this week's agenda earlier today.

@handrews
Copy link
Member

@OAI/tsc review request: Is there anything we want to do here? We have a registry site, it's on gh-pages. We have an issue tracking moving that to a directory rather than a branch (#3717). When we decided to consider that in recent TDC calls, we briefly discussed splitting it out entirely (or moving it to the Learn site) but tentatively decided against that. Does that mean we can close this issue, or are there still things here that we should be taking action on? Or should we re-consider splitting it out?

@miqui
Copy link
Contributor

miqui commented Apr 28, 2024

We SHOULD close this issue and focus on #3717.

@miqui
Copy link
Contributor

miqui commented May 29, 2024

We SHOULD close this issue and focus on #3717.

@handrews , @ralfhandl - voting the same above.

@darrelmiller
Copy link
Member

spec.openapis.org is not directly tied to the OpenAPI specification any more as we are using that site for a variety of purposes. We think that it is fine to leave the registries on this site for the moment. We already have some traction with the formats registry being here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

6 participants