gbv / cocoda

A web-based tool for creating mappings between knowledge organization systems.
https://coli-conc.gbv.de/cocoda/
MIT License
39 stars 5 forks source link

Refactor/rewrite MappingBrowser #231

Closed stefandesu closed 5 years ago

stefandesu commented 5 years ago

MappingBrowser should be remade from scratch, possibly using multiple components that integrate with each other. The current functionality of MappingsApp should also be integrated in MappingBrowser.

nichtich commented 5 years ago

The component could also be merged again with MappingApp (related: #189) and provide a container for at least three modes/tabs/subcomponents/...:

This would require to rename current MappingBrowser to MatchesBrowser and add two components ConcordanceBrowser and new MappingsBrowser.

stefandesu commented 5 years ago

I'm wondering how much logic MappingBrowser should have by itself. Should it be able to load the data (e.g. using Cocoda's providers) by itself (1), should it use Cocoda's provided methods (via the objects mixin) (2), or should it be "dumb" and only display data (3)?

(1) would have the advantage that the component could be used separately somewhere outside of Cocoda and still have the full functionality, but we'd need to provide ways to integrate it deeper into Cocoda (by using event emitters etc.).

(2) would be the easiest, but it would be coupled with Cocoda and we wouldn't be able to use the component somewhere else.

(3) would separate the loading logic from the displaying, but we would need even more event emitters and stuff (for example an event for "user selected this concordance, please load the data"), and every place where the component is used would need to have its own logic of providers/registries and how to load the data.

I'm a little conflicted with this. What do you say, @nichtich?

stefandesu commented 5 years ago

Here's the result of today's planning meeting about MappingBrowser:

Future features:

stefandesu commented 5 years ago

Note: I would move the part about sorting to a later version (possibly 0.9.1) because it requires further logic in both jskos-server and probably vue-flexible-table.

stefandesu commented 5 years ago

The rewrite is now finally merged in dev!

Some features are still missing, but they will be handled in further issues: