Animal Shelter Starter provides the foundation to use Salesforce for managing animals, treatments, conditions, housing and related activities.
The team within Salesforce.org have configured Animal, Treatment, Condition, Adoption and Exercise objects, along with Flows and Automation which you can install and adapt to your requirements, in addition, these are already linked to standard objects within Salesforce, such as Contacts and Accounts.
Animal Shelter Starter is built to scale with your organisation, providing you with a foundation to begin managing your animals from rescue to recovery and beyond. Utilising the Salesforce platform, you will be able to take full control of your operations with the power of the world’s leading CRM.
- Visit the Animal Shelter Starter listing on the AppExchange
- Click "Get It Now" and select your target org
- Choose installation options:
- Install for Admins Only (recommended for initial setup)
- Install for All Users (after configuration is complete)
- Review and accept permissions
- Complete the installation
Prerequisites:
- Salesforce CLI installed
- Access to target sandbox/production org
Steps:
-
Clone this repository:
git clone https://github.com/SalesforceLabs/AnimalShelterStarter.git cd AnimalShelterStarter -
Authorize your target org:
sf org login web --alias production # or for sandbox: sf org login web --alias sandbox -
Deploy the metadata:
sf project deploy start --target-org production # or for sandbox: sf project deploy start --target-org sandbox -
Assign the Animal Shelter Starter permission set to users:
sf org assign permset --name "Animal_Shelter_Starter" --target-org production
- Setup Custom Settings: Configure any custom settings required for your organization
- Data Import: Use Data Import Wizard or Data Loader to import existing animal data
- User Training: Ensure users are trained on the new objects and processes
- Testing: Thoroughly test all functionality in a sandbox before production deployment
Please note that you must have access to the managed package namespace before you can work on this package. Please reach out to the team if you are internal to Salesforce and want to work on this package.
- VSCode > https://code.visualstudio.com/download
- Salesforce Extension Pack > https://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode
- Salesforce CLI > https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli.meta/sfdx_cli/sfdx_cli_install.htm
- Git > https://git-scm.com/downloads
- GitHub Desktop (Optional) > https://docs.github.com/en/desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop
Request access to the DevHub from Stewart Anderson. The DevHub is required for creating namespaced scratch orgs for managed package development.
- Open the command palette in VSCode (
Cmd + Shift + Pon Mac,Ctrl + Shift + Pon Windows) - Select "SFDX: Authorize a DevHub"
- Login with your provided credentials
- Verify connection with:
sf org list --all
-
Fork and Clone: Fork the repository and clone your fork locally
git clone https://github.com/YOUR-USERNAME/AnimalShelterStarter.git cd AnimalShelterStarter -
Create Feature Branch: Always create a new branch from master
git checkout master git pull origin master git checkout -b feature/your-feature-name
Since this is a managed package, you must use namespaced scratch orgs for development:
-
Create Namespaced Scratch Org:
sf org create scratch --definition-file config/project-scratch-def.json --alias dev-org --duration-days 30 --set-default
-
Deploy Source:
sf project deploy start --source-dir force-app
-
Open Scratch Org:
sf org open --target-org dev-org
-
Make Changes: Develop your feature/fix in the scratch org
- Add new objects, fields, flows, etc.
- Update the Animal Shelter Starter permission set with any new permissions
- Test functionality thoroughly
-
Retrieve Changes:
sf project retrieve start --source-dir force-app
-
Version Control:
git add . git commit -m "Description of your changes" git push origin feature/your-feature-name
-
Create Pull Request:
- Go to GitHub and create a PR from your feature branch to
master - Include detailed description of changes
- Add screenshots/videos if UI changes are involved
- Go to GitHub and create a PR from your feature branch to
- Namespace Awareness: All custom objects, fields, and components will be automatically namespaced
- Permission Sets: Always update the Animal Shelter Starter permission set when adding new metadata
- Testing: Include appropriate test coverage for any Apex code
- Documentation: Update relevant documentation for new features
- Namespace Issues: Ensure you're using a namespaced scratch org from the correct DevHub
- Permission Errors: Verify the Animal Shelter Starter permission set includes all necessary permissions
- Deployment Failures: Check for missing dependencies or incorrect API versions
# Check org info
sf org display --target-org dev-org
# View org limits
sf org display limits --target-org dev-org
# Delete scratch org
sf org delete scratch --target-org dev-org
# Run tests
sf apex run test --test-level RunLocalTests --target-org dev-org