Table of Contents
users
table according to the naming convention and the structure explained in part 1 and 2.Basic airtable structure
users
users
in the users
tablerelations
in the users
tabletechnical
in the users
tableusers - information
in the users
viewusers - activity
in the users
viewtechnical - workflow
in the technical
viewtechnical - seo
in the technical
viewCreating Airtable user fields
email
Setting up the users - information
view
users - information
, create the following fields:name
will be a single line text containing the user’s fullnamemagic-link
will be a URL fieldname_firstname
will be a formula field:LEFT({Username}, SEARCH(" ",{Username})-1)
name_lastname
will be a formula field:RIGHT(Username, LEN(Username)-SEARCH("", Username))
avatar
will be an attachment field.role
will be a single select field with at least the admin role for you It will be useful when building permissions and workflows. For example when building a job board, you’ll have candidates and employers, on a marketplace you’ll have freelancers and clients, etc.Setting up the users-activity
view
users - activity
, create the following fields:status
will be a single select field with the following choices:
This field will be used to define whether a page is shown on the website (and will also impact whether it’s indexed by Google).- active
- review
- inactive
created
will be a created time field. We will create formula fields later as necessary to show that time in different formats but I recommend that original field to be set as follows:logged
will be a date field and set it up with the same formatting as the other date/time fields we just created. We will populate it later using an Appspan Webhook to track the time a user logs in.updated
will be a last modified time field with the above formatting. Set it to trigger for specific fields, select all fields but the Logged field we just created.users - activity
view will look like this:Setting up the technical - workflow
view
technical - workflow
, create the following fields:avatar_url
will be a formula field that will be used for multiple things like schema markup, fastcomments integration, …
Use the following formulaIF(Avatar = "","",(RIGHT(LEFT(Avatar, LEN(Avatar) - 1), LEN(LEFT(Avatar, LEN(Avatar) - 1)) - SEARCH("https://", Avatar) + 1)))
live-page
will be a formula field with: 'https://www.acme.com/user?recordId=' & RECORD_ID() This field will be used whenever we need to provide a link to the user profile.Setting up the technical - seo
view
Technical - seo
view, create the following fields:seo:slug
will be a formula field with the following formula:
This formula will take the name of the user and remove any special character and space to create a clean slug for Softr.SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(LOWER(Name)),"à", "a"),"á", "a"),"â", "a"),"ä", "a"),"æ", "a"),"ã", "a"),"å", "a"),"ā", "a"),"æ", "ae"),"ç", "c"),"ć", "c"),"č", "c"),"è", "e"),"é", "e"),"ê", "e"),"ë", "e"),"ē", "e"),"ė", "e"),"ę", "e"),"î", "i"),"ï", "i"),"í", "i"),"ī", "i"),"į", "i"),"ì", "i"),"ł", "l"),"ñ", "n"),"ń", "n"),"ô", "o"),"ö", "o"),"ò", "o"),"ó", "o"),"œ", "o"),"ø", "o"),"ō", "o"),"õ", "o"),"ß", "s"),"ś", "s"),"š", "s"),"û", "u"),"ü", "u"),"ù", "u"),"ú", "u"),"ū", "u"),"ÿ", "y"),"ž", "z"),"ź", "z"),"ż", "z")," ", "-"),"!", ""),".", ""),"/", ""),"”", ""),"'", ""),"#", ""),"$", ""),"%", ""),"&", ""),"’", ""),"(", ""),")", ""),"*", ""),"+", ""),",", ""),":", ""),";", ""),"<", ""),"=", ""),">", ""),"?", ""),"@", ""),"[", ""),"\\", ""),"]", ""),"^", ""),"_", ""),"`", ""),"{", ""),"|", ""),"}", ""),"~", ""),"«", ""),"»", ""),"€", ""),"„", ""),"“", ""),"---------", "-"),"--------", "-"),"-------", "-"),"------", "-"),"-----", "-"),"----", "-"),"---", "-"),"--", "-")
seo:title
will also be a formula field with a formula similar to:
This formula shall be adapted to your liking, take the opportunity to add keywords for SEO.Name & "'s profile on Acme"
seo:description
will be a formula field with a formula similar to the one shown below.
Of course, here you will need to write the summary you want, with your keywords and eventually additional user data to have diverse metadata.Name & " is on Acme. Visit " & Name_firstname &"'s profile if you are interested in keywords."
social:title
is a simple formula field with the formula:{SEO:Title}
social:description
is a simple formula field with the formula:{SEO:Description}
seo:noindex
will be a checkbox field showing a red cross that we will use to manually deindex a page.seo:index
will be a formula field with the formula:IF(AND({SEO:Noindex}="",Status="Active")=1,"true","false")
Finishing setting up users - information
users - information
and add a button field named live-page_button
configured as follows:Setting up a default avatar for your Softr users
users - set default avatar
avatar
field (located users - information
view in the users
table) is empty: