Add data-modeling and appsource knowledge articles (MICROSOFT layer)#65
Open
JesperSchulz wants to merge 1 commit into
Open
Add data-modeling and appsource knowledge articles (MICROSOFT layer)#65JesperSchulz wants to merge 1 commit into
JesperSchulz wants to merge 1 commit into
Conversation
Author 7 remedial BCQuality knowledge articles plus good/bad AL samples (21 files) covering AL master-table and data-model design: - data-modeling: master No. from number series in OnInsert; use codeunit "No. Series" not obsolete NoSeriesManagement; setup table is a singleton; set Last Date Modified in OnModify and OnRename; enforce Blocked in referencing code not in the master. - style: ApplicationArea required on page controls (AS0062). - appsource: object affixes prevent collisions (AS0011). Clean-room authored from own BC knowledge; specifics verified against public sources only (learn.microsoft.com, microsoft/BCApps). Introduces two new domains (data-modeling, appsource). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
JesperSchulz
commented
Jul 1, 2026
| @@ -0,0 +1,28 @@ | |||
| --- | |||
| bc-version: [all] | |||
| domain: data-modeling | |||
Contributor
Author
There was a problem hiding this comment.
I am not sure I'm a fan of the "data-modeling" domain. Need to think that properly through.
JeremyVyska
approved these changes
Jul 1, 2026
This was referenced Jul 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds 7 remedial BCQuality knowledge articles (MICROSOFT layer) on AL master-table / data-model design, each with
good.al+bad.alsamples — 21 files total. For review only.Articles
data-modeling (new domain)
master-table-no-from-number-series-in-oninsert— master PK isNo.Code[20]assigned from a number series inOnInsert, not anAutoIncrement/GUID/SystemId.use-no-series-codeunit-not-noseriesmanagement— use codeunit 310"No. Series"(GetNextNo/IsManual); the legacyNoSeriesManagement(cu 396) is obsolete-pending.setup-table-is-a-singleton— one blank-keyedPrimary KeyCode[10]row; Card page withInsertAllowed/DeleteAllowed = false.set-last-date-modified-in-onmodify-and-onrename— refreshLast Date Modifiedin both triggers (rename does not fireOnModify).check-blocked-in-referencing-code-not-in-master— enforceBlockedviaTestFieldin the consuming code, not in the master's own triggers.style (existing domain)
6.
applicationarea-required-on-page-controls— every page control needsApplicationArea(AppSourceCop AS0062) or it is silently hidden in the Web client. (ToolTip is the separate CodeCop AA0218 rule.)appsource (new domain)
7.
object-affixes-prevent-collisions— reserved affix on own objects and on members added to base objects (AppSourceCop AS0011).New domains & CODEOWNERS
Two NEW domains are introduced:
data-modelingandappsource. Both are covered by the catch-all/microsoft/ @jesperschulzgate inCODEOWNERS, so review is not left unowned. However, unlike the established domains (events, performance, privacy, security, style, testing, upgrade), they do not yet have dedicated domain-expert reviewer lines — adding/microsoft/knowledge/data-modeling/and/microsoft/knowledge/appsource/lines may be wanted. (Article 6 lands instyle/, which already has reviewers.)Provenance (clean-room / no courseware)
Authored entirely from my own Business Central knowledge, with BC-specific facts verified against public sources only (learn.microsoft.com,
microsoft/BCApps). No licensed courseware wording, structure, code, or example project was accessed or reproduced. Example objects use a neutral Loyalty / Membership theme.Validation
Article count: 192 → 199 (+7, exactly as expected).
knowledge-index.jsonis gitignored and is not committed.Note on branch name
The requested branch name was
jesperschulz-data-modeling-knowledge. The session branch-rename tool auto-prefixes the username and locks after the first rename, yieldingjesperschulz-jesperschulz-data-modeling-knowledge; rawgit branch -mis disallowed in this worktree. Rename on GitHub if the exact name is required.