Skip to content

Conversation

Copy link

Copilot AI commented Dec 16, 2025

Overview

The CoE Setup Wizard currently provides no indication of which features have been configured. Users cannot distinguish between fresh installs and partially-configured environments, and there's no mechanism to detect whether configuration changes were actually made versus simple navigation.

This is an analysis-only PR documenting the technical approach for implementing configuration state tracking. No code changes have been made yet, as issue #3354 was closed and consolidated into #10327.

Proposed Technical Approach

Data Model

Extend admin_SetupWizardStatemetadata entity with:

  • admin_ConfigurationStatus (OptionSet): NotConfigured | InProgress | Configured | Failed
  • admin_LastConfiguredDate (DateTime)
  • admin_ConfiguredBy (Lookup to SystemUser)
  • admin_ConfigurationHash (String): For change detection

Change Detection Pattern

// Calculate hash on form load
Set(initialHash, HashBytes(Concatenate(Field1, Field2, ...)));

// On save, compare states
If(
    HashBytes(Concatenate(Field1, Field2, ...)) <> initialHash,
    Patch('Setup Wizard State', {...}, {
        admin_ConfigurationStatus: 'Configured',
        admin_LastConfiguredDate: Now(),
        admin_ConfiguredBy: User()
    }),
    Notify("No changes detected")
)

UI Pattern

Button state logic:

If(
    ThisFeature.admin_ConfigurationStatus = 'Configured',
    "✓ Configured - Click to Reconfigure",  // Green
    "Configure this feature"                  // Blue
)

Affected Components

Entity Schema

  • /Entities/admin_SetupWizardStatemetadata/Entity.xml - 4 new fields

Canvas Apps (15 pages)

  • Initial Setup Page
  • Compliance Setup
  • Audit Log Setup
  • Template Catalog
  • Maker Assessment
  • Training in a Day
  • BVA, Video Hub, Environment Request, Teams Governance, Inactivity Process, Orphaned Objects, Pulse Feedback, Other Core

Workflows

  • New: SetupWizard-TrackConfigurationStatus - Updates status post-save
  • New: SetupWizard-ConfigurationNotification - Optional email alerts

Implementation Phases

  1. Entity Enhancement (1-2 weeks): Schema updates, security roles
  2. Core Pages (2 weeks): Initial/Compliance/Audit Log pages
  3. Remaining Pages (2 weeks): 12 additional setup wizard pages
  4. Testing (1 week): Fresh install, upgrade, re-config, multi-user scenarios
  5. Migration (1 week): Existing installation data backfill

Key Risks

  • Backward Compatibility: Existing installations need migration script to set initial status
  • Change Detection Accuracy: Hash normalization required for semantic equivalence
  • Performance: Additional Dataverse queries per page load (mitigate with caching)
  • Upgrade Scenarios: Status persistence across CoE version upgrades

Feasibility

✅ All required infrastructure exists:

  • Entity supports custom fields
  • Canvas apps already reference admin_SetupWizardStatemetadata
  • Existing orchestration flows provide integration points

Estimated effort: 6-8 weeks end-to-end


Note: Issue #3354 closed and consolidated into #10327. Awaiting direction on standalone implementation vs. consolidated approach.

Original prompt

This section details on the original issue you should resolve

<issue_title>Setup Wizard: Track what features have already been configured</issue_title>
<issue_description>### Is your feature request related to a problem? Please describe.

Hi Team,

Could we change the status on the card to 'Configured' instead of 'Configure Feature', once the configurations are done on CoE setup and upgrade Wizard.
As I am writing this, also thinking is there a way to identify if the user have even changed the settings. Because if the user goes in and don't change anything and comes out and the status changes from 'Configure Feature' to 'Configured' that is also not good. Also, we have to provide an option to get in again.

May be we can send an email to svc account that this feature is configured if its not possible on UI

Describe the solution you'd like

image

change 'Configure Feature' to 'Configured' or 'Done'

Describe alternatives you've considered

No response

Additional context?

No response

AB#3354</issue_description>

<agent_instructions>Analyze the enhancement request described in the ticket. Provide a comprehensive evaluation that includes:
Understanding & Summary
Summarize the enhancement request in clear, concise terms.
Identify the core problem the enhancement aims to solve.
Feasibility Assessment
Determine whether the requested enhancement is technically feasible.
If not feasible, explain the blockers or limitations.
Proposed Implementation Approach (only if feasible)
Outline the required code, architectural, or configuration changes.
Identify all affected files, components, or modules.
Describe potential risks, dependencies, or compatibility considerations.
Step‑by‑Step Implementation Plan
Provide a detailed, sequential explanation of what changes should be made.
Include reasoning behind each step to ensure clarity for reviewers and maintainers.
Deliver the analysis in a structured format using headings, bullet points, and code blocks when necessary.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@AmarSaiRam This issue is being closed as its scope is now included in a newly created consolidated enhancement request for centralized management of orphaned components (Apps, Flows, Connection References) in the CoE Starter Kit.

New Issue Reference: [CoE Starter Kit - Feature]: FEATURE TITLE Schema and Connector Stability Enhancements for CoE Star…

Thank you for your contributions</comment_new>


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Update setup wizard to track feature configuration status Analysis: Setup Wizard Configuration State Tracking Enhancement Dec 16, 2025
Copilot AI requested a review from harini-2-y December 16, 2025 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Setup Wizard: Track what features have already been configured

2 participants