Page History
(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)
Karma
(not verified)
Link to Figma: tba
Overview
- The Dynamic SFM Karma Component displays a karma score in a circular gauge.
- It retrieves the score from a configured data source.
- The score is visualized as one of four levels: Poor, Fair, Good, and Excellent.
- It is useful for showing performance metrics, health scores, or quality ratings.
- The visual gauge makes the information engaging and easy to understand.
...
- id – Specifies a unique identifier for the component used for programmatic access. For example,
"customerSatisfactionKarma"enables targeted manipulation of this specific karma component. - dataTestId – Sets the testing hook ID for automated testing. For example, setting it to
"customer-karma-gauge"allows test scripts to reliably locate this component. - enableAsHotspot – Enables the karma component as a guided tour hotspot. When enabled, the karma gauge can be highlighted during guided tours to draw user attention to important metrics.
- guidedTourHotSpotTitle – Sets the title for the guided tour hotspot with support for multiple languages. For example,
{"en-US": "Customer Satisfaction Score", "de-DE": "Kundenzufriedenheitswert"}provides localized titles when the karma gauge is highlighted during a guided tour. - guidedTourHotSpotDescription – Sets the description text for the guided tour hotspot with language support. For example,
{"en-US": "This gauge shows the overall satisfaction rating from customer feedback", "de-DE": "Diese Anzeige zeigt die Gesamtzufriedenheitsbewertung aus dem Kundenfeedback"}provides detailed explanations during guided tours.
Guidelines
[NO DATA AVAILABLE]
Accessibility
...
Sizing & Layout
- Keep the authoring environment clear by naming the instance with
displayName; this does not affect end-user layout but improves maintainability in the structure panel.
States & Feedback
- The component surfaces state only through the four threshold levels; it does not expose focus/active/disabled tokens. Configure via
poorKarmaThreshold,fairKarmaThreshold,goodKarmaThreshold,excellentKarmaThreshold.
Data-Driven / Conditional Behavior
- Point to the numeric (or rank-like) source with
statusField; verify it resolves in the fetched payload fromgetEntityCollectionDataSourceId. - Keep thresholds strictly increasing and non-overlapping using
poorKarmaThreshold<fairKarmaThreshold<goodKarmaThreshold<excellentKarmaThreshold. - Ensure the realistic range is covered so every value classifies into exactly one band using the four threshold tokens.
- Stabilize what data is shown by filtering at fetch time with
getEntityCollectionHttpRequestParametersMap(e.g., current entity), rather than toggling thresholds at runtime.
Visibility & Authorization
- Gate visibility to roles/policies with
visibilityPolicySetIdwhen the metric is sensitive. - Use
displayConditionsto show/hide the gauge based on state (e.g., data presence) without reconfiguring sources.
Content & Localization
- For onboarding or contextual explanation, enable the gauge as a hotspot via
enableAsHotspotand provide localized copy inguidedTourHotSpotTitleandguidedTourHotSpotDescription. - Use
idanddataTestIdto reference the instance consistently in docs, telemetry, and automated checks; keepdisplayNamefocused on internal clarity for authors.
Dos & Don’ts
| Do | Don’t | Article setting(s) |
|---|---|---|
| Define the data field explicitly so the gauge reads the intended value. | Assume a default path in the payload. | statusField, getEntityCollectionDataSourceId |
| Keep thresholds strictly increasing for unambiguous levels. | Overlap or reorder thresholds (e.g., Fair ≥ Good). | poorKarmaThreshold, fairKarmaThreshold, goodKarmaThreshold, excellentKarmaThreshold |
| Cover the full expected data range with four bands. | Leave gaps so some values fall into no level. | poorKarmaThreshold–excellentKarmaThreshold |
| Filter the fetch to the current context (entity/timeframe). | Pull broad data and hope the UI “picks” the right value. | getEntityCollectionHttpRequestParametersMap, getEntityCollectionDataSourceId |
| Hide the gauge when there’s no valid target. | Show a gauge with stale/empty data. | displayConditions |
| Restrict sensitive metrics to authorized viewers. | Expose confidential scores to all users. | visibilityPolicySetId |
| Provide concise, localized hotspot guidance when teaching the UI. | Put critical instructions only in the hotspot. | enableAsHotspot, guidedTourHotSpotTitle, guidedTourHotSpotDescription |
| Initialize/clean up on lifecycle events for predictable behavior. | Leave listeners running after navigation/unmount. | events.ON_INIT, events.ON_DESTROY |
Accessibility
- Localize instructional copy used for guided onboarding via
guidedTourHotSpotTitleandguidedTourHotSpotDescription. - Restrict visibility of sensitive data with
visibilityPolicySetId. - Avoid color-only meaning: when spotlighting the gauge, use concise, localized explanatory text configured via the hotspot fields (
enableAsHotspot,guidedTourHotSpotTitle,guidedTourHotSpotDescription). - Show the component only when the underlying value exists using
displayConditions, reducing ambiguity for assistive-technology users. - Keep classification deterministic by maintaining strictly increasing thresholds using
poorKarmaThreshold…excellentKarmaThreshold.