This guide explains how to move Common Data Model for Nonprofits and the Fundraising, Grant Management, and Outcome Management solutions from the managed AppSource/PPAC versions to the equivalent build in this repository.
| Solution | Unique name | Publisher | Prefix |
|---|---|---|---|
| Common Data Model for Nonprofits | NonprofitCore |
microsoftdynamics365nonprofitaccelerator |
msnfp (84406) |
| Fundraising | SocialImpactFundraising |
microsofttechforsocialimpact |
sifund (86385) |
| Grant Management | SocialImpactGrants |
microsofttechforsocialimpact |
signt (67719) |
| Outcome Management | SocialImpactOutcomes |
microsofttechforsocialimpact |
sioutc (86386) |
The three template apps depend on the base data model NonprofitCore, so migrate it
first and keep it installed.
The GitHub build and the AppSource/PPAC build are the same solution. They share an identical unique name and publisher. As a result:
dotnet build on its own produces an unmanaged solution, which Dataverse rejects.1.0.3.1, and the Common Data Model source is 3.1.3.4. Increase the version if the installed version is higher.NonprofitCore first. Keep it installed and compatible before you migrate the apps that depend on it.There are no versioning scripts in this repository. Edit the <Version> element directly, and set it to the same as or higher than the installed version. To check the installed version, go to Power Apps (make.powerapps.com) > Solutions.
CommonDataModelforNonprofits/Solution/Other/Solution.xmlFundraising/Solution/Other/Solution.xmlGrantManagement/Solution/Other/Solution.xmlOutcomeManagement/Solution/Other/Solution.xmlMigrate Common Data Model for Nonprofits first, then each app, and repeat the flow in each environment.
NonprofitCore by using the build and import steps that follow, before the apps that depend on it.cd CommonDataModelforNonprofits # then Fundraising / GrantManagement / OutcomeManagement
dotnet restore
dotnet build --configuration Release
Output: bin/Release/<SolutionName>_managed.zip.
pac auth create --environment https://YOUR_ENVIRONMENT_URL
pac solution import --path bin/Release/SocialImpactFundraising_managed.zip --stage-and-upgrade
Two-step equivalent: pac solution import --path ... --import-as-holding then
pac solution upgrade --solution-name SocialImpactFundraising.
If sandbox validation fails, restore from the backup. A production upgrade isn’t easily reversible, which is why the rehearsal and backup are required.