* feat(community/agents): add AL agent quality guidance - add 20 agent knowledge rules with good and bad AL samples - clarify setup dialog shape, temporary persistence, permissions, profiles, instructions, capability registration, and interface wiring - add the community-owned AL agents review skill - make review fixture discovery layer-aware with custom, community, and Microsoft precedence - document layer-aware evaluation behavior * fix(community/agents): align setup and permission samples - mark agent setup pages as non-extensible where required - narrow the agent profile by hiding an unrelated sales-order field - define a dedicated read-only permission set for the sales review agent - assign AL-defined permission sets with system scope and the owning app ID - clarify the permission scope guidance for default access controls * Address agent review feedback
1.3 KiB
| bc-version | domain | keywords | technologies | countries | application-area | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
agents |
|
|
|
|
Keep the agent setup page source temporary until Update
Description
ConfigurationDialog setup is a draft: the user can Cancel without writing. That only works if SourceTableTemporary = true and custom fields stay in memory until Update. Writing the real table in OnValidate or OnOpenPage commits a partial agent when the dialog errors or is cancelled.
Best Practice
Mark the page SourceTableTemporary = true. Copy into the temp record on open. Persist the Agent Setup buffer and custom fields only from the close path when the action is not Cancel, using Agent Setup.GetChangesMade / SaveChanges.
See sample: agent-setup-source-table-is-temporary.good.al.
Anti Pattern
A non-temporary source table, or Insert/Modify on the persisted setup row from field OnValidate. Detection signal: agent ConfigurationDialog without SourceTableTemporary = true, or database writes before Update.
See sample: agent-setup-source-table-is-temporary.bad.al.
See also
agent-setup-page-is-configuration-dialog.md defines the setup page shape that uses this draft lifecycle.