Your data
The Data tab — reading, correcting, adding to and clearing out what your application has stored, one environment at a time.
Everything your application saves is yours to look at. The Data tab is where you look at it: the bookings that came in, what somebody actually typed into the form, the test records that should not still be there on launch day.
It is on every application, next to Preview, and it answers the other half of is it working — the half that used to mean asking somebody.
Which environment you are looking at#
The first control on the tab, and the one that matters most: Preview, Test and Live. Each keeps its own records and they have nothing to do with each other, so a correction made on one changes nothing on the others. See Environments.
The tab opens on Live when there is something there, because that is usually what brought you.
If the application has been set to keep one store for every environment, or to share one with another application, the tab says so beside the environments — and the three of them are then showing the same records.
Tables and records#
Down the left, the tables your application keeps, each with the number of records in it. Choose one and its records fill the screen.
A table is a kind of thing the application stores — customers, bookings, invoices. A record is one of them. The columns are its fields.
The names are the application's own, so they read the way it was built: a
booking system has bookings, a shop has orders. Nobody chose them for you,
and the builder will rename one if you ask.
Finding a record#
Three ways, and they combine:
- Search this table looks across every field at once. Type what you remember — part of an email address, a surname, a reference.
- Filter builds conditions: a field, a comparison, a value. is, is not, contains, starts with, is more than, is less than, is empty, is not empty. Add as many as you need; they all have to be true.
- Clicking a column heading sorts by it. Clicking again reverses it.
Conditions are read literally. Searching for 100% finds records containing
100% rather than everything.
Long tables are read a page at a time — 25, 50, 100 or 200 records, your choice, with Back, Next and a page number to type into once there are more than three. The count beside the search box is the one that matters: plain when you are looking at everything, 3 of 412 when a search or a condition is narrowing it.
Every field has a kind#
A field holds a particular sort of thing, and the tab knows which: text, a number, a yes or no, a date, a list, a group of values, or the identifier that tells one record from another. The kind is written next to the field's name when you open a record.
It decides two things.
What you type into. A number gets a number box, a yes or no gets a Yes / No / No value choice, a date gets a date and time picker. A list or a group is shown as it is stored and edited there.
What gets saved. A browser has nothing but text boxes, so without this a
4 typed into a number field would be saved as the word four — and the
application, which expects a number, would quietly stop matching its own data.
Whatever you type, the field keeps its kind.
Emptying a box on anything but a text field means no value, not an empty one. Leave it empty does the same thing deliberately, and for text — where an empty note and a missing one are genuinely different — it is the only way to get the second.
Fields that point at another record#
A booking does not carry the customer's name; it carries whichever record is
the customer. Stored, that is an identifier — 3812, or a run of letters and
numbers — which is the application's answer to which one and no answer at
all to you.
So the tab reads it back as the record. Where a field points at another table, the column shows what that record is called — Amara Okafor, Bay C1 — and not the number underneath it. Nothing changes in the store: it is the same record, read out loud.
Filling one in#
Open the record and that field is a search box over the other table rather than a number to look up somewhere else first. Press it, type part of a name, an address or a reference, and pick the record. The × beside it takes the answer back out.
Fields that hold several — the tags on an article, the people on a job — show one for each and Add another beside them.
Under the box it says which table it is reading, because knowing where a name came from is usually the next question.
What is attached to this one#
Open a record and, underneath its fields, Attached to this record: the tables holding records that point at it, and how many. bookings 14, permits 1.
It is the question you open a record to answer — before removing a customer, before merging two of them, before believing a supplier is unused. Press one and that table opens with only those records in it, the condition already in place, so you can look at them rather than take the number on trust.
Changing a record#
Click any value in a row and the whole record opens, field by field. Change what you need and press Save changes. Nothing is saved until you do.
The identifier is shown but cannot be changed: it is what makes this record this record, and a copy of it with a new name is a different thing — which is what Duplicate it is for.
Add record adds one. Remove takes out however many you have ticked. Both need the builder role or above.
The right mouse button#
Right-click a record for Open it, Duplicate it, Copy it as data and Remove it. Right-click a table in the list on the left for the same things that table's menu offers.
Everything there is also on a button somewhere, because a context menu is a shortcut for people with a mouse and never the only way to do something.
Duplicate it opens a new record filled in from the one you right-clicked, without its identifier. Change what differs and add it — which is faster than typing a near-copy of something with fifteen fields.
Adding records you already have#
Paste records in, from a table's menu. Two shapes:
- Spreadsheet — the first line names the fields, exactly as the columns are spelled. Copy straight out of Excel, Numbers or Sheets.
- Data — one record or a list of them, in the same shape Download as data produces. Which means a download from one application can be pasted into another.
Values arrive as the kind their field holds, so 4 in a number column becomes
a number and true in a yes/no column becomes a yes. Nothing already in the
table is changed.
Copying records between environments#
The Friday-afternoon job: put the live records on test, so what is being checked is checked against something real. Or the other way, when test has filled up with made-up bookings and you want a clean copy of something.
Copy from another environment on a table's menu, or Copy everything into … from the tab's menu. Pick where from, where to, one table or every table, and what happens to what is already there:
| Replace what is there | Each table is emptied first, so the two environments end up the same |
| Add to what is there | Records already there stay; a record being copied is written over its own |
Records keep whatever identifies them. A booking that pointed at a customer still points at that customer on the other side, and running the copy twice lands in the same place rather than doubling everything.
Two things it will not do, and says so rather than half-doing:
- A table the destination has never made yet. Put a version on that environment first, so the application has somewhere to put them.
- A table far larger than this screen should move. Say so in the conversation and it gets done properly.
Taking it somewhere else#
Behind the table's menu:
- Download as a spreadsheet — a CSV, which opens in Excel, Numbers or Sheets.
- Download as data — the same records as JSON, for somebody who is going to process them.
Both take up to ten thousand records. If you need more than that out of an application, ask for a report in the application itself — that is a thing it can be built to do.
Clearing things out#
Owner-only, all three, and each asks you to type the name back before it will happen:
| Empty this table… | Every record goes; the table stays |
| Delete this table… | The table goes too. The application will make a new empty one the next time it writes |
| Empty all of Live… | Every table in that environment. The named environment only |
The last one is what you want the day before a launch, when Live is full of things that were typed in to check whether the screen worked.
What this is not#
It is not a way in for anybody else. The tab is part of the workbench, so the same roles apply as everywhere: anyone in the workspace can look, a builder can change a record, only an owner can throw a table away. Nobody signing in to your application can reach it.
It is also not a substitute for the application. If you find yourself correcting the same field every week, that is a thing to say in the conversation — the application should be doing it.