Best Practice Analysis

Enterprise

Best Practice Analysis scans your crawled solutions against 12 rules covering naming conventions, security, performance, design, and documentation. It identifies issues before they become problems.

What It Analyzes

Best Practice Analysis examines every component discovered during a crawl and evaluates it against a set of rules. Each rule checks for a specific pattern, anti-pattern, or configuration issue that could impact maintainability, performance, security, or user experience.

The analysis runs entirely within Dataverse using plugin logic — no data leaves your environment. Results are stored in Cartographer's database and can be reviewed, resolved, and tracked over time.

How to Run Analysis

  1. 1Navigate to Solution Manager in the Cartographer app
  2. 2Select the solution you want to analyze
  3. 3Click Run Best Practice Analysis in the command bar
  4. 4Wait for the analysis to complete (typically 10-30 seconds)
  5. 5View results in the Best Practices tab of the solution detail view
Best Practice Analysis uses data from the most recent crawl. For the most accurate results, re-crawl the solution before running the analysis.

Severity Levels

Critical

Issues that pose a security risk, can cause data loss, or significantly impact system reliability. These should be addressed immediately.

Warning

Issues that may cause problems over time or indicate a deviation from best practices. These should be reviewed and addressed when possible.

Info

Suggestions for improvement that are not urgent. These are recommendations that can improve code quality and user experience over time.

Rules Reference

The following 12 rules are checked during every Best Practice Analysis run:

IDRuleSeverityCategoryWhat It Checks
BP-001Publisher Prefix ConsistencyWarningNamingAll components in a solution should use the same publisher prefix
BP-002Table Display Name ConventionInfoNamingTable display names should use PascalCase or Title Case consistently
BP-003Column Description RequiredWarningDocumentationCustom columns should have a description explaining their purpose
BP-004No Unused ColumnsWarningDesignCustom columns that appear on no forms or views may be unused
BP-005Plugin Step Isolation ModeCriticalSecurityPlugin steps should run in sandbox isolation mode for security
BP-006Async Preferred for Non-CriticalWarningPerformancePost-operation plugin steps that are not user-facing should prefer async mode
BP-007Cloud Flow Error HandlingCriticalReliabilityCloud flows should have error handling (try-catch) configured on key actions
BP-008Security Role Least PrivilegeCriticalSecurityCustom security roles should not grant Organization-level access to sensitive tables
BP-009Environment Variable UsageInfoDesignHardcoded URLs or connection references should use environment variables
BP-010Form Tab OrganizationInfoUXForms with more than 8 tabs may benefit from consolidation
BP-011View Column CountInfoPerformanceViews with more than 10 columns may cause performance issues and poor UX
BP-012Business Rule ScopeWarningDesignBusiness rules scoped to Entity run server-side and can impact API performance

Resolving Issues

Each issue in the Best Practice results can be managed:

  • Mark as Resolved — after fixing the issue in your solution, mark it as resolved. It will not reappear in future analysis runs unless the issue returns.
  • Acknowledge / Ignore — if the issue is intentional (e.g., Organization-level access for a reporting role), you can acknowledge it. Acknowledged issues appear in a separate tab.
  • View Component — click through to the component detail to see the full metadata and AI summary for context.
Best Practice Analysis results are tracked over time. You can view historical trends to see whether your solution health is improving or degrading across crawl cycles.