mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-07 15:46:55 +01:00
Address review feedback on retention policy knowledge
- Scope both articles to bc-version [17..] (retention policies shipped in v17). - Allowed-tables sample: add OnRefreshAllowedTables subscriber with a ForceUpdate path; the upgrade tag now gates one-time setup only. - Default-policy sample: use Retention Policy Setup.FindOrCreateRetentionPeriod instead of a hand-rolled lookup-then-insert that can collide on code. - Anti-pattern now keys on append-only tables rather than table names. - al-privacy-review: add retention-policy tokens and deterministic routing for both articles, with a bounded per-table text search for delete and registration paths. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2f3e5afac1
commit
4bef582ffe
5 changed files with 37 additions and 30 deletions
|
|
@ -2,12 +2,10 @@ codeunit 50564 "Contoso Reten. Pol. Default"
|
|||
{
|
||||
Access = Internal;
|
||||
|
||||
var
|
||||
SixMonthsTok: Label 'Six Months', MaxLength = 20;
|
||||
|
||||
procedure CreateDefaultPolicy()
|
||||
var
|
||||
RetentionPolicySetup: Record "Retention Policy Setup";
|
||||
RetentionPolicySetupMgt: Codeunit "Retention Policy Setup";
|
||||
UpgradeTag: Codeunit "Upgrade Tag";
|
||||
begin
|
||||
// Created once per company: an administrator who deletes the policy
|
||||
|
|
@ -18,7 +16,9 @@ codeunit 50564 "Contoso Reten. Pol. Default"
|
|||
if not RetentionPolicySetup.Get(Database::"Contoso Activity Log") then begin
|
||||
RetentionPolicySetup.Validate("Table Id", Database::"Contoso Activity Log");
|
||||
RetentionPolicySetup.Validate("Apply to all records", true);
|
||||
RetentionPolicySetup.Validate("Retention Period", SixMonthRetentionPeriod());
|
||||
RetentionPolicySetup.Validate(
|
||||
"Retention Period",
|
||||
RetentionPolicySetupMgt.FindOrCreateRetentionPeriod("Retention Period Enum"::"6 Months"));
|
||||
RetentionPolicySetup.Validate(Enabled, false); // the administrator opts in to deletion
|
||||
RetentionPolicySetup.Insert(true);
|
||||
end;
|
||||
|
|
@ -26,21 +26,6 @@ codeunit 50564 "Contoso Reten. Pol. Default"
|
|||
UpgradeTag.SetUpgradeTag(DefaultPolicyTag());
|
||||
end;
|
||||
|
||||
local procedure SixMonthRetentionPeriod(): Code[20]
|
||||
var
|
||||
RetentionPeriod: Record "Retention Period";
|
||||
begin
|
||||
RetentionPeriod.SetRange("Retention Period", RetentionPeriod."Retention Period"::"6 Months");
|
||||
if RetentionPeriod.FindFirst() then
|
||||
exit(RetentionPeriod.Code);
|
||||
|
||||
RetentionPeriod.Code := CopyStr(UpperCase(SixMonthsTok), 1, MaxStrLen(RetentionPeriod.Code));
|
||||
RetentionPeriod.Description := SixMonthsTok;
|
||||
RetentionPeriod.Validate("Retention Period", RetentionPeriod."Retention Period"::"6 Months");
|
||||
RetentionPeriod.Insert(true);
|
||||
exit(RetentionPeriod.Code);
|
||||
end;
|
||||
|
||||
local procedure DefaultPolicyTag(): Code[250]
|
||||
begin
|
||||
exit('Contoso-ActivityLogDefaultPolicy-20260910');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue