Hi, On Tue, Jan 8, 2019 at 2:15 PM Bertrand Delacretaz <[email protected]> wrote: > ...That common ground might be a Java API used to access the underlying > models, exposing their semantics in a way that clearly defines how > they are used in Sling and possibly other applications....
I have had a closer look at https://github.com/christanto/sling-whiteboard/tree/master/modeling and I think the above is contained in that, but I think we might reduce that "common ground" to a smaller core API to start with. I'm using the "Content Types" name for now to avoid both the Models and Sling terms. How about this, roughly? -A ContentType can be retrieved by name from the TypeSystem service -A ContentType contains a list of Properties (name, data type, validation etc..) and nested ContentTypes -A ContentType can include a list of Links -A Link has a Relation, Description and Target -Link Relations are namespaced and the TypeSystem can reserve some namespace prefixes I think this would be enough for my use case of implementing a self-describing HTTP API - there's probably a number of details missing but that would be the essence of the Type System API. Christanto, would that work for you assuming we move the above into a "type system core" module to allow us to work in parallel on the "details" in other modules? -Bertrand
