Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced search should be configured in REST instead of Angular #9431

Open
ybnd opened this issue Mar 22, 2024 · 0 comments
Open

Advanced search should be configured in REST instead of Angular #9431

ybnd opened this issue Mar 22, 2024 · 0 comments
Assignees
Labels
bug claimed: Atmire Atmire team is working on this issue & will contribute back component: Discovery Related to Discovery search or browse system

Comments

@ybnd
Copy link
Member

ybnd commented Mar 22, 2024

Describe the bug
The new advances search sidebar section in the Angular UI introduced in DSpace/dspace-angular#2608 depends on

  • Angular-side configuration for the available filters
  • Operator values hardcoded within an Angular template

This will make customizing discovery configurations more error-prone, as the advanced filters configured in Angular may not correspond to existing filters. Furthermore, this setup makes it impossible to vary whether/which advanced filters are shown in different search contexts.

Our proposed solution is to move this configuration to discovery.xml in the backend:

  • A new property can be added to DiscoveryConfiguration, representing the list of filters made available for advanced search
    • Leaving this list unset or empty would turn off advanced search for this configuration
    • This list of filters can be taken into account when indexing (in case a specific filter is only available in advanced search)
  • We can configure a subset of this list, as is the case now (but hardcoded in Angular)
    • Currently, all filters share the default list of operators. If this is expected to change, we could also configure a mapping of filters to operators
  • This information can be exposed via the REST API in SearchConfigurationRest
  • The frontend implementation of the advanced filter section can then be refactored to make use of this configuration

Expected behavior
Discovery configuration that interacts with specific filters should remain close together for ease of customization

Related work
Related to #8431 and DSpace/dspace-angular#2608

@ybnd ybnd added bug component: Discovery Related to Discovery search or browse system needs triage New issue needs triage and/or scheduling claimed: Atmire Atmire team is working on this issue & will contribute back labels Mar 22, 2024
@ybnd ybnd self-assigned this Mar 22, 2024
@tdonohue tdonohue removed the needs triage New issue needs triage and/or scheduling label Mar 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug claimed: Atmire Atmire team is working on this issue & will contribute back component: Discovery Related to Discovery search or browse system
Projects
Status: 🏗 In Progress
Development

No branches or pull requests

2 participants