SaaS.Dev

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.

PartWhere it comes from todayFor leaseclock.com
Sidebar iconguessed from the key; any key with no match gets a table iconleases and properties get the table icon
LabelslabelsLease, Leases; Monthly Rent
The field that names a recordrepresentationresidentName for Lease, name for Property
List columnslist-columnsthe first 7 short properties of Lease
Controlsthe control-* rules, from each declared typestartsOn takes a date picker
Screensscreensa 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.

KeyIcon
contacts, users, people, customers, members, leadspeople
companies, organizations, accounts, teamsbuilding
dealshandshake
ordersshopping cart
productspackage
categories, tagstag
reviews, comments, messagesspeech bubble
any other keytable

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.

OverrideApplies toTypeDefaultOverrides
icona Nounan icon namethe guess from the keythe sidebar icon
labela Noun{ one, many }the Noun's name, split into wordslabels
representationa Nouna property namethe first naming propertyrepresentation
list-columnsa Nounproperty names, in orderthe first 7 short propertieslist-columns
hidden-fielda propertytrue or falsefalsescreens
field-labela propertytextthe property's name, split into wordslabels
controla propertya control namethe control its type derivesthe control-* rules
extra-screensthe Appa path and a Component per screennonescreens

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.