Add AL-focused AppSource validation guidance - #142
Add AL-focused AppSource validation guidance#142Stefano Demiliani (demiliani) wants to merge 1 commit into
Conversation
Natalie Karolak, MVP (NKarolak)
left a comment
There was a problem hiding this comment.
Please mind the rebranding half a year (or longer) ago: "AppSource extension" --> "Marketplace extension".
I know (thinked on that yesterday), but then the name should be changed on all the Microsoft's folder rules too. However I don't think this is a need for AI ;) |
Jesper Schulz-Wedde (JesperSchulz)
left a comment
There was a problem hiding this comment.
Most of these rules map cleanly to the Marketplace technical-validation checklist, but three correctness issues remain.
-
Messageis described as a callback failure, but it has different runtime behavior.keep-web-service-paths-free-of-ui-calls.mdsays calls “includingMessage” can terminate the service request. Microsoft’s web-service/background-session behavior documentsMessageas suppressed and logged;Confirm,StrMenu, modal pages, uploads/downloads, etc. are the callback-failure cases. Marketplace validation can still reject message boxes, and a message is ineffective as a service response, but the article and reviewer cue should give that reason rather than teach agents thatMessagethrowsNavNCLCallbackNotAllowedException. -
The company-open bad fixture does not model the forbidden subscription correctly.
do-not-subscribe-to-company-open-events.bad.altargetsCodeunit::"System Initialization", but that codeunit publishesOnAfterLogin, notOnAfterCompanyOpen. Use a validOnBeforeCompanyOpen/OnAfterCompanyOpensubscription shape for the BC versions this rule covers (historically the company-open/ApplicationManagement publisher), so the anti-pattern is compilable and AS0061-relevant rather than failing because the event does not exist on the named object. -
The web-service bad fixture contains two unrelated localization defects. Its hard-coded
ConfirmandMessageformat strings trigger the style rule for Label-backed user text, as the specialized review confirmed. UseQst/MsgLabels so the sample isolates only the web-service UI defect and does not teach a second bad pattern.
Please also adopt the reviewer’s terminology feedback in the seven new articles: say Marketplace extension/app in prose. Keep AppSourceCop, the appsource domain/path, and skill identifiers unchanged because those are product/tool and repository contract names; this does not require a repo-wide rename.
The profile-object, invariant-date, company-open prohibition, action-placement, UsageCategory intent guard, and time-zone guidance otherwise look sound. All repository validators pass.
Summary
Validation
pwsh ./.github/scripts/Test-KnowledgeIndex.ps1 -Root .(279 articles)pwsh ./tools/Test-ReviewFixtures.ps1 -Root .(32 cases across 16 leaf domains)git diff --check