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

Proposal for referencing Tag Objects with URIs. #4480

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

handrews
Copy link
Member

This proposal replaces draft PR #4390 based on today's TDC call.

  • schema changes are included in this pull request
  • schema changes are needed for this pull request but not done yet
  • no schema changes are needed for this pull request

@handrews handrews added the metadata tags, info, license, contact, markdown usage, etc. label Mar 20, 2025
@handrews handrews added this to the v3.2.0 milestone Mar 20, 2025
@handrews handrews marked this pull request as ready for review March 20, 2025 20:06
@handrews handrews requested review from a team as code owners March 20, 2025 20:06
@lornajane
Copy link
Contributor

Thanks for putting this together, good structure and good starting point for getting input on the idea!

ralfhandl
ralfhandl previously approved these changes Mar 21, 2025
@ralfhandl ralfhandl requested a review from a team March 21, 2025 13:10
Copy link
Contributor

@lornajane lornajane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not in favour of these additions for the 3.x branch. I wish that we'd implemented tags differently in the first place, and I'm sure that all the constructive discussion around the tags feature will help us a lot in future major releases.

I believe that the limitations of the current tag situation can be overcome with helper tooling and that this change (while solving a narrow but valid use case) adds complexity to the specification that is unnecessary and does not benefit the majority of users. As custodians of a widely-used standard, we have a responsibility to maintain something that is appropriate for its audience, and we should be "reluctant" in all our changes unless we see that they are really needed.

I propose that users would be equally well served by leaving the requirement to resolve tags from the entry document. Organisations can either maintain an extensive list of tags in all OpenAPI documents, and then remove any that aren't used before publishing (tooling exists for this use case), or alternatively if a tool wants to include tags found in the wider context of referenced OpenAPI documents by adding them to the top-level tags array during processing, that would work well too.

The tags array is a list of strings. It isn't an ID like the Operation uses, and it's not a named entry like the security schemes, so it is appropriate to approach the limitations of it differently. My proposal is to offer some advice or documentation on approaching this problem, but not to bring it in scope of the specification for 3.x since other options are available.

(I've marked this as "request changes" so that my review isn't missed/ignored - but please feel free to dismiss it if we reach consensus as a group that this proposal should go forward anyway).

@lornajane lornajane requested a review from a team March 23, 2025 19:32
@ralfhandl ralfhandl dismissed their stale review March 24, 2025 09:58

Convinced by @lornajane's arguments I remove my approval

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
metadata tags, info, license, contact, markdown usage, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants