Challenge Overview

Challenge Overview / Detailed Requirements

Overview

Welcome to the Move Data Between Salesforce Orgs - Proof of Concept challenge.

This challenge is about solving a familiar problem: The difficulty of working on multiple Salesforce.com instances and the need to repeatedly, manually move data for various reasons. We want to build an automated process for the same.

Current state: Currently our client’s process consists of identifying the data they need in the target development org, using data loader to extract the data from production to some staging location, transforming, obfuscating, or omitting data that can't be seen by contractors or third party developers, and loading in to a target development org. It is manual and very time intensive. Also, there are various custom steps that must be done every time.

For this Challenge

This challenge is to build out a POC to move data between the orgs using at least 2 ETL tools out of the options given below and cover all the use cases listed.

Detailed Requirements

  • Create 2 developer orgs, one for Source and one for Target.

  • Load Sample Data into the Source Org, since you are working in Developer Orgs, max number of records you can load across all objects is 10,000.

  • Create a small program that queries that metadata of the Target org, taking into consideration the size and other attributes of the Target org to ensure we load the right amount of data.

  • Design and architect a user interface (UI) that will allow the user to

    • Select the Source and Target orgs
    • Select the Objects in the org that will provide data to be transferred from Source to Target

    • Using the program described above, determine the amount of data that will need to be transferredtransfered (as default)

  • Produce XML (or other format) of instructions and/or configuration data that can be used by your chosen ETL tool to perform the data extraction/transform/load

  • If possible, confirm the success/failure of the ETL process for reporting purposes.

  • Load Sample Data into the following objects, (fill up the Source org with max)

    • Account

    • Contact

    • Opportunity

    • Opportunity Line Items

    • Products

    • Campaigns

    • Case

  • Design a way to accomplish the obfuscation and masking functionality (take a look at Informatica Cloud Dataloader as an example)

Use Case – 1 – Full Data move

This is one of the simple use cases to move complete data between orgs. Below are the detailed requirements

  • Allow to execute the process on a scheduled basis or on demand basis
  • Move all the data from Source org into the target org.

  • On a scheduled execution or on repetitive execution, clear all existing data in target org and copy from source org. (no need to worry about deltas)

Use Case – 2 – Partial Data move

This use case focusing on partial data move between two Salesforce orgs, below are detailed requirements

  • Subset of data from multiple objects –

    • Move subset of data from source org to target org based on the custom where clause.

      • Examples, - where createdDate > LAST_WEEK, where StageName = ‘Closed - Won’ etc.

  • One Object and all its related children –

    • Select one object and all its related objects’ data.

      • Examples - Selecting Account Object will move data from Account, Contact, Opportunity, Cases and activities on Account.

  • Allow to execute the process on a scheduled basis or on demand basis

Data Move Tools

  • Jitterbit
  • Informatica Cloud Data loader
  • sfApex (this is a .NET form based soln. seems interesting)
  • Dataloader.io
  • DBAmp

Resources

1.     Jitterbit Data Loader – http://www.jitterbit.com/solutions/salesforce-integration/salesforce-data-loader/

2.     Informatica Cloud Data loader - https://appexchange.salesforce.com/listingDetail?listingId=a0N300000016cUTEAY

3.     DBAmp - http://www.forceamp.com/

4.   sfApex - https://www.sfapex.com/

 



Final Submission Guidelines

Submission Deliverables

  • Documentation – Please provide complete detailed documentation of your approach with all the various steps and design factors that you performed. A

  • Pros/Cons - Provide the details about the Pros/Cons of the tools used and document the functionality that you are not able to implement

  • Video - Video demonstrating POC of the above mentioned use cases for each of Dataloader tools (2 at least)

  • Code / Unmanaged Package - Provide Code modules or packages that are involved

  • Demo Orgs - Build the demo orgs and provide credentials for the same.

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30046997