A snapshot is connected to a live Salesforce Org, but a Developer Project is connected to a local folder that contains metadata assets files. Each folder can be in Metadata API or Salesforce DX format. Developer Projects can also be connected to online repositories like GitHub and Bitbucket. This interface is available by right clicking an item on the desktop and also from the Options Menu.
Developer Projects in Metazoa Snapshot offer a flexible and powerful way to manage your Salesforce metadata. Each Developer Project is akin to a Snapshot but is tied to metadata files in a local folder on your computer instead of a live Salesforce account.
Establishing a Developer Project
Set up a project location: Each project requires a parent folder. This can be any directory on your computer.
Choose project type: Developer Projects can come in four formats:
- Static local folders in Metadata API file format
- Static local folders in Salesforce DX file format
- Content repository in Metadata API file format
- Content repository in Salesforce DX file format
Populate your project with metadata files: You can populate your project by downloading metadata assets by package name, jobless file, package XML file, or a Snapshot limits file from a Salesforce org.
Take a Snapshot of the Project: After populating the project with metadata, take a Snapshot. This does not just put files in a folder but also prepares your project for reporting and metadata migrations.
Types of Developer Projects
Static Local Folder (Metadata API)
This format allows you to populate your project with metadata files, enabling you to manage them in a straightforward local folder structure.
Static Local Folder (Salesforce DX)
Salesforce DX offers additional flexibility and commands. Not only can you populate your project with metadata files but also execute tasks using Salesforce DX, like opening the terminal at the correct folder or working with your developer tools.
You can also interact with Scratch orgs, enabling you to create new scratch orgs, check their status, and synchronize changes between your local project and the scratch org by using 'push' and 'pull' source commands.
Content Repository (Salesforce DX)
A project linked to a remote content repository in Salesforce DX file format has unique commands for 'pull' and 'push'.
'Pull' commands bring your project from your repo and update it subsequently. For example, you may connect to a git server, checkout the desired package, and to update the repo, execute a pull command.
'Push' commands allow you to write changes to the repo. This is done by assembling the push commands using a template and then executing them.
Just like with a static local folder, you can open your project folder, use the terminal, and other developer tools. This setup provides a seamless integration of the browser, command line, Snapshot, and local file system to build your projects.
Working with Developer Projects
Once a snapshot of your project is taken, you can perform the following actions:
Reporting: You can run various reports on your projects. However, since the project is not a live Salesforce org, live data reports are not available.
Metadata management: You can push metadata into a project or pull metadata from it. This can be done whether the project is on a repo or not, depending on your setup.
Continuous Integration: Developer Projects enable continuous integration, allowing you to regularly integrate changes by updating the repo and setting up a new one if needed.
By effectively utilizing developer projects, you can flexibly manage your Salesforce orgs and handle metadata deployments with continuous integration.