2026
Compare all four Business Central background processing tools — Page Background Tasks, StartSession, TaskScheduler, Job Queue — and learn when to use each
Build a Claude Code dev container for AL with persistent OAuth via named Docker volumes, git credential isolation, and a shareable Dev Container Feature.
How a document-driven multi-agent Claude Code workflow handles large AL refactoring tasks — 42 files, 0 errors, 1 hour of nearly unattended work.
2025
How to fix the empty Call Stack and Variables panel bug in the AL debugger on Linux Wayland/Hyprland by running the language server inside a VS Code Dev
The definitive guide to starting a Business Central AL project right — AL-Go templates, app.json settings, naming conventions, LinterCop, and CI pipeline
“A best-practice guide to Business Central AL development — upgrade-safe, AppSource-ready patterns for ISVs who want to do it right.”
An honest look at Business Central AL development on Linux: what works perfectly, where Docker and reports still need a Windows VM, and how to get started
Adding configurable Azure Application Insights telemetry and a clean alert card page to BusinessCentral.Sentinel — open-source BC environment monitoring.
Complete guide to AppSource entitlement objects in Business Central: plan types, permission sets, delegated admin access, security groups, and S2S
2024
Auto-generate BC Sentinel rule docs via Claude API for under $0.11, improve alert descriptions, add a usage panel, and wire up Show Related Information.
Build BusinessCentral.Sentinel live — a free AppSource app detecting DEV extensions, missing source access, SUPER users, and number series locking issues.
Learn how AL interfaces work in Business Central: enum+interface patterns, testability with fake implementations, and the new interface extension syntax
Why LinterCop rule LC0068 warns about missing Permissions properties in AL — a complete explanation of indirect permissions, 250 restricted tables, and
Part 2 of building a NuGet installer for Business Central: version selection, NavxManifest parsing, the NAVX proprietary format mystery, and dependency
Building a Business Central extension that queries the NuGet v3 API, downloads app packages from AppSource or private feeds, and installs them using
Deep dive into Business Central transaction behavior — Codeunit.Run implicit commits, CommitBehavior, TryFunction pitfalls, and TransactionType isolation
How to connect refreshable Excel reports to Business Central OData APIs when running Docker or on-premises containers, including tenant URL and credential
Live walkthrough fixing three LC0068 false positives in LinterCop — Integer virtual tables, XMLPort AutoReplace flags, and InherentPermissions
Live stream deep-dive into Business Central indirect permissions — what causes runtime permission errors, how to fix them with the Permissions property
Deep dive into how AL table keys translate to SQL indexes — real query plans, SIFT views, IncludedFields, write cost benchmarks, and Database.AlterKey.
Redesigning MSDyn365BC.Ntfy's data model to support multiple event subscriptions per topic, add an Enabled flag, and dispatch push notifications via the
How to backport a fluent AL ErrorInfo wrapper to Business Central v24 by working around the missing 'this' keyword with a global variable and internal
Live-stream walkthrough of building a fluent ErrorInfo wrapper codeunit in AL using the 'this' keyword, fix-it actions, and the facade pattern for clean
Live code review of Microsoft's AI Test Toolkit PR in BCApps: fixing LinterCop violations, refactoring N+1 queries with FlowFields, and contributing back
Pre-publication AppSource checklist for a BC AL extension: Access properties, InherentPermissions, enum implementations, permission sets, and clean folder
Build a production-safe AL error-catching pattern using CommitBehavior::Ignore and inner/outer codeunits — no test framework required, works in BC Online.
Catch AL validation errors including hidden Validate commits without side-effects — using the BC test framework as a reliable transaction rollback sandbox.
Fix the FilterPageBuilder.GetView language bug by using field IDs, and integrate Spare Brained Licensing into an AppSource AL extension with AL-Go CI
Learn how to use AL interfaces and extensible enums to add overpayment write-off support to a Business Central AppSource app, with number series debugging
Practical AL unit testing techniques: temporary records, BindSubscription, interface mocks, and actionable ErrorInfo — applied to a real AppSource
2023
When to use API Queries vs API Pages vs OData Bound Actions in Business Central — a practical approach to building readable, testable, and performant
A look at the open-source GoLiveChecklisting app for Business Central — an extensible framework to script and validate data quality checks before going
2022
LinterCop v0.24.0 fixes rule LC0015 to check all permission types — not just TableData — filling the gap left by PTE0004 for Business Central AL
Fix LinterCop assembly version mismatches in BC pipelines by loading the latest AL compiler from the VS Code Marketplace with the -vsixFile parameter.
LinterCop v0.23.0 adds wiki help links, LC0014 for permission set caption length, and LC0015 for full permission set object coverage — not just tables.
2021
LinterCop update: GitHub Actions CI pipelines, expanded Rule0005 casing checks, new LC0013 NotBlank rule for primary keys, and plans for pre-release beta
Install LinterCop in VS Code for AL development — the auto-updating extension adds custom code analysis rules via your al.codeAnalyzers settings.
Introducing LinterCop — an AL code analyzer for Business Central built by reverse-engineering the compiler /analyzer: interface. Contribute on GitHub.
How overusing RecordRef and FieldRef in Business Central caused a 650% performance regression on sales header modifications — and why interfaces fixed it
Use a Git pre-commit hook with a PowerShell script to block commits with invalid app.json version numbers in Business Central AL projects — shareable
Refactor an AL enum loop into a clean foreach with Enum.Ordinals() and FromInteger() — a code review on why readable AL code is always easier to maintain.
Avoid unnecessary computation on hidden page fields in Business Central: use inline expressions instead of DataSet variables so code only runs when the
Introducing a short-form AL video series focused on single tasks — practical how-to clips for Business Central developers using default VS Code settings.
Why automated testing matters in Business Central projects — the case for treating tests as quality insurance, not an optional extra that customers won't
2020
Display long text fields across multiple lines in Business Central using the built-in WebPageViewer control add-in — no custom control add-in required.
AL Lint v0.1.7 adds cyclomatic complexity and maintainability index metrics to the VS Code status bar, helping you keep Business Central AL code clean and
Stefan Maron takes over the AL Lint VS Code extension — adding a function length check and planning clean code and performance rules beyond the built-in
Practical AL coding patterns for writing clean, readable conditions — from IN statements and case true of to extracting complex logic into named functions.
Benchmark results and SQL query analysis comparing FindSet vs FindFirst in Business Central AL — the differences are not what most developers expect.
How to use the Business Central Task Scheduler to queue background work across server instances, including Docker setup and scheduling tips.
Step-by-step guide to using StartSession in Business Central AL to run codeunits in the background and improve user session performance.
Learn how asynchronous development and background tasks work in Business Central — from Page Background Tasks to Start Session and Task Scheduler patterns.
AL TextBuilder vs string concatenation benchmarks — why += causes exponential slowdowns and how TextBuilder handles 10 million appends in just 6 seconds.