Airtable is an online spreadsheet product similar to Google Sheets but with a better API, access controls, and revision history. It allows spreadsheets to be created and data added or changed through the Airtable web application or through its REST API. This can be controlled by setting up user accounts and giving them read and/or write permission. You can also generate API keys that have read and/or write permission. Custom API documentation (with example calls!) is generated using the table/column names for your project, and can be viewed on airtable.com.
We're using Airtable because it allows non-developers (and developers!) to easily edit the data used by our app. This is very useful for:
- Translations: Content designers and translators can edit the UI text used in the app by going to the translations table, doing a ctrl+f search for the English or French UI text they want to change, and then modifying it.
- Eligibility logic: The logic used by our app to determine who is eligible for what benefits is set in the eligibilityPaths table. Each row has a unique combination of answers to the questions. Each row also has a list of benefits that are likely available to a user who answers in this way. The list of benefits are linked to rows in the benefits table.
- Benefits: This table contains a row for each benefit, and a column (eligibilityPaths) with a list of links to rows in the eligibilityPaths table. Updating this list will update the ids in the benefits column in the eligibilityPaths table.
- Feedback: Content submitted from the feedback bar in the app footer is written to the feedback table on Airtable. To do this, the server has a write key set in ENV variables.
Airtable data is read by the server and injected into Redux, which is then sent to the client.
To request access to edit content in Airtable, set up an account on their website and then email [email protected] with your account details so we can add you to the project.
To do anything in Airtable, always take the following steps:
- Visit the Master Airtable base. If you don't have permission to access it, request permission
- Make some changes. See the step-by-step guides below to help you with the task you want to perform.
- View your changes in the live app by visiting the data validation page and clicking the "refresh cache" button at the top right.
- Make sure no new tests have failed by looking through the rows on the data-validation page. If they have, investigate and fix the problem in Airtable.
- Navigate back to the page in the app where you expect your changes to have occurred. Refresh the page to see them.
- Locate the text or hyperlink you want to change in the app
- Copy the text to the clipboard
- Look at the table below to determine which Airtable sheet and column you should make your change in. Click the link to the sheet.
- In Airtable do a ctrl+f (Windows) or command+f (Mac) search on the page, and paste in the text you copied
- Locate the row that contains the text you want to change
- Enter in your new text in the English and French columns
Text you want to change | Airtable Sheet | English Column Name | French Column Name |
---|---|---|---|
Benefit name | benefits | vacNameEn | vacNameFr |
one line description | benefits | oneLineDescriptionEn | oneLineDescriptionFr |
VAC Learn more link | benefits | benefitPageEn | benefitPageFr |
important info in card header | benefits | noteEn | noteFr |
see more content description | benefits | seeMoreSentenceEn | seeMoreSentenceFr |
question text in benefits-directory | questions | display_text_english | display_text_french |
question text in guided experience | questions | guided_experience_english | guided_experience_french |
guided experience page title | questions | guided_experience_page_title_english | guided_experience_page_title_french |
health issue tooltip text | questions | tooltip_english | tooltip_french |
multiple choice option text | multipleChoiceOptions | display_text_english | display_text_french |
guided experience breadcrumb/link text | multipleChoiceOptions | ge_breadcrumb_english | ge_breadcrumb_french |
Checkbox options in guided experience and benefits-directory | needs | nameEn | nameFr |
All other text | translations | English | French |
- Navigate to the benefitEligibility sheet in Airtable
- Each path is represented by values within columns which correspond to the questions in the questions sheet. The values which fill these columns correspond to values in the multipleChoiceOptions sheet.
- Create a new row and add the benefit and the eligibility criteria. Note: only include
statusAndVitals
values in a path if the path includesfamily
and notveteran
,serving member
, ororganization
. This may mean that you need to create 2 rows for a benefit: one path for family members and another path for veterans. - If you wish to remove an eligibility path from a benefit, delete the corresponding row in the table.
- Navigate to the needs sheet in Airtable
- Add a new row at the bottom and give the category an english name and french name
- Select the cell under the benefits column and click +
- Start typing the names of the benefits you want the category to be associated with
To change the benefits associated with an existing category, click the "expand" icon on the right of the cell and then you will have the option to either unlink existing records or link new ones.
- Navigate to the questions sheet
- Add a new row at the bottom, and give it a variable_name that describes the question (The multiple choice questions are ordered according to their order in the questions table, the needs checkbox question is always at the bottom).
- Fill in the following french and english content: question text that will appear in benefits-directory, question text in guided experience, and guided experience page title. The french/english column names can be found in the table above.
- Then navigate to the multiple choice options sheet
- Add a new row for each multiple choice option you would like to appear under the new question.
- Give each option a variable_name that describes it, as well as the english/french text the user will see, and the blue breadcrumb text within the guided experience (see table above for column names).
- Select each "linked_question" cell, click +, and type/select the question variable_name you added in step 2.
- To see your question displayed in the app, follow the steps for adding a new eligibility path that links to your new question. A question is only displayed if its answer effects the list of eligible benefits.