Master Page¶
Introduction¶
A Master Page is a layout wrapper that defines the common shell shared across multiple Normal Forms. It is not a standalone page that the end user visits directly; instead, it acts as the persistent frame into which the content of the currently active Normal Form is injected at runtime.
Characteristics¶
- Defines the outer structure of the application's UI — typically containing the navigation menu, header, footer, and any other UI elements that must appear consistently across all (or a group of) pages.
- Contains a designated content placeholder where the content of the currently active Normal Form is rendered. Everything outside this placeholder is shared and persistent across all forms that use the Master Page.
- Can define shared Controller Actions, Event Listeners, and Logic that apply globally across all forms that use it — for example, a logout action in the header, a session-expiry notification handler, or a global notification banner.
- An application can have multiple Master Pages — for instance, one for authenticated users (with a full navigation menu and user profile header) and a separate one for the login and registration flow (minimal layout with no menu).
- Normal Forms reference their Master Page at creation time. All Normal Forms that share the same Master Page automatically inherit its layout and shared behavior.
- Changes to the Master Page — such as adding a new menu item, updating the header logo, or modifying the footer — are immediately reflected across every Normal Form that uses it, with no changes required to the individual forms.
Relationship with Normal Forms¶
The Master Page and Normal Form work together: the Master Page defines what stays constant, and the Normal Form defines what changes per page. At runtime, when the user navigates to a Normal Form, the application renders the Master Page structure and inserts the Normal Form's content into the content placeholder.
This separation means:
- Common UI and behavior is defined once, in the Master Page, rather than repeated in every form.
- Normal Forms remain focused on their own content and logic without concern for the surrounding layout.
- Global changes (e.g. adding a notification bell to the header) require editing only the Master Page.
When to Use¶
Use a Master Page to define the common layout of your application. Typical scenarios:
- Authenticated layout — a Master Page with a full navigation sidebar, user profile header, and footer, used by all pages accessible after login.
- Public / unauthenticated layout — a minimal Master Page used only by the login, registration, and password reset pages, where no navigation menu should be shown.
- Admin layout — a separate Master Page with an admin-specific navigation structure, used by back-office pages.
You should not use a Master Page as a regular content page. Its purpose is solely to define the shared frame that surrounds Normal Forms.
Template Controls¶
The Master Page Toolbox includes the Template control. When a Template is dropped onto the Master Page canvas, it defines a named content slot that appears inside every Normal Form that uses this Master Page — as an additional container into which the form can append its own controls.
This is the inverse of the standard content placeholder: instead of the Normal Form injecting its entire content into the Master Page, Templates let the Master Page offer specific, named regions that individual Normal Forms can optionally populate.
Use Cases¶
Page-specific action toolbar The Master Page defines a Template slot in the header area next to the page title. Each Normal Form appends its own set of action buttons (e.g. "Save", "Delete", "Export") into that slot. This keeps the header layout consistent while allowing each form to contribute its own contextual actions without the Master Page needing to know about them.
Per-page breadcrumb trail The Master Page defines a Template slot for the breadcrumb bar. Each Normal Form appends its own breadcrumb items reflecting its position in the navigation hierarchy. The breadcrumb structure and styling are owned by the Master Page; the content is owned by each form.
Contextual sidebar panel The Master Page defines a Template slot in a collapsible sidebar. Most forms leave it empty, but certain forms (e.g. a document editor or a settings page) append a context-sensitive panel with additional options or metadata relevant to that specific page.
Notification or status bar The Master Page defines a Template slot at the top of the content area for transient alerts. Forms that perform critical operations (e.g. a bulk-import form) can append a status bar with progress or result information scoped to that page, while other forms leave the slot empty.
Footer customization per section The Master Page defines a Template slot in the footer. Forms belonging to a particular section of the application (e.g. a checkout flow) can append section-specific footer content (e.g. trust badges, step indicators) without requiring a separate Master Page for that section.