Skip to content

Topic display UI needs pagination #1280

Closed

Description

@kollivier

Summary

If a topic contains a lot of nodes, it can take an inordinate amount of time to load and possibly time out. We should use pagination + infinite scrolling to avoid this scenario.

Category

BUG

(Declaring bug for the timeout problem, which breaks editing.)

Usage Details

How to reproduce

  1. Click on the link above, wait a while...

Real-life consequences (anything community should be aware of, for instance how it affects end users)

Sometimes channels will not load properly, other times they will take significant time. Either way it provides a degraded UX.

Activity

  1. jayoshih commented on Mar 19, 2019

    @jayoshih
    Contributor

    I would advocate for infinite scrolling as it seems tricky to add pagination without making the interface feel cluttered

  2. jayoshih commented on Mar 19, 2019

    @jayoshih
    Contributor

    Short term, there is some chunking logic for fetching nodes. We can prevent some of the cases by decreasing the size: https://github.com/learningequality/studio/blob/develop/contentcuration/contentcuration/static/js/edit_channel/models.js#L370

  3. kollivier commented on Mar 19, 2019

    @kollivier
    ContributorAuthor

    That may actually worsen the problem, since a large part of our performance hit for many API calls is the latency of setting up the database connection. The less calls we make the better, until we implement connection pooling.

    That being said, if we're already passing an ID list, infinite scrolling would just mean calling it for the first 50 alone and loading that, then waiting on scrolling events to fire to fetch the next 50.

  4. radinamatic commented on Mar 22, 2019

    @radinamatic
    Member

    Infinite scrolling has significant accessibility issues, and if in any way possible, pagination would be preferred.

  5. rtibbles commented on Apr 22, 2021

    @rtibbles
    Member

    I don't think we need to implement infinite scroll, but we should also avoid page number based pagination (and prefer next and previous pagination instead) for performance reasons and to reduce interface clutter.

  6. self-assigned this
    on Aug 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions