Admin overrides
The knobs a Startup sets to change what the Admin derives, such as a Noun's icon, the field that names a record, a hidden field and extra screens.
An override is one value a Startup sets to change what the Admin derives from a Noun. No override runs from a definition today, so every part of every screen comes from the App rules.
What the Admin does with no override
The Admin reads the definition alone, and nothing in a Noun file changes the parts below.
| Part | Where it comes from today | For leaseclock.com |
|---|---|---|
| Sidebar icon | guessed from the key; any key with no match gets a table icon | leases and properties get the table icon |
| Labels | labels | Lease, Leases; Monthly Rent |
| The field that names a record | representation | residentName for Lease, name for Property |
| List columns | list-columns | the first 7 short properties of Lease |
| Controls | the control-* rules, from each declared type | startsOn takes a date picker |
| Screens | screens | a list, a record page and two forms per Noun, and no other screen |
The icon guess matches the key, then its last hyphenated word, against a short list.
| Key | Icon |
|---|---|
contacts, users, people, customers, members, leads | people |
companies, organizations, accounts, teams | building |
deals | handshake |
orders | shopping cart |
products | package |
categories, tags | tag |
reviews, comments, messages | speech bubble |
| any other key | table |
A key such as crm-contacts gets the people icon from its last word.
PlanOverrides a Startup sets
In the design, each override names the rule it replaces and the part it applies to. A value set on a Noun or a property wins over that rule, and every other part keeps deriving.
| Override | Applies to | Type | Default | Overrides |
|---|---|---|---|---|
icon | a Noun | an icon name | the guess from the key | the sidebar icon |
label | a Noun | { one, many } | the Noun's name, split into words | labels |
representation | a Noun | a property name | the first naming property | representation |
list-columns | a Noun | property names, in order | the first 7 short properties | list-columns |
hidden-field | a property | true or false | false | screens |
field-label | a property | text | the property's name, split into words | labels |
control | a property | a control name | the control its type derives | the control-* rules |
extra-screens | the App | a path and a Component per screen | none | screens |
0 of 8 overrides print. All 8 wait for code that serves them.
A hidden field leaves the screens only. The API still returns it to every caller the Access Level allows, so hiding a field never protects it.
To change a screen today, change the definition: rename a property, reorder the properties, or give a property a type with its own control. Admin: derivation rules and edge cases shows how each change moves the screens.
Admin actions: Verbs, refusals and Approvals
How the Admin turns a Noun's custom Verbs into buttons, what a button runs, how a refusal shows, and where blocked Verbs and Approvals stand.
App per Persona: derivation rules
The design rules that turn each Persona and its Access level into lists, forms, approval cards, a usage panel and an ask control for a Customer's people.