Allow views to auto-sort


#1

After creating a view that contained a default sort, I expected that sort order to be maintained automatically. I understand that in some cases it’s nice to be able to flexibly change the order, but I’d like to be able to set a view to always sort in a particular order by default.

Use case:
I have a table that contains expiration dates. I have a view that sorts by expiration date. If I add a new record to the table, the new record is added to the bottom of the table, but that means it’s also added to the bottom of the expiration date view, so every time I open that view I have to manually re-apply the sort order.


Persistent sorting of a view
"Quick Sort" functionality
#2

That’s a good idea! “Live sorting”, similar to the way we already have “live filtering” today, is on our medium-term roadmap. Thank you for the feedback.


#3

Count me in as another vote for this functionality. :relaxed:


#4

I recall how happy I was when FileMaker Pro added this option (“Keep Records Sorted”) a few versions back. I was about to report this as a bug but Airtable’s excellent forum software brought this feature-request thread to my attention.

Anyway, +1 to the OP’s request.

Will


#5

As a minimum it would be useful if the sort occurred when you re-open the base then the view. This does not happen in iOS not sure about web.


#6

Thanks for the request on how you’d like re-sorting to behave (we love very specific feedback!). As it stands there are a number of nontrivial design considerations when it comes to implementing live sorting (one example: how would it interplay with our collaboration features?) Nevertheless, this is still on our roadmap. :slight_smile:


#7

I’m not following why live sorting is such a complex concept - what airtable’s current implementation of sorting seems to be missing is that for most users, sorting is going to matter in the display of records, not in the storage of them.

Consider how filters work - if I add a record while on a view and the record should be filtered from the view, as soon as I add the record it disappears. Similarly, if I add a record elsewhere, as soon as I go to my view, the items in the filter are correct. Sorting should be exactly the same - there are lots of use cases where (again, because views are about displaying records) maintaining a standard sort order matters; on the other hand, I can’t think of a single use case where the current behavior (maintaining an arbitrary sort order) makes sense. Maybe one - where there isn’t a logical sort order based on the contents of the rows and instead a user wants to move rows up and down manually. In that case, it would be very easy to simply maintain the “last order of rows” only when a specific sort order isn’t specified (or even to “toggle sort order off” in a view if the user manually moves rows around).

It’s especially silly that filters and sorting don’t work the same way because they’re right next to each other in the UI.


#8

Thanks for the feedback! As Emmett and Kat have mentioned, it’s on our roadmap, and we certainly appreciate the value of this feature.

There’s some technical differences in how difficult it is to perform live sorts vs live filters (for instance, because sorting is a more heavyweight operation than filtering, which can be calculated for each row independently, whereas sorts are by definition relative to all other rows in the table). This is exacerbated in situations where, for instance, multiple people may be modifying large numbers of rows at once (by copying and pasting values into a cell range that affects a sort, or just rapidly modifying many rows in quick succession in a very large table, etc).

Beyond the technicalities, there are also usability/interface questions involved. We’ve encountered many use cases where someone does want to apply a one-time sort and then manually order or insert rows in an arbitrary position. Some other examples of issues to consider:

  1. If you’re editing a record and you change its values in such a way that its sorted position would change in the view, we need a way to indicate to the user that the row’s sort position has changed, both while editing as well as afterwards.
  2. If collaborators are changing record values, there is a chance that this will cause rows to fly around to their new positions, resulting in a potentially jarring experience.
  3. It could be confusing to prevent users from manually reordering rows while the “live sort” mode is turned on, and it seems somewhat heavyweight (and potentially difficult to discover for novice users) to have to toggle that mode off before being able to drag rows around. Alternatively, if we allow you to drag rows immediately, but implicitly disable “live sorting” as a result, this could also be an issue (as users inadvertently cause live sorting to become disabled).

Again, it’s a valid feature request, but as with every feature, we want to thoroughly consider its design before implementation to ensure that our product remains intuitive and friendly for all.


#9

I thought I’d bump this thread to see if there’s any movement on persistent / live sorting. My use case is that I have an external view of a “deliverables” table that’s embedded on a webpage that is a subset of the table which is filtered on a column called “job number” a particular client. This embedded client view has a sort applied to it based on date created, so that new items show up at the top of the table.

The problem I have is that when new deliverables are added to the table, even though the view on the non-embedded side shows me that there is a sort applied to the view, it must be re-applied manually even if the page or view has been loaded fresh. This isn’t great. If I’ve loaded the view, and there is a sorting filter present, it would stand to reason that the current view has already been sorted by this criteria when in fact, the sort must be re-applied to the view in order to affect the embedded view. I would expect that if I’ve set up an external view with a filter and sort criteria, that the external view would apply the sort on page load.


#10

I have a similar situation with a list of cars in stock that are organised by make and model by default. Cars are added through a form so the actual grid view is rarely interacted with by someone with edit permissions, so I’m having to manually update the sort a few times a day. Not ideal. Hope it’s coming soon!


#11

Totally agree to autosorting. This is also very important. Should have a choice of autosorting or manual sorting.


#12

+1. appreciate its on the dev road map, but can’t come quick enough for me! Even if “live-sorting” is some way off, a button to “re-apply sorts in all views” would be an interim solution rather than having to open each view individually to re-apply the sort.


#13

Or simply when refreshing / opening the view. Live sorting is not really what I’m after.

FWIW, I don’t think I would appreciate my records flying all over the place when someone else is working on the same table. :slight_smile:


#14

Ok a compromise, if only one user, then sort as the view is opened. Then on
the the other hand if someone has a sort attached to a view why not? It is
sorted anyway, and the auto sort just adds a few more records at the top.
Why would one night to see those?


#15

Just found this: Persistent sorting of a view

That’s good enough for me. :slight_smile:


#16

Sort and filter should both be toggle-able options. Sometimes I want the records to auto-sort and sometimes I don’t want the records to auto-filter.

Would be a great feature, looking forward to seeing it.

Not a big fan of the groups feature, though I might be missing it’s usefulness.


#17

So we have the issue of not having auto sort, which results in new records being displayed at the bottom of the table, not visually convenient when you have many records being added via forms. (Example : Our drivers report from the field, truck repair issues and location details via their phones, using Forms created from a Table (Awesome feature by the way). Many years ago I used a simple Database called Tablepro, it had a check box : Add new records to the Top or Bottom of the Database, Adding to the Top of the Database would solve for example Date sorting, and you would be able to visually see change as they happen on your screen instead of having to re-sort every time your check your database for updates.
+1 to Auto-Sorting or Add Records to TOP of Database.

DH


#18

Yes, I’m definitely backing up this feature request!


#19

I think the most crucial thing is that the view sorts when it opens - I am not so worried about on the fly sorting because this makes the UI quite confusing while it does it (I find this odd when editing a grouped view) - I would be happy for this to be phase 2.

Filters, grouping and sort should be considered properties of the view that are applied always.


#20

I agree, I have been baffled several times by “missing records” only to realize they are stuck down at the bottom. It seems intuitive that a sort would be applied upon opening the view.