Welcome to Snapshot 2.0. It is the same name but _everything_ has changed. For starters, it is a ground-up rewrite. Honestly, that was the easiest way to bring in all the changes and additions that we were dreaming about for a while now. Hold on to your britches, here is a gist of all the changes:
- DXCode Repository Integrations
- Workflow Scheduler
SnapShot was always designed with productivity in mind. It made a lot of manual tasks faster, easier or less laborious. When we started designing 2.0, you were saying the same thing but just asking for more. So, we delivered. We put that productivity idea on steroids. The easiest way to accomplish this was to start from scratch. So, we did. The result is a much better, faster, more modular codebase now. The comparison, put simply, is if SnapShot was dialup, 2.0 is cable internet. And it is visible. Just run a Data Dictionary report in your Org to see for yourself.
Everyone’s favorite keyword is now part of 2.0’s DNA. Snapshot 2.0 is written with DX in mind. The neat part is that given the modular architecture of the Player, DX is simply a plugin. So, you can flip between metadata API and DX or use both at the same time. For example, if your code repository (which you can plug into, by the way – see next section) has metadata API, use that. If you have already used to DX and all your repos have DX compatible files, simply use that. If your developers use DX and you use metadata, you get the picture, it is a match made in heaven.
Code Repository Integrations
Snapshot 2.0 has the ability to plug into various code repositories (think Git, Github, SVN, TFS etc.) using DX-like command line toolkits. It can issue calls to fetch your Apex code, Org metadata, whatever and create a 2.0 specific backup. This base can be used to migrate whatever pieces that you want to whatever Org you want. Think: Pull from code repos to one deployment pipeline + sync with another production pipeline seamlessly.
Snapshot 2.0 gives you the ability to define visual deployment pipelines (drag-drop, connect Orgs and view pipelines). Right-click on everything to select stuff, export reports, delete instead of moving to a menu to do every single thing. And most importantly, better colors and even sounds.
As the size of Orgs grew, you told us that we needed improvements in two aspects – Speed and Inline differences. We address both in 2.0. The diff engine is much better and faster now. You can also view differences, merge differences and use the inbuilt sliders (look for hamburger style lines in Compare Assets, Deploy Assets, etc.) to view XML diff without leaving the current view.
Check it out! We think it rocks.
Did you know that metadata API is still the grand-daddy of DX? Things are changing fast, but there are still some key elements that are done better in the metadata API. So, we still use the metadata API to execute migrations. However, there are some key differences in the functionality. For starters, how about viewing Org changes made after the backup was created (Know before you deploy)? Or automatically tracked change lists, so you don’t have to search or re-create the change lists. Or optionally, cleaning up broken references with a click of a checkbox. Or sliders to quickly view of differences between Org as part of the deployment. Or a kick-ass workflow scheduler to automate post deploy steps like emailing deployment errors or taking a destination snapshot when successful? Big migrations, bring it on!
Reports, Oh! The Reports that we brought into 2.0! Think security: Record Level Security reports to tell you why someone has access to a record; User Access Timeline which gives you a breadcrumb report to track metadata and data changes made by a user over a period of time; Profile and Permission Sets report to tell you the true and final Apex or FLS access by crunching profile and permissions that a user has been assigned; Apex Code Coverage to make sure your code is always meeting that high standards that you are setting for your team. And all of these can be scheduled – think notifications when unauthorized metadata changes are made; think weekly changes in permissions are sent to your Chatter feed or Inbox. It is essentially designed to make you an admin rockstar even if you are doing a 9-5.
Any report, any backup, any deployment can be scheduled. But, that is not the best part. The best part is that these actions trigger events. Which means that you can define daisy chained actions based on these events. For example, whenever a new snapshot is taken, a Comparison Report can be taken and emailed to a distribution list. Or whenever a scheduled deployment runs, it can post a Chatter Post with results only if there are errors and it can be followed by a new snapshot of the destination Org. It just works! And it is glorious!
In conclusion, 2.0 rocks and we sort of expect everyone to jump on this pretty much immediately. However, we realize change takes time. So, we intend to work with you on your migration timeline but don’t stay on legacy for too long. The future awaits us.