kitodo / kitodo-presentation

Kitodo.Presentation is a feature-rich framework for building a METS- or IIIF-based digital library. It is part of the Kitodo Digital Library Suite.
https://kitodo.org
GNU General Public License v3.0
38 stars 45 forks source link

Add Multi-Select-Faceting as faceting style #778

Open michaelkubina opened 2 years ago

michaelkubina commented 2 years ago

Description

Multi-Select-Faceting is a faceting style that allows users to see and select multiple facet constraints, that are independent of each other, so we can apply multiple filter values at once.

Related Issues

none, as far as i can tell

Expected Benefits of this Development

Multi-Select-Faceting is a common faceting method in many online retails that greatly enhances use experience, because it allows for better browsing and filtering in your result list as it's not as constricting as single-valued faceting.

Currently we may select multiple facet constraints in a certain facet only in the case, that those values are given in a document at the same time. For example we may select both "english" and "german" as constraints in our language facet, but the books shown in our result list will be exclusivly bilingual. While we may select multiple values, it's not considered multi-select-faceting, because of the above reason. If we filtered for publication year, place of publication and such, we would normally not be able to select more than one value, because typically those are single valued fields.

Multi-Select-Faceting would in this case allow for filtering for "english" OR "german" books, providing us with either "german" or "english" books and all bilinugal books as well. If we filtered for multiple authors, we would have all books they did write independently and their collaborations as well, instead of only their collaborative works - if there are any. Otherwise we would only see the books of a single author and would need to disable the current filter in favor for another one. We could also filter our result list for multiple places of publication and not only for a single one, etc.

Basically Multi-Select-Faceting is an OR-Union, while the current Single-Valued-Facetting is an AND-Union. The old functionality of single-valued faceting would still be possibleto use, if users decide to only select a single value. So we would not change one functionality fo another. But it would hugely benefit the comfort and funtionality of filtering our results list.

Estimated Costs and Complexity

I believe it is a rather big refactoring of the current faceting mechanism and needs some intensive testing. Complexity arises from the fact, that its a new approach and that old code might not be applicable anymore.

I asume it could range from medium to high workload.

michaelkubina commented 1 year ago

@sebastian-meyer sadly the call for proposals for the new development fund 2023 has not reached me, otherwise i would have reproposed this request. Do you think it would be possible to still add it for this years discussion, even though the deadline ended 10th of March?

sebastian-meyer commented 1 year ago

No worries! I added the tag for this year's development fund.

michaelkubina commented 1 year ago

Thank you, much appreciated!

sebastian-meyer commented 1 year ago

Votes: 1