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

WIP: publishing metadata document schema #318

Merged
merged 22 commits into from
Nov 29, 2023
Merged

Conversation

nealrichardson
Copy link

For discussion, a JSON Schema of what it would look like to formalize the options and settings required to publish content to Connect et al. such that it could be checked into source control and drive publishing.

Copy link
Author

@nealrichardson nealrichardson left a comment

Choose a reason for hiding this comment

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

Thanks for pushing this along. A few comments and questions here.

schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
}
}
},
"connect": {
Copy link
Author

Choose a reason for hiding this comment

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

Should this be nested inside a generic container, such that other (theoretical) consumers could add their own settings objects? In general, do we allow attributes that are not declared in this schema (I assume so), and where do we document how consumers should interpret this (i.e., this is the spec, but you aren't prevented from looking for additional fields)?

Copy link
Contributor

Choose a reason for hiding this comment

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

Currently, this schema does not set additionalAttributes: true anywhere, because doing so allows a wide range of invalid constructs and typos to pass validation. We can update the schema as features are added to the deployment servers.

Since we only have 2 supported deployment servers, I was intending to give each one a named section for server-type-specific attributes. These sections would be specified in the schema like any other, but ignored by other types of servers. It's reasonable to group them under a parent heading.

schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
schema/posit-publishing-schema-v3.json Outdated Show resolved Hide resolved
@mmarchetti mmarchetti linked an issue Nov 13, 2023 that may be closed by this pull request
@mmarchetti mmarchetti marked this pull request as ready for review November 28, 2023 20:35
Copy link
Contributor

@mmarchetti mmarchetti left a comment

Choose a reason for hiding this comment

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

Will merge this as a base for us to iterate on.

@mmarchetti
Copy link
Contributor

Q: should we produce a subset schema containing only what's currently supported by the client? That would allow us to differentiate what's a draft for review (easy and cheap to change) from what has code behind it (more expensive to change).

@tdstein
Copy link
Collaborator

tdstein commented Nov 29, 2023

Q: should we produce a subset schema containing only what's currently supported by the client? That would allow us to differentiate what's a draft for review (easy and cheap to change) from what has code behind it (more expensive to change).

This sounds like a good change to me.

Map schema content types to Connect ones
@mmarchetti mmarchetti merged commit 4ed9f1d into main Nov 29, 2023
18 checks passed
@mmarchetti mmarchetti deleted the mm-metadata-schema branch November 29, 2023 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Propose a metadata schema
3 participants