Skip to main content

[SOLVED] Automatic sorting in views


Forum|alt.badge.img+5

Great news! We’ve just enabled this feature for everyone. Check out Mikayla’s post below for more info.

132 replies

Forum|alt.badge.img+4
  • New Participant
  • 4 replies
  • December 3, 2015

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.


Forum|alt.badge.img+15

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.


  • Participating Frequently
  • 9 replies
  • January 23, 2016

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


Forum|alt.badge.img+17

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


  • Participating Frequently
  • 10 replies
  • March 7, 2016

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.


Forum|alt.badge.img+5
  • Author
  • Inspiring
  • 332 replies
  • March 23, 2016

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. :slightly_smiling_face:


Forum|alt.badge.img+4
  • New Participant
  • 4 replies
  • March 30, 2016
Katherine_Duh wrote:

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. :slightly_smiling_face:


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.


  • Participating Frequently
  • 61 replies
  • March 31, 2016
dhc wrote:

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.


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.


Forum|alt.badge.img+4
  • Known Participant
  • 63 replies
  • May 6, 2016

I work at a car dealership and I’m creating views of cars in stock, that are added to via forms, and predominantly accessed by people with read-only access. They often print out our stock lists (which are sorted by make and then model of a car), but as it stands there’s no way I can make it so that the cars stay sorted automatically.

Please see the attached mockup screenshot as a potential way to implement persistent sorting - would love for you to consider this.


Forum|alt.badge.img+4
  • Known Participant
  • 33 replies
  • May 11, 2016

Plus one for this. I’ve been meaning to put this request in for persistent sorting. I would go one step further to say that the checkbox isn’t actually necessary. The application should persist sorting if sorting filters are present. If sorting isn’t necessary, then the user can always remove a sorting filter from the view.


Forum|alt.badge.img+4
  • Known Participant
  • 33 replies
  • July 19, 2016

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.


Forum|alt.badge.img+4
  • Known Participant
  • 63 replies
  • July 19, 2016
Aaron_Owen wrote:

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.


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!


  • Participating Frequently
  • 9 replies
  • July 25, 2016

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


+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.


Forum|alt.badge.img+4
  • Known Participant
  • 63 replies
  • August 15, 2016

Bump

With the advent of Grouped Records, you could sort of have live sorting now. If you’d consider putting it in at the ‘Grid’ view level that would be awesome.


Forum|alt.badge.img+18
  • Inspiring
  • 366 replies
  • August 20, 2016
Kim_Prisk wrote:

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.


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. :slightly_smiling_face:


  • Participating Frequently
  • 10 replies
  • August 20, 2016
Tuur wrote:

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. :slightly_smiling_face:


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?


Forum|alt.badge.img+18
  • Inspiring
  • 366 replies
  • August 22, 2016
Matt_Sayward wrote:

Bump

With the advent of Grouped Records, you could sort of have live sorting now. If you’d consider putting it in at the ‘Grid’ view level that would be awesome.


I’m with @Matt_Sayward on the original post. Forget fancy live sorting for now. :winking_face:


Forum|alt.badge.img+18
  • Inspiring
  • 366 replies
  • August 22, 2016

Just found this: Persistent sorting of a view

That’s good enough for me. :slightly_smiling_face:


  • New Participant
  • 3 replies
  • August 25, 2016

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.


Forum|alt.badge.img+4
  • Known Participant
  • 33 replies
  • September 1, 2016
Tuur wrote:

I’m with @Matt_Sayward on the original post. Forget fancy live sorting for now. :winking_face:


Yeah, live sorting isn’t necessary, but if a sort is present, the data should be sorted upon the view load. I have an external grid view that is embedded on our site for our clients to view. The problem is that when they load the page, the data isn’t sorted on load even if the view I have created for them contains a sort filter. This is a real problem. The view needs to sort according to the sort filter when the view loads. If new records are generated, it isn’t a problem that the view doesn’t “live update”, but it is a problem if the expectation is that the sort is there. This has led my clients to believe that we haven’t done a task because the list they are looking at are reverse sorted (newest at top) and the new records are actually sitting at the bottom of the list because the view doesn’t apply the sort on load. This is fixed by simply applying the sort manually, but my argument is that this should happen automatically upon loading the view.


  • New Participant
  • 4 replies
  • October 4, 2016

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


  • Participating Frequently
  • 7 replies
  • October 4, 2016

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


Forum|alt.badge.img+4

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.


  • Participating Frequently
  • 9 replies
  • October 6, 2016
Julian_Kirkness wrote:

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.


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.


Reply