Forms, UI Policies, and UI Actions
Forms are the primary record interface. Candidates must understand form layout (sections, columns), form design (adding/removing fields), views (different layouts for different roles), and annotations. UI policies are client-side rules that set fields mandatory, read-only, or visible based on conditions; they can also run scripts (client-side). Data policies enforce similar rules server-side (and on import), which is a key distinction.
UI actions are buttons, links, and context menu items on forms and lists. They can be client-side (run JavaScript in the browser) or server-side (run a script include or business rule). Know the difference between form buttons, list buttons, list choices, and context menu actions. Client scripts (onLoad, onChange, onSubmit, onCellEdit) complement UI policies.
Traps: assuming a UI policy enforces data integrity on import or via API - it does not; use a data policy or business rule. Assuming a UI policy script can call server-side GlideRecord directly - it cannot without a GlideAjax call. And confusing UI actions with business rules (server-side, no button).
Worked example: To make the close_notes field mandatory and read-only when state is Closed, create a UI policy with condition State is Closed, then add a UI policy action setting close_notes mandatory and read-only. If the same rule must apply to imports and API writes, add a data policy with the same condition.