Overview
An editable is anything on a slide a person can edit. A field is an editable the build found and published, so that something outside the deck, such as the app or an AI assistant, can read and change it.
// On the slide "pricing". Disclaimer declares
// everyone: { key: "{targetKey}-{id}-{instance}" }.
<Disclaimer id="fees">Fees apply. See the PDS.</Disclaimer>
key pricing-fees-{instance}
type text
channels everyone
operations pricing-fees-{instance}.get
pricing-fees-{instance}.set
What an editable is
| Term | Meaning |
|---|---|
| Editable | Anything on a slide a person can edit. |
| Field | An editable the build found. It has a key, a type and operations. |
| Key | What the value is stored under. Changing a key abandons what is stored under the old one - see key. |
| Channel | Whose value it is: everyone or personal. See Channels. |
| Query | An operation that reads a field. |
| Mutation | An operation that changes a field. |
What the build does with it
| The build | From |
|---|---|
| Finds each field | Markup attributes, and usages of anything declared with defineEditableSource() |
| Composes its keys | The declaration's key templates |
| Publishes its queries and mutations | defineActions(), or a plain get and set where none are declared |
| Warns | Anything it recognises and cannot read. See Build warnings |
The build reads source. It never runs it, so a value has to be written out for the build to see it. See What the build can read.