[MGNLUI-7741] Configurable timeout to send text change events from server Created: 18/Jan/23  Updated: 13/Feb/23  Resolved: 06/Feb/23

Status: Closed
Project: Magnolia UI
Component/s: None
Affects Version/s: 6.2.27
Fix Version/s: 6.3.0, 6.2.29

Type: Improvement Priority: Neutral
Reporter: Ilgun Ilgun Assignee: Daniel Alonso
Resolution: Done Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: 3h Time Spent: 3h
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
Cloners
clones ADMINCTR-226 Make Findbar search starting with an ... Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
MGNLUI-7743 Implementation Sub-task Completed Daniel Alonso  
MGNLUI-7744 Review Sub-task Completed Roman Kovařík  
MGNLUI-7745 Pre-Integration QA Sub-task Completed Roman Kovařík  
MGNLUI-7746 QA Sub-task Completed Quach Hao Thien  
MGNLUI-7748 CLONE - QA Sub-task Closed  
MGNLUI-7742 CLONE - DOC: delete this subtask Sub-task Closed  
MGNLUI-7803 Docu Sub-task Completed Roman Kovařík  
MGNLUI-7804 DOC: docu review Sub-task Completed Adrian Brooks  
Template:
Acceptance criteria:
Empty
Task DoD:
[X]* Doc/release notes changes? Comment present?
[X]* Downstream builds green?
[X]* Solution information and context easily available?
[X]* Tests
[X]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Release notes required:
Yes
Documentation update required:
Yes
Date of First Response:
Epic Link: [JCR] Search Performance issues
Sprint: Nucleus 29
Story Points: 2
Team: Nucleus
Work Started:

 Description   

Steps to reproduce

  1. Generate a lot of pages https://wiki.magnolia-cms.com/display/Support/Groovy+scripts#Groovyscripts-Createalotofpages (Can by run multiple times)
  2. Go to pages app https://nightly.magnolia-cms.com/.magnolia/admincentral#app:pages-app:detail;/travel:edit
  3. Type letter by letter into the filter of the "Title" column

Actual result:

The UI/typing is slow, server is under stress.

Expected result:

As developer I can configure the filtering to be less extensive in huge repos.

Alternative solution:

Currently, the grid filtering kicks in every time users type a character into a text filter. However, this has a performance implication, and some customers prefer to wait till they have at least three characters in the search query.

We can make this configurable to help the customers.

  • Default minimum characters set to 3 
  • Configurable option to change the minimum characters required 

 



 Comments   
Comment by Roman Kovařík [ 20/Jan/23 ]

Discovery:

General textField improvement could be introduction of timeout for textField value change event (supported by Vaadin TextField OOTB).

filterComponent:   
  $type: textField
  valueChangeTimeout: 500

App developer would be able to configure these per column explicitly in case of performance issues:

...
contentViews: 
  - name: tree
    $type: treeView
    columns: 
      jcrName: 
        $type: jcrTitleColumn
        filterComponent: &textFilter  
          $type: textField  
          valueChangeTimeout: 500 
      title: 
       filterComponent: *textFilter  
      ...

 

Generated at Mon Feb 12 09:48:55 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.