Uploaded image for project: 'Magnolia UI'
  1. Magnolia UI
  2. MGNLUI-4333

Re-enable select all checkbox in Pulse

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major Major
    • 5.6.2
    • 5.6
    • None
    • Yes
    • Yes
    • Basel 129, Basel 130
    • 8

      Selecting all rows in Pulse has been disabled when upgrading to Vaadin 8. Reason is that, due to the nature of Vaadin's AbstractBackEndDataProvider we use there, all rows would be put in memory if we were to enable the select all checkbox, which would cause severe performance issues with a large enough dataset.

      Some ideas to tackle this:

      What we could do is to simply add a button "Remove all messages" - this way we'll allow them to erase all the stuff, but also will avoid the possible performance problems, cause we wouldn't query anything at all.

      and

      Found this by chance but don't know if it's doable (and not too complicated) in Java
      https://cdn.vaadin.com/vaadin-elements/latest/vaadin-grid/demo/selection.html#custom-select-all-with-data-provider


      Solution eventually implemented is the following:

      • make the select all checkbox configurable and enable it by default
      • make an item threshold configurable (e.g. 1000 items by default)
      • if a user tries to select all items AND the total item size is > threshold, emit a message saying something like "operation can't be carried out due to possible memory issues. Contact admin if needed"
        In extreme cases, an admin can either increase the threshold or use a Groovy script to perform bulk operations w/o using the UI.

      The advantage of all this would be that (in probably 99% of cases) users would keep on using a familiar and effective UX pattern.
      Also, from Magnolia's perspective this solution seems easier to implement and maintain.

        Acceptance criteria

          1. all.png
            all.png
            331 kB
          2. clear-all.m4v
            1.49 MB
          3. config-example.png
            config-example.png
            453 kB
          4. impossibleToSelect.png
            impossibleToSelect.png
            89 kB
          5. select-all.m4v
            798 kB
          6. selected.png
            selected.png
            437 kB

              fgrilli Federico Grilli
              fgrilli Federico Grilli
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Task DoR