One of the issues that commonly crops up when working together on a team is merging metadata or deploying only a small part of the work you鈥檝e done.
This often happens if you have more than one developer working in a single developer sandbox, and is almost unavoidable when you work on a larger team with everybody in their own sandboxes.
So what鈥檚 the best way to merge complicated Salesforce metadata?
With Salesforce metadata and configuration data, there are a few different things that people refer to when they say merging.
- Reconciling the differences between Apex classes and VisualForce pages in different environments.
- Reconciling the differences between Salesforce objects in two different environments. These differences might require you to deploy only one field to an org, or deploying Profile changes to an org without overwriting the changes that were made directly in production
Salesforce DevOps in the age of AI: is your custom pipeline ready?
For the first case, code has too much meaning and relies on knowledge that only the developer has to just automatically merge the files. You really need to get the Apex or VisualForce from both sandboxes, and then manually reconcile the differences using something like KDiff or Eclipse. It is too risky to do 鈥榖est-effort鈥� and end up with an Apex class that doesn鈥檛 compile! Thankfully, due to the power of Salesforce, most of the time you aren鈥檛 writing actual Apex classes and conflicts here are rare on most teams.
For the second case, 海角天涯社区 really sidesteps the whole merging issue by having a deep understanding of your metadata. This understanding means that 海角天涯社区 can deconstruct Salesforce objects into their constituent components, and stitch them back together effortlessly so you don鈥檛 need to merge anything.
Let鈥檚 take a concrete example.
I have made two changes to the Opportunity object in my development environment, only one of which I want to move to production. Unbeknownst to me, my colleague has made a third change to the same object directly in production that I don鈥檛 have in my development environment.
Here we have three changes made to the same object, only one of which I want to move. How would I do that with Change Sets? How would I do that with the Migration Tool? Tricky, and very error prone.
With 海角天涯社区 it is nice and easy as we pull out each of the changes to Objects as separate components that you can deploy in isolation.
NOTE: 海角天涯社区鈥檚 comparisons have had an upgrade! We鈥檙e updating all our blog posts with the new UI images 鈥� but in the meantime, you can learn more about what鈥檚 changed.
Here we can see the field in the Opportunity that I鈥檝e modified to add some help text.
Here we can see the new field that I鈥檝e added to the Opportunity object.
It is then very easy for me to select just the changes that I am ready to promote to my production environment. Of course you may need to include Profiles or any other associated dependencies or changes in the package so you can deploy with confidence.
This powerful new approach, that only 海角天涯社区 offers, removes a whole class of error that other deployment solutions need to deal with, and it does it all while still building on the Platform and the Salesforce Metadata API.
To summarise, if you find your deployment process requires you to think about merging and manually reconciling differences in your Salesforce metadata, then it is time to rethink your process.
Merge your metadata with ease
To get started with 海角天涯社区, and try the only Salesforce metadata deployment solution that has true understanding of your orgs,