bcquality/microsoft/knowledge/ui
Michael Dieringer 0867171b1a
2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission (#207)
* Add UI knowledge: client-expression in-list and Role Center AccessByPermission

Two ui articles with compiled good/bad samples:
- page-client-expression-must-not-use-in-list: an `in [...]` list in
  Enabled/Visible/Editable/StyleExpr is rejected (AL0573 on actions,
  groups and parts; AL0322 on fields); remediate with an or-chain or a
  global Boolean, not a procedure call. Plain comparisons stay valid.
- rolecenter-permission-gating-must-use-accessbypermission: Role Center
  pages and pageextensions of them cannot host triggers/procedures
  (AL0378/AL0569); gate parts by permission with AccessByPermission,
  with the UI Elements Removal and non-security-boundary caveats.

Wired into al-ui-review worklist tokens and high-signal mappings, and
registered both pairs in the ui review-fixtures override.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Address review: OnAfterGetCurrRecord for action state, RC gating nits

- page-client-expression-must-not-use-in-list: recompute action/group/part
  state in OnAfterGetCurrRecord (OnAfterGetRecord runs per row), cite
  EDocumentLogs and concrete or-chain examples, note HideValue and that
  the property list is not exhaustive; good sample uses OnAfterGetCurrRecord.
- rolecenter-permission-gating-must-use-accessbypermission: clarify
  LicenseFile vs LicenseFileAndUserPermissions removal, cite Business
  Manager RC Control96, samples gate a part the RC does not already have.
- al-ui-review: add ReadPermission/WritePermission tokens.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 09:53:14 +02:00
..
bound-page-field-inherits-source-field-tooltip.md Clarify page field caption and tooltip inheritance (#160) 2026-09-07 15:13:35 +02:00
caption-capitalization-noun-phrase-vs-sentence-phrase.good.al Add batch-2 FP guards: sentence-case action captions + primary-key Get is transaction-cached 2026-07-21 11:08:04 +02:00
caption-capitalization-noun-phrase-vs-sentence-phrase.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
control-add-in-accessibility-is-developer-responsibility.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
control-add-in-has-no-bc-color-tokens.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
control-addin-package-resource-ajax-needs-withcredentials.bad.js Add P0 integration and control add-in runtime guidance (#100) 2026-07-14 12:53:26 +02:00
control-addin-package-resource-ajax-needs-withcredentials.good.js Add P0 integration and control add-in runtime guidance (#100) 2026-07-14 12:53:26 +02:00
control-addin-package-resource-ajax-needs-withcredentials.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
control-addin-throttle-al-calls-and-payload-size.bad.js Add P0 integration and control add-in runtime guidance (#100) 2026-07-14 12:53:26 +02:00
control-addin-throttle-al-calls-and-payload-size.good.js Add P0 integration and control add-in runtime guidance (#100) 2026-07-14 12:53:26 +02:00
control-addin-throttle-al-calls-and-payload-size.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
cosmetic-styles-need-no-textual-context.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
default-descending-sort-on-historical-pages.bad.al Promote ui knowledge from community to Microsoft layer (#51) 2026-07-01 10:41:24 +02:00
default-descending-sort-on-historical-pages.good.al Promote ui knowledge from community to Microsoft layer (#51) 2026-07-01 10:41:24 +02:00
default-descending-sort-on-historical-pages.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
dropdown-fieldgroup-respects-lookup-page-visibility.bad.al Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
dropdown-fieldgroup-respects-lookup-page-visibility.good.al Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
dropdown-fieldgroup-respects-lookup-page-visibility.md Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
factbox-design.md Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
fasttab-field-importance.md Promote validated community knowledge (#105) 2026-07-14 14:20:27 +02:00
grid-data-table-heuristic.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
grid-data-table-heuristic.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
group-caption-quality-is-not-an-accessibility-issue.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
group-labeled-first-child-exception.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
group-labeled-first-child-exception.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
group-labeled-first-child-exception.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
group-show-caption-false-outside-grid-is-not-a-violation.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
layout-table-with-captions-is-valid.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
no-nested-grids.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
no-nested-grids.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
on-drill-down-on-non-editable-fields-renders-as-link.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
page-background-tasks.md Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
page-client-expression-must-not-use-in-list.bad.al 2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission (#207) 2026-10-02 09:53:14 +02:00
page-client-expression-must-not-use-in-list.good.al 2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission (#207) 2026-10-02 09:53:14 +02:00
page-client-expression-must-not-use-in-list.md 2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission (#207) 2026-10-02 09:53:14 +02:00
page-design-must-match-bc-page-type-conventions.bad.al 18 more AL/BC patterns: data-modeling, testing, style, security, error-handling, ui, upgrade, web-services, appsource (#157) 2026-09-29 17:12:51 +02:00
page-design-must-match-bc-page-type-conventions.good.al 18 more AL/BC patterns: data-modeling, testing, style, security, error-handling, ui, upgrade, web-services, appsource (#157) 2026-09-29 17:12:51 +02:00
page-design-must-match-bc-page-type-conventions.md 18 more AL/BC patterns: data-modeling, testing, style, security, error-handling, ui, upgrade, web-services, appsource (#157) 2026-09-29 17:12:51 +02:00
prefer-actionref-syntax-for-promoted-actions.md Promote validated community knowledge (#105) 2026-07-14 14:20:27 +02:00
promoted-action-groups.md Promote validated community knowledge (#105) 2026-07-14 14:20:27 +02:00
rolecenter-permission-gating-must-use-accessbypermission.bad.al 2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission (#207) 2026-10-02 09:53:14 +02:00
rolecenter-permission-gating-must-use-accessbypermission.good.al 2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission (#207) 2026-10-02 09:53:14 +02:00
rolecenter-permission-gating-must-use-accessbypermission.md 2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission (#207) 2026-10-02 09:53:14 +02:00
semantic-style-in-cuegroup-exception.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
semantic-style-in-cuegroup-exception.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
semantic-styles-need-independent-textual-meaning.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
semantic-styles-need-independent-textual-meaning.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
semantic-styles-need-independent-textual-meaning.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
set-selection-filter-list-scope.bad.al move set-selection-filter-list-scope to microsoft layer per maintainer feedback 2026-06-26 03:58:25 -04:00
set-selection-filter-list-scope.good.al move set-selection-filter-list-scope to microsoft layer per maintainer feedback 2026-06-26 03:58:25 -04:00
set-selection-filter-list-scope.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
show-caption-false-allowed-on-non-editable-fields.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
show-caption-false-allowed-on-non-editable-fields.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
show-caption-in-promptdialog-prompt-area.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
show-caption-in-promptdialog-prompt-area.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
show-caption-in-repeater-allowed.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
show-caption-in-repeater-allowed.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
show-caption-on-editable-fields.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
show-caption-on-editable-fields.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
show-caption-on-editable-fields.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
showmandatory-on-code-required-page-fields.bad.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
showmandatory-on-code-required-page-fields.good.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
showmandatory-on-code-required-page-fields.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
standalone-content-in-layout-table.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
standalone-content-in-layout-table.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
style-expr-text-vs-boolean.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
style-expr-text-vs-boolean.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
tabular-intent-requires-data-table-conditions.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
tabular-intent-requires-data-table-conditions.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
updatepropagation-both-refreshes-main-page.bad.al Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
updatepropagation-both-refreshes-main-page.good.al Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
updatepropagation-both-refreshes-main-page.md Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
validate-request-page-input-in-onqueryclosepage.bad.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
validate-request-page-input-in-onqueryclosepage.good.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
validate-request-page-input-in-onqueryclosepage.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00