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

Revert "references" #432

Closed
danielballan opened this issue Apr 6, 2023 · 1 comment · Fixed by #481
Closed

Revert "references" #432

danielballan opened this issue Apr 6, 2023 · 1 comment · Fixed by #481

Comments

@danielballan
Copy link
Member

danielballan commented Apr 6, 2023

Inspired by conversations with metadata experts at NIST, I think we should declare #242 a failed experiment. It was added to meet a perceived urgent need, but in practice was not yet much used. Removal is expected to have a very low (possibly zero) impact on our early users.

As @dylanmcreynolds pointed out at the time in his comments on #242, there are existing standards for placing references inside a JSON payload. Promoting a Tiled-specific area outside metadata is, I think, unhelpful added complexity. It is better to use these standards within the metadata.

I notice that this gives a nice symmetry to the Tiled data node:

  • structure and structure_family
  • metadata and (optional) specs

Each of these pairs provide information then a description of how to interpret that information. These, along with a path that locates the note within the logical tree layout, fully describe Tiled's data model.

Promoting additional items like references, time_created, and time_updated into the API as first-class items alongside metadata feel like a slippery slope toward re-inventing a data model. Better to rely on existing standards, use them within metadata and (optionally)declare them withinspecs`.

Note: For forensic reasons, I think we should track time_created and time_updated in the database but probably not expose it in the HTTP API. If time matters, it should be in metadata and should refer to a semantically important time (like experimment time) related to the data, not database book-keeping.

@padraic-shafer
Copy link
Contributor

This seems like an elegant way handle metadata & specs.

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 a pull request may close this issue.

2 participants