referenceliving
BaseCamp – Assigned People Synchronization
How the BaseCamp Dataverse plugin synchronizes HC, TA, and FA values from Assigned People records to the Application table.
#Overview
BaseCamp maintains three primary business roles for every application:
- Hosting Coordinator (HC)
- Technical Advisor (TA)
- Functional Advisor (FA)
Rather than requiring users to manually update these values in multiple locations, a Dataverse plugin automatically synchronizes the Application record whenever Assigned People information changes.
#Business Requirement
The Application record should always display the current HC, TA, and FA assignments.
This information is used throughout BaseCamp for:
- Application General tab
- Reporting
- Dashboards
- Notifications
- Future workflow automation
Maintaining a single source of truth reduces manual updates and prevents inconsistent data.
#Solution Architecture
Assigned People (App User Roles)
│
▼
Dataverse Plugin
│
▼
Determine HC / TA / FA
│
▼
Update Application Record
│
▼
Forms • Dashboards • Reports
#Components
| Component | Purpose |
|---|---|
| Application | Stores current HC, TA and FA values |
| App User Roles | Stores assigned personnel and roles |
| Dataverse Plugin | Synchronizes Assigned People to Application |
| General Tab | Displays synchronized values |
#Business Rules
- Plugin executes when Assigned People records are created or updated.
- HC, TA and FA values are synchronized to the related Application record.
- The Application table serves as the reporting source.
- Users should not manually update HC, TA or FA directly on the Application record.
#Data Migration
- Initial data migration did trigger plugin execution instantly and updated the parent application records automatically.
- After migration, standard Create/Update operations automatically keep records synchronized.
- However, for a few records the data was not updated, likely due to bulk create/update operations in parallel; those records were identified via script and updated manually.
- Refactored the plugin code to support bulk create/update.
#Troubleshooting
| Symptom | Resolution |
|---|---|
| HC/TA/FA missing | Verify Assigned People record exists |
| HC/TA/FA not updated | Update manually from the back end |
| Incorrect values | Validate Assigned People role assignments and update manually |
| Existing data not synchronized | Run bulk synchronization process |
#Future Enhancements
- Support multiple assignees per role.
- Capture synchronization audit history.
- Generate notifications when assignments change.
- Improve logging for troubleshooting.