Add AL-focused AppSource validation guidance (#142)

* knowledge(appsource): add AL validation guidance

* Address Marketplace review feedback

* Address remaining Marketplace review feedback

* Align AppSource review applicability outcome
This commit is contained in:
Stefano Demiliani 2026-09-14 12:42:45 +02:00 • committed by GitHub
parent 35d0966a8d
commit 45ac371e7a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 322 additions and 4 deletions

View file

@ -0,0 +1,26 @@
---
bc-version: [all]
domain: appsource
keywords: [profile-object, profile-table, install-codeunit, role-center, page-customization]
technologies: [al]
countries: [w1]
application-area: [all]
---
# Define profiles as AL objects
## Description
Profiles delivered by a Marketplace extension must be declared as AL `profile` objects. A profile object is validated with its Role Center and page customizations when the extension is compiled and is registered through extension synchronization. Inserting profile-table records from install or setup code bypasses that object lifecycle.
## Best Practice
Declare each app-owned profile with the `profile` object and set its `RoleCenter`, user-facing caption, and optional customizations in AL. Let installation and synchronization register the object.
See sample: [`define-profiles-as-al-objects.good.al`](define-profiles-as-al-objects.good.al).
## Anti Pattern
Install, upgrade, or setup code that creates an app-owned profile by inserting a `Profile` table record. Detection signal: a `Record Profile` variable followed by `Insert` in profile provisioning code.
See sample: [`define-profiles-as-al-objects.bad.al`](define-profiles-as-al-objects.bad.al).