|
| 1 | +# SandboxBerry |
| 2 | +A tool for copying test data into Salesforce sandboxes |
| 3 | + |
| 4 | +# What is this for? |
| 5 | + |
| 6 | +During Salesforce development you will generally create Sandboxes based on your production environment, and then |
| 7 | +do development in the Sandbox. Most Salesforce Sandboxes are blank (except for the more expensive ones). Generally to do |
| 8 | +some development you're going to want some data in there, for example |
| 9 | + |
| 10 | +* Any reference tables/objects you've created (e.g. Country__c - a list of countries) |
| 11 | +* Some sample data in the main tables to experiment with during development. |
| 12 | + |
| 13 | +So ... you can try and copy some data accross using DataLoader or an ETL tool, but you'll quickly find: |
| 14 | + |
| 15 | +* Ids of each row of data change when you transfer it to the Sandbox, which makes things difficult with related data |
| 16 | +(e.g. Accounts and Contacts) |
| 17 | +* You will sometimes have different fields in your Sandbox (old fields removed, new fields added) |
| 18 | +* Users who are owners of records may have been deactivated in production or might be missing from the Sandbox, |
| 19 | +making it difficult to transfer their records |
| 20 | + |
| 21 | +SandboxBerry can help with these problems. |
| 22 | + |
| 23 | +This is how SandboxBerry works: |
| 24 | + |
| 25 | +* You give it a list of Salesforce objects (in the form of an XML file) |
| 26 | +* optionally you can specify filters for those objects in SOQL syntax |
| 27 | +* SandboxBerry will then transfer the data for those objects from your Source (usually Production) to a Target (always a Sandbox) |
| 28 | +* While transferring the data, it fixes the following problems: |
| 29 | +** Relationships between objects will automatically be preserved, substituting new Ids for the old Ids |
| 30 | +** Any inactive or missing users will be defaulted to the user specified by you |
| 31 | +** Only the objects fields that are present in both Source and Target will be transferred |
| 32 | +* Optionally, you can skip specific fields or hard-code their values in the Target - this can be useful for anonymisation |
| 33 | + |
| 34 | +Please note that SandboxBerry takes some liberties with the data to get it to fit into your sandbox (e.g. changing the owner |
| 35 | +of records). The idea is: Its test data, so its better to have something rather than nothing. However this means that SandboxBerry |
| 36 | +should not be used for transferring **into** a production instance. Because of this, SandboxBerry will only allow you to specify Sandboxes |
| 37 | +as the target. |
| 38 | + |
| 39 | +# Getting Started |
| 40 | + |
| 41 | +SandboxBerry is a windows application written in C# and uses the .NET Framework 4.5. |
| 42 | +Visual Studio 2012 was used for the initial project but it should be easily loadable in more recent versions of VS. |
| 43 | +Download the solution and ooen it in VS |
| 44 | + |
| 45 | +tbc |
| 46 | + |
0 commit comments