Skip to content

[Publisher] Transformation Rule Card: extensible “Update result” transform #29882

@fvet

Description

@fvet

Why do you need this change?

Partners who need to run extra logic when the user runs a test transform (for example persisting the test text via a table extension) currently cannot hook the built-in Test group on page Transformation Rule Card (1238). The drill-down on the update control runs closed logic inside the base page, and TestText / ResultText are not available to page extensions in a supported way.

The practical workaround is to hide the standard Test group and re-implement it with duplicate fields and page variables, which duplicates UI, captions, tooltips, and behaviorÔÇöand risks drifting from the base app when Microsoft changes the page.

We need a first-class extension point so we can keep the standard group and only add behavior (e.g. after TransformText), without cloning the layout.

Describe the request

Describe

Current behavior

On page Transformation Rule Card (1238), the Test group contains test input, result output, and an update control (drill-down) that executes the transform flow.
That flow and page state are not extensible enough for partner scenarios:

  • The update/drill-down logic is not surfaced through an extensibility hook.

Because of this, partners that need to add post-transform behavior (for example logging test text) must hide the standard Test group and duplicate it in a page extension, which is brittle and hard to maintain.

Requested changes

  1. Make update/transform flow extensible

    • Move the logic currently executed from the update control drill-down into a dedicated page procedure, for example:
      • local procedure UpdateTransformationTestResult()
    • Publish a new event after the base transform logic, for example:
      • OnAfterUpdateTransformationTestResult(var TransformationRule: Record "Transformation Rule"; TestText: Text)
  2. Outcome expected

    • Partners can keep the standard Test group visible.
    • No need to clone base UI just to add logic after running a test transform.
    • Reduced upgrade risk and better maintainability.

Suggested event name

OnAfterUpdateTransformationTestResult

Publisher example (base app)

local procedure UpdateTransformationTestResult()
begin
    ResultText := Rec.TransformText(TestText);

    OnAfterUpdateTransformationTestResult(Rec, TestText);
end;

[IntegrationEvent(false, false)]
local procedure OnAfterUpdateTransformationTestResult(var TransformationRule: Record "Transformation Rule"; TestText: Text)
begin
end;

Example partner scenario

After user clicks update in the Test group:

  • Base app computes ResultText.
  • Extension runs extra logic (e.g. TransformationRule.AddLog(TestText)) via OnAfterUpdateTransformationTestResult.
  • UI remains the standard Microsoft UI (no duplicated Test group).
Image Internal work item: [AB#629744](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/629744)

Metadata

Metadata

Assignees

No one assigned

    Labels

    IntegrationGitHub request for Integration areaevent-requestRequest for adding an event

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions