Allow user to "favorite" pages

My website has many pages on it.

I would like the user to “add” pages to their favorites so when they go to an internal dashboard, the record will show up on their page.

Hi,

How would you like it to happen? What would be the ideal user experience for it?

You have two technical options:

  • All pages and their url parameters (specifically with their recordId - if these pages have a list-details block) are inside Airtable.
    => The favorite pages feature would be created with a favorites table linked to the data that is already in Airtable.

  • You can create a “favorite pages” feature by pulling the url parameters of the current page in Airtable through an action button.
    => The favorite pages feature would be created with a favorites table populated from scratch by an action button.

By telling me the ideal user experience, how you imagine it I would be able to give you a precise answer.

1 Like

Hi Matthieu,

I think the first makes most sense as all pages are already in airtable and they have a list details block.

Example below, If I want this page specifically to be one of my favorites, I would image the user would simply check a box at the top of the page (or some action), in order for this to be stored as a favorite. The user also should be able to remove the favorites at some point, whether its from their own dashboard or the page itself.

Would I not be able to just link the user table to a specific table?

You are able to do it this way, yes. If by specific table you meant the pages table.
It doesn’t mean you should do it.

There should be a users table + pages table + favorites log table.

Few explanations:

Best practice is to use a list and not an array when dealing with a lot of adding/removing actions.
This is true for performances but also in terms of maintenance. If you need to change one thing in your setup = good luck if there are a lot of favorites.

I would add that this is also important in terms of business operations, if you need to analyze who did what and when.

That’s why a dedicated table for favorites (a log table for this) is always better. You never know how your app will evolve, so better make your life easier for the future!

But as you wish. Also, for a clean user experience you will need an append value action (in the update record action) + remove value action. Remove value is not available yet (I think it should be released within 2 or 3 weeks).

The new “trigger webhook” action might also be a good fit to overwrite this (temporary) limitation. See docs here => Trigger Webhook – Softr Help Docs + Airtable dev docs

Also another way would be to use the append value action for a list of pages to be favorited (the list would be linked to the pages table) and to use another list in Softr to let the users perform a delete action (the list would be linked to the favorites table).

Many choices at the end! Though I would always have a favorites table (yes I insist on it :sweat_smile:).

Matthieu, much appreciated. I will give this all a try!!