Customising value displays

34 views
Skip to first unread message

Rob Atkinson

unread,
Mar 24, 2020, 3:20:28 AM3/24/20
to TopBraid Suite Users
Poking around in code and docs I can see the SWP based ui:instanceView (though I dont see this in the SWP uispin.org documentation)

What I want to do is control the rendering of specific properties (in general I want to be able to link between objects in different asset collections effectively jump to customised functionality for different asset collections - basically use the SWP ui:createLink functionality...

I can only see how to override the whole form for a class, not a property. 
I see property viewers like dash:ImageViewer as instance of dashViewer - but not find how these are bound to particular property types - and as they are wrappers for java implementations no see how to add customised ones.

And I guess with 6.3 and the React editors some or all of this may be obsoleted anyway?

Is there a way to control the rendering of a particular property without overriding a whole class form, and is that mechanism even safe to use going forwards?

Ta

Holger Knublauch

unread,
Mar 24, 2020, 5:02:36 AM3/24/20
to topbrai...@googlegroups.com

On 24/03/2020 17:20, Rob Atkinson wrote:
> Poking around in code and docs I can see the SWP based ui:instanceView
> (though I dont see this in the SWP uispin.org documentation)
https://uispin.org/ui.html#instanceView
>
> What I want to do is control the rendering of specific properties (in
> general I want to be able to link between objects in different asset
> collections effectively jump to customised functionality for different
> asset collections - basically use the SWP ui:createLink functionality...
>
> I can only see how to override the whole form for a class, not a
> property.
> I see property viewers like dash:ImageViewer as instance of dashViewer
> - but not find how these are bound to particular property types - and
> as they are wrappers for java implementations no see how to add
> customised ones.
>
> And I guess with 6.3 and the React editors some or all of this may be
> obsoleted anyway?
>
> Is there a way to control the rendering of a particular property
> without overriding a whole class form, and is that mechanism even safe
> to use going forwards?

Assuming you want to continue with SWP for now: In the property shapes,
use tosh:viewWidget to point at a subclass of swa:ObjectViewer (there
are plenty of examples if you open teamwork.ui.ttlx). In the
ui:prototype of that you can use ui:createLink or whatever to open an
external browser tab. This solution (with tosh:viewWidget) is going to
remain supported for a while.

The longer-term alternative would indeed be the React componentry and
dash:viewer.

Holger


Rob Atkinson

unread,
Mar 25, 2020, 2:45:46 AM3/25/20
to TopBraid Suite Users

Thanks Holger - that got this going

If I may post a follow up



What I want to do is display a set of properties for this node - I was presuming I'd be able to find the right widget 

after a bit of experimentation I managed to get ui:resourceView to work to display and instance of a blank node (the provenance activity injected into an asset collection FYI)  by attaching something via ui:instanceView to the class of the blank node... but not been able to identify what thing I'd need to reference to render a form using a relevant set of SHACL shapes. There are so many things that look like they might be relevant - but many of them would call ui:resourceView so must be at a different level of the architecture. Is there indeed some element that renders an object using a set of shapes that can be customised by enabling/disabling property shapes and making propertyshape widget choices?

I think I need something similar to the class hierarchy at https://uispin.org/ui.html#view to explain which types of things fit where. 

I included the set of shapes I wanted to use into the current queryGraph - but is there another way to tell something to use a specific set of shapes? 

Holger Knublauch

unread,
Mar 25, 2020, 7:52:58 PM3/25/20
to topbrai...@googlegroups.com


On 25/03/2020 16:45, Rob Atkinson wrote:

Thanks Holger - that got this going

If I may post a follow up



What I want to do is display a set of properties for this node - I was presuming I'd be able to find the right widget 

after a bit of experimentation I managed to get ui:resourceView to work to display and instance of a blank node (the provenance activity injected into an asset collection FYI)  by attaching something via ui:instanceView to the class of the blank node... but not been able to identify what thing I'd need to reference to render a form using a relevant set of SHACL shapes. There are so many things that look like they might be relevant - but many of them would call ui:resourceView so must be at a different level of the architecture. Is there indeed some element that renders an object using a set of shapes that can be customised by enabling/disabling property shapes and making propertyshape widget choices?
No, none that would survive the SWA decimation in 6.4.


I think I need something similar to the class hierarchy at https://uispin.org/ui.html#view to explain which types of things fit where. 

I included the set of shapes I wanted to use into the current queryGraph - but is there another way to tell something to use a specific set of shapes?

I am not sure I can follow your question. Can you sketch the expected output with an example?

Holger


--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/4aad4edb-8fa9-483a-869d-14f298e30502%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages