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

Re-enable select all checkbox in Pulse

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.6
    • Fix Version/s: 5.6.2
    • Component/s: None
    • Labels:
    • Release notes required:
      Yes
    • Documentation update required:
      Yes
    • Sprint:
      Basel 129, Basel 130
    • Story Points:
      8
    • Magnolia Release:
      5.6.2

      Description

      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.

        Attachments

        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

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Date of First Response: