orchest / orchest

Build data pipelines, the easy way 🛠️

Home Page:https://orchest.readthedocs.io/en/stable/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unclear ordering in Projects page

astrojuanlu opened this issue · comments

When I go to Projects page, I have no idea how projects are sorted: on the first page I see a mix of old and new projects, and recently created ones might end up in any page, forcing me to navigate through them and Ctrl+F the project name. It's clearly (a) not alphabetic order, (b) not creation date order, (c) not last update order, (d) not lexicographic order on pipeline UUID. From the outside, it looks totally random.

This order is the same as the one used by the Projects top-left selector.

image

As I'm working on re-enabling integration tests, maybe it's worth adding in a test that checks that the order "is correct" on this page?

But that leaves the question: how do we want them to be sorted? I would personally prefer by creation date (in ascending order).

Sensible options that come to mind:

  1. Alphabetic order. Not very convenient, but at least people know what to expect.
  2. Last modified date, descending. Recently touched ones would be shown first, but touched would need to be defined too (pipeline modified? job ran?).
  3. Creation date, ascending. Oldest projects would be shown first. I don't think this is particularly useful, it would force me to scroll or navigate to the next page very often.
  4. Creation date, descending. Recently created ones would be shown first. Probably the most sensible to me.

Just some technical input here:

  • The default order is from BE.
  • The column of this DataTable has a sortable option. We can enable it per column so that user could sort however they like (and set sorted by Project Name as default, for example). This table is using a client-side pagination, so we don't have the sorting-pagination conflicting issue.

As I'm working on re-enabling integration tests, maybe it's worth adding in a test that checks that the order "is correct" on this page?

Sorted by column probably already solves this problem, but if we ever want to add an automated test, I probably would suggest a unit test (or a component test), which is more cost effective. 🙂