ditto
ditto copied to clipboard
UI: (for discussion) Add a map view
One nice feature to visualize some of the concepts:
Add a new tab on the right of the Things table. Display a map on this tab On the map, show markers for things in the things search if they have a "known" position feature. This could be...
- A geojson. May be a feature with a definition that refers to the geojson RFC
- A known WoT model for geolocation? You could do a search for things that have this feature. Update the markers on SSE updates (moving / rotating things)
Allow to select a thing by clicking on the marker.
For location aware things and use cases this is surely a great addition.
Some thoughts:
- it would have to be configurable via environment if this map widget shall be shown or not
- to not clutter the UI for use cases which are not aware of thing locations
- the expected location format could be configurable also via the environment
- eg by defining either which "feature name" or "definition" shall be used to extract the geo coordinates
- and by configuring (eg with json pointer) which json fields to extract latitude and longitude from
- those location information could also even be a part of the thing attributes. Often location of devices does not change once installed, so I would put it into attributes (static metadata)
Ditto currently lacks however any "Geo" features, like eg searching for things within a given radius of a geolocation. Which could be expected when showing a map 😉🤔
Fully agree. It does raise further expectations. So it does not really fit / it should not be there. Spontaneous thought: Do not include it into the Ditto UI but provide some plug-in / extension point. Then create it even in a separate project like "examples" or "showcases".
That could also make sense for other customized UIs for features: If a feature knows its definition, there could be also a customized editor for that feature (which has to be somewhere else). This sounds like a micro-frontend approach.
may be better convert this issue to a discussion 😉
@thfries yes, such an micro-frontend or component approach would be really great to have to be able to fully customize the UI. I however fear that this might be "out of scope" for a Developer and Admin UI - and more targets other usergroups.
Maybe this can still be combined in the Explorer UI, but this surely needs the ability for much customization.
Hi @thjaeckle,
you are right, the target user group need to be considered. Initially I thought about a separate dedicated example ui project. But on the other hand, there are currently already two different user groups addressed. I personally never use the operations tab, so this addresses a "ditto operator" rather than a "ditto admin". A environment has already some support for this, by hiding tabs that are not needed.
So a valid option would be to increase the ability to customize in the existing UI. As discussed, domain specific and ditto independent code must be kept separately.
All together, rather long term ideas... Better start to leverage WoT based general supporting features like proposed in #1811
Yes, customising the existing UI (maybe even with the help of WoT models for "providing" separate "widgets" based on certain models or even semantic types/units) would be really a long term goal :)