Page History
...
- visibilityPolicySetId – determines the visibility of the component based on specified policy sets. For example, setting it to
"adminOnlyPolicy"restricts the boardlet to users with admin privileges.
Guidelines
Header / Toolbar
- Every boardlet must always include a toolbar on the right side.
- The toolbar can exist in two variations:
- First actionbar – actions that affect the boardlet itself.
- Second actionbar – actions that affect the content inside the boardlet. Always separated by a dividing line and cannot exist alone.
- Limit toolbars to three visible actions. Additional actions must be grouped into an overflow menu under the “more” icon.
- The “more” action is mandatory in every boardlet toolbar.
Footer
- The footerbar always controls the workflow of the boardlet.
- Workflow-related actions are always placed at the bottom right. Hierarchy flows from bottom right to bottom left.
- Allowed footerbar layouts:
- Tabs only.
- Tabs with buttons (maximum two).
- Buttons only (maximum two).
- Tabs with actionbar (secondary option, e.g., kiosk mode).
- The footerbar has a fixed height and may never be multiline.

Accessibility
...
Usage
- Create a three-part frame for content that needs a header, body, and footer by toggling section visibility (
showHeader,showFooter) and placing components into the corresponding arrays (elements.header[],elements.body[],elements.footer[]). - Pick the visual emphasis that matches the page context by setting
boardletTypetoNormal(bordered) for stronger separation orGhost(borderless) when the Boardlet should blend into surrounding content. - Keep the header action area compact: place at most three immediate actions in
elements.header[]and expose the rest via the mandatory overflow by settingmoreIconVisible: true. - Use the footer only for workflow-related actions or tabs. If there is no workflow, hide the region (
showFooter: false) so the layout stays clean. - Provide a clear, localized identity: set a human-readable builder label with
displayName, a localized product-facing name withboardletNameTranslations, and a localized header title withtitleTranslations/title(the visualtitlereads from these values).
Sizing & Layout
- Choose the overall arrangement using the root
layout(horizontalfor side-by-side sections orverticalfor stacked presentation), and refine placement inside each region using the section-levellayouton header, body, and footer. - Prevent clipping when content grows by enabling internal scrolling with
scrollingEnabled: true; this preserves container height and reduces layout shifts. - Reduce visual noise by hiding unused chrome (
showHeader: false,showFooter: false) instead of leaving empty regions. - Provide quick, recognizable affordances in the header by configuring
leftIconand/orrightIconwith symbols that match the Boardlet’s purpose (e.g., info, settings).
States & Feedback
- Switch visual style by changing
boardletType(Normal↔Ghost) to communicate emphasis without altering content. - Control presence of major regions at runtime with
showHeaderandshowFooterto reflect task needs (e.g., hide footer after workflow completes). - Expose additional actions via overflow by toggling
moreIconVisible; when true, users have a stable “more” entry point even when visible actions are limited.
Interactions & Events
- Prepare the Boardlet on first render using
events.ON_INIT(e.g., preload data, compute whethershowFootershould be true, prime any sectionlayoutdecisions). - Release resources and listeners on teardown with
events.ON_DESTROYto keep the UI responsive and stable over time. - Provide deterministic automation hooks for QA and a11y testing with
dataTestIdso scripts can reliably target the Boardlet across builds.
Data-Driven / Conditional Behavior
- Keep the layout steady while data updates by relying on
scrollingEnabled: trueand stable sectionlayoutvalues; avoid togglingshowHeader/showFootermid-session unless essential, and prefer making those decisions once duringON_INIT. - If the number of header actions varies with data, keep visible actions capped by limiting
elements.header[]and depend onmoreIconVisible: truefor overflow consistency.
Visibility & Authorization
- Restrict who can see the Boardlet by supplying
visibilityPolicySetId; when a user doesn’t match the policy, the component remains hidden, preventing accidental exposure of content or actions.
Content & Localization
- Localize all user-facing copy with
boardletNameTranslationsandtitleTranslations/titleto match the user’s locale; keep labels short and specific so truncation is unlikely in tighterlayoutconfigurations. - Use
displayNamefor internal structure-panel clarity without changing end-user text; this helps maintain a clean authoring experience across large boards.
Dos & Don’ts
| Do | Don’t | Article setting(s) |
|---|---|---|
| Keep header actions to ≤3 and surface the rest via overflow. | Crowd the header with many icons and no overflow. | Header elements[] (limit count), moreIconVisible: true |
| Hide the footer when no workflow actions exist. | Leave an empty footer occupying space. | showFooter: false |
Use layout: "vertical" in the body to stack dense content for readability. | Force cramped side-by-side layouts that truncate content. | Body layout: "vertical" |
Enable scrollingEnabled when content can exceed visible height. | Allow content to clip, overlap, or push other regions unpredictably. | scrollingEnabled: true |
| Localize the name and title for all supported locales. | Hard-code English-only strings. | boardletNameTranslations, titleTranslations/title |
| Initialize data and flags on mount; dispose on unmount. | Defer setup until first click and forget to clear timers or listeners. | events.ON_INIT, events.ON_DESTROY |
Accessibility
Protocol of implemented accessibility measures
- Provide localized output to assistive tech by filling
boardletNameTranslationsandtitleTranslations/titlefor all supported locales. - Maintain predictable reading and navigation order by keeping section visibility (
showHeader,showFooter) and sectionlayoutstable during interaction. - Ensure overflow actions remain discoverable by enabling
moreIconVisible, so important commands are reachable without shrinking targets. - Expose
dataTestIdto support automated accessibility checks and regression testing.
Practices to improve accessibility
- Avoid using color alone to convey meaning; augment with recognizable
leftIcon/rightIconand cleartitleTranslations/titletext. - Reduce focus jumps by avoiding mid-session toggles of major regions; prefer configuring
showHeader/showFooteronce duringevents.ON_INITand managing long content withscrollingEnabled.