You CAN Do It: Moving Metadata Between Production Instances

When implementing a new Salesforce instance from an existing one, sometimes it’s not just the data you need to move. It’s the heavy stuff: Metadata. Without a developer this may seem overwhelming. Thankfully, there are more than a few tools to accomplish this. I solved my problem with Sublime Text 3 and MavensMate.

My use case was configuring a fresh production instance. That’s easy. Except the client had proprietary custom objects that needed to migrate. Easy-peasy. I can just use a change set! WRONG!

Wait… I can’t do this with a change set?!
Change sets are (mostly) lovely for moving custom objects and fields, sharing rules, page layouts and record types, and even workflow and validation rules. But they only work between sandbox and production environments.

Trust me, this can’t be done natively.

In order to move custom objects from one production instance to another, you must follow this recipe:
1. Text Editor: Sublime Text 3, Eclipse
2. IDE: MavensMate , IDE
3. Source Code Management: Git , Java

Sublime Text 3 and MavensMate and Git
Sublime Text 3 is a text editor with style, and MavensMate is an open-source IDE with smooth lines. Git is the genius man behind the curtain.

MavensMate has a clean and simple interface, clearly labeled function tabs (credentials, metadata selection, deployment and debugging options, error reports, etc.) with drop downs, checkboxes, and big buttons to queue actions. Any errors are easily remediable by toggling back to the metadata tab, making adjustments, and hitting the big Validate Deployment button again. A huge selling point is that each deployment does not set you back to the beginning.

Aside from expected debugging and now-obvious errors (profiles with every push, folks!), using this recipe made it easy as pie. IDE and Eclipse and Java
I know what you’re thinking. What about the IDE and the Eclipse? For most people, this may be their first choice (read: developers). Some of us are averse to code. We see brackets and parenthesis and ANDs and ORs and run in the opposite direction.

Eclipse is a mighty powerful application. I bet thousands of developers look at this every day and know how to use each and every one of these 30+ icons that have no hover text… whatsoever. I was completely overwhelmed and out of my league. The UI is traditional cascading windows and menus inside of menus. Very Windows ‘98. While you can reopen a project after validation fails, the process seems barbaric in comparison to MavensMate’s UI.

The Cherry on Top
When all was said and done (and I’d made the custom object tabs visible and accessible to all profiles), I had a fresh org with custom objects and a happy client. Best tip learned at Dreamforce: Make friends with a developer. I asked my developer friend for help with Eclipse, and he said, “Friends don’t let friends use Eclipse.”