Skip to content

DynamicsSuite v1.0.2 — Power Pages Web API Auditor Lookup SchemaName Support

Choose a tag to compare

@BigSceneUK BigSceneUK released this 17 Oct 16:30
· 16 commits to main since this release

🔷 DynamicsSuite v1.0.2 — Power Pages Web API Auditor Lookup SchemaName Support & Dual Registration

Contributed by BigSceneUK.


🛡️ Power Page API Wildcard Auditor (v1.2.0)

  • Dataverse Column Casing & Lookup Resolution (@odata.bind):
    • In Dataverse, every column possesses two internal names:
      • Logical Name: Always forced to lowercase (e.g. app_candidate).
      • Schema Name: Preserves the original capital letters (e.g. app_Candidate).
    • OData v4 Navigation Properties: In Power Pages Web API, POST and PATCH requests on Lookup fields require @odata.bind notation (e.g., "app_Candidate@odata.bind": "/contacts({{user.id}})"). Dataverse generates @odata.bind navigation property names from the column's case-sensitive Schema Name.
    • Power Pages Gatekeeper Validation: When incoming payload keys are inspected, Power Pages strips @odata.bind and checks whether the resulting identifier (app_Candidate) is listed in the Webapi/<table_name>/fields site setting.
    • The Fix: Previously, lowercase normalization converted app_Candidate into app_candidate, causing Power Pages runtime Error 90040101 ("Attribute app_Candidate is not enabled"). The auditor now discovers, preserves, and whitelists both names:
      • Lowercase Logical Name (e.g., app_candidate / _app_candidate_value) for GET reading queries.
      • Mixed-case Schema Name (e.g., app_Candidate) for POST/PATCH Lookups using @odata.bind.
  • Smart Filter & Metadata Alignment:
    • filter_table_attributes() now retains both lowercase Logical Names and mixed-case Schema Names without lossy case-insensitive deduplication.
    • get_table_attributes() queries and registers Schema Names for all lookup/customer/owner attributes.
    • All recommendation tiers (strict, forms, server) and unprojected wildcard * remediation automatically ensure dual registration for lookups.
    • Payload extraction from JSON.stringify now records both the exact payload key and lowercase logical counterpart.

🚀 DynamicsSuite Core Updates (v1.0.2)

  • Diagnostics & Feedback: Updated Core version indicator to v1.0.2 in core/ui/feedback_dialog.py.
  • Direct GitHub Releases Link: The official web portal at https://bigscene.uk/DynamicsSuite/ now links directly to the latest GitHub release page, eliminating the need to maintain duplicate installer paths.
  • Catalog Feeds: Updated root and web portal plugin catalogs with portal_webapi_auditor v1.2.0.

📦 Quick Start & Download

  1. Download DynamicsSuite-latest.zip or DynamicsSuite-v1.0.2.zip from this release.
  2. Extract the archive and launch:
    • Windows: Double-click start.bat (or run start.ps1)
    • macOS / Linux: Run ./start.sh