acrosman / Salesforce-NpcEdu-Scratch

Scratch org definition files for Nonprofit Cloud and Education Cloud

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sample Salesforce Scratch Orgs

There is a shortage of public directions for how to setup Nonprofit Cloud and Education Cloud scratch org definitions. This project framework is meant to help other people find the patterns quickly.

There are two configurations included in this project (and really nothing else) for creating Salesforce scratch orgs that have the features for Nonprofit Cloud and Education Cloud.

To make use of these configurations you'll need setup SF cli and a Salesforce devhub. Complete Trailhead Quick Salesforce DX if you don't have those elements in place.

Nonprofit Cloud

Setup Command:

sf org create scratch -d -f config/nonprofit-cloud.json -a npc-org

For details see: config/nonprofit-cloud.json

Features List:

  • AccountingSubledgerGrowthEdition Subledger is included in this sample. You can remove this from the feature list if you aren't using it for your project.
  • IndustriesActionPlan
  • AnalyticsQueryService
  • PublicSectorAccess
  • Assessments
  • Fundraising
  • Grantmaking I've included fundraising and grant making. You can remove one if you aren't using it. Please not that Grant making also includes some industry settings that may need to be disabled if this is removed.
  • IndustriesSalesExcellenceAddOn
  • IndustriesServiceExcellenceAddOn
  • MarketingUser
  • ProgramManagement
  • OmniStudioDesigner
  • OmniStudioRuntime
  • OutcomesManagement
  • EnableSetPasswordInApi
  • PersonAccounts

Industry Settings

The following specific industry settings are included.

  • enableGrantmaking: true – Grantmaking enablement switch
  • enableBenefitManagementPreference: true
  • enableBenefitAndGoalSharingPref: true
  • enableCarePlansPreference: true

There are three more you can add, but require another feature: IndustriesCompliantDataSharing:

  • enableCompliantDataSharingForFundingAward
  • enableCompliantDataSharingForBudget
  • enableCompliantDataSharingForIndividualApplication

Education Cloud

Setup Command:

sf org create scratch -d -f config/education-cloud.json -a edu-org

For Education Cloud the Salesforce help documentation notes that you need to complete the setup manually following the Education Cloud setup guide. However, there are a number industry settings that can be pre-set in the configuration to enable and disable these features.

For details see: config/education-cloud.json

Features List:

  • EducationCloud:10 Note that this includes a quantity parameter. I'm unclear why it's needed in this context but appears to be required.
  • Assessments
  • Fundraising I've included fundraising in this sample, because you can get Edu Cloud with it. If you aren't using Fundraising in the project you're testing you can remove this one.
  • AccountingSubledgerGrowthEdition I've included Subledger in this sample, because you can get Edu Cloud with it. If you aren't using Fundraising in the project you're testing you can remove this one.
  • IndustriesActionPlan
  • AnalyticsQueryService
  • PublicSectorAccess
  • IndustriesSalesExcellenceAddOn
  • IndustriesServiceExcellenceAddOn
  • LightningScheduler
  • LightningServiceConsole
  • MarketingUser
  • OmniStudioDesigner
  • OmniStudioRuntime
  • EnableSetPasswordInApi
  • PersonAccounts

Industry Settings:

  • enableIndustriesAssessment:: true
  • enableDiscoveryFrameworkMetadata: true
  • enableEducationCloud: true
  • enableStudentSuccess: true
  • enableAcademicOperations: true
  • enableAlumniRelations: true
  • enableCarePlansPreference: true
  • enableBenefitManagementPreference: true
  • enableBenefitAndGoalSharingPref: true

Note for forks and secret setup

If you create your own fork of this project and want the repo to successfully run the github actions you'll need to include the correct secret.

  1. On your local machine connect to the devhub you wish to use.
  2. Run sf org display -o [your devhub alias] --verbose
  3. Find the section labeled Sfdx Auth Url. You'll need that value as your secret.
  4. In your Github repo's settings, find Secrets and Variables, and open the subsection for Actions.
  5. Create a new repository secret called DEVHUB_SFDX_URL. Copy the secret value you found in step 3.

About

Scratch org definition files for Nonprofit Cloud and Education Cloud

License:BSD 2-Clause "Simplified" License


Languages

Language:JavaScript 74.2%Language:Shell 25.8%