[In active development but far from stable]

Server Driven UI

CenterGraph has a server driven UI at it’s core. It enables you to define how forms and views look via the shape editor. The definitions of those views and forms are saved as SHACL in the database. The widgets that are used are modeled after DASH.

How does it work?

Inside the SHACL shape there can be a se:app predicate which should have an object like: <http://localhost:8001/>. This tells the shape editor when it loads it should get widget meta data from that application at localhost:8001. Every widget declared in the app will be available in shape editor. This means that you can have app specific views and forms. When a SHACL shape is loaded in an app that does not have the required widget he scoring algorythm kicks in and will find the best widget for that context.

What is a widget?

How to add a widget for the forms or views?