[FOLIO-614] Be able to share JSON schema definitions between interfaces Created: 20/May/17  Updated: 18/Jan/19

Status: Open
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: New Feature Priority: P3
Reporter: Marc Johnson Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: dublin, sprint15
Remaining Estimate: Not Specified
Time Spent: 4 hours
Original estimate: Not Specified

Issue links:
Relates
relates to FOLIO-622 Be able to share interface definition... Open
relates to FOLIO-611 Document general-purpose aggregation ... In Progress
relates to OKAPI-337 Multiple instances with same interface Closed
relates to RMB-30 Trouble with a schema file referring ... Closed
Sprint:
Development Team: Core: Platform

 Description   

In order to use the same JSON representations between interfaces we need a way of sharing these



 Comments   
Comment by Kurt Nordstrom [ 23/May/17 ]

I think a good starting point would be to frame the problem here, and try to keep it to the simplest terms possible.

We have interfaces (raml) that define their data in schemas. At some point, we will want to build interfaces that either return the data from another interface, or provide data into another interface, or both. This means that we will need to define schemas based on existing schemas.

Ideally, we do not want to have to rewrite our dependent schemas every time a schema that they reference is changed. Also we don't want to have to re-write existing schemas, because we programmers and we tend to be efficient (the unenlightened would say lazy), and re-writing what already exists makes us sad.

The problem comes in finding a way to provide references to existing schemas in a sane fashion. We want to be able to:

  • Refer to an existing schema by $ref as opposed to copying it verbosely.
  • Build dependent schemas locally, without needing http access to pull down information, since that puts restrictions on how we can build.
  • Allow for a versioned approach, so that we can reference particular versions of a schema in our dependent schemas.

Before I venture onto any potential solutions, does anybody have any other requirements to suggest, or possible different views of the problem we’re trying to address?

Comment by Marc Johnson [ 24/May/17 ]

Kurt Nordstrom The scope you described focuses on sharing JSON representations (schema) between interfaces, so I've split the interface sharing aspects of this into FOLIO-622 Open to try to improve which aspect we focus on at a particular time.

Generated at Thu Feb 08 23:07:05 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.