Reading list Switch to dark mode

    Migration of packages through Force.com migration tool

    Updated 28 December 2016

    In this blog we will learn Migration of packages through Force.com migration tool, i.e. migrating a package from one org to another with the use of force.com migration tool.

    Prerequisites

    You should have following software installed in your system

    • Java version 1.7.0_21
    • Apache Ant version 1.7.0

    Steps to follow for force.com migration

    Step 1: Download Force.com migration tool

    You can download the tool from the following link: Force.com migration tool
    extract it in the root folder, so that you can access it through terminal easily.

    Step 2: Open the terminal

    Searching for an experienced
    Salesforce Company ?
    Find out More

    1) Open the salesforce_ant_38.0 folder.
    2) Open the sample folder.

    step1

    Retrieving the data of an org

    Step 1: Open The build.properties folder through editor

    1) Go to salesforce_ant_38.0 > sample > build.properties. Open with editor.
    2) Insert your user name and password of the org which contains the package you want to migrate.

    <!-- 
    /**
     * Webkul Software.
     *
     * @category  Webkul
     * @author    Webkul
     * @copyright Copyright © 2000-2016 salesforce.com, inc. All rights reserved.
     */
     -->
    
    # Specify the login credentials for the desired Salesforce organization
    sf.username = <Insert your Salesforce username here>
    sf.password = <Insert your Salesforce password here>//password+securitytoken

    Step 2: Open The build.xml folder through editor

    1) Go to salesforce_ant_38.0 > sample > build.xml. Open with editor.
    2) Insert your user name and password of the org which contains the package you want to migrate.

    <!-- 
    /**
     * Webkul Software.
     *
     * @category  Webkul
     * @author    Webkul
     * @copyright Copyright © 2000-2016 salesforce.com, inc. All rights reserved.
     */
     -->
    
    <condition property="sf.username" value="<Insert your Salesforce username here>"> <not> <isset property="sf.username"/> </not> </condition>
    <condition property="sf.password" value="<Insert your Salesforce Password+token here>"> <not> <isset property="sf.password"/> </not> </condition>
    

    Step 3: Retrive the data of package from org to system

    1) Create a folder of the package name you want to migrate. For ex- “mypackage”
    2) Now, in build.xml you will find a target tag mention below. Apply the changes as per your need.

    <!-- 
    /**
     * Webkul Software.
     *
     * @category  Webkul
     * @author    Webkul
     * @copyright Copyright © 2000-2016 salesforce.com, inc. All rights reserved.
     */
     -->
    
    <target name="test">
          <!-- Upload the contents of the "mypkg" package -->
          <!--<sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" deployRoot="mypkg" rollbackOnError="true"/>
          <mkdir dir="retrieveOutput"/>--><!--Comment the sf:deploy tag while you are retrieving data-->
          <!-- Retrieve the contents into another directory -->
          <!--Mention the name of your folder-->
          <sf:retrieve username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" retrieveTarget="mypackage" packageNames="Package Name"/>
    </target>
    

    Step 4: Go to terminal. Write “ant” and press enter
    step2

     

    Deploy the data to an org

    Step 1: Open The build.properties folder through editor

    1) Go to salesforce_ant_38.0 > sample > build.properties. Open with editor.
    2) Insert your user name and password of the org in which you want to deploy the package.

    <!-- 
    /**
     * Webkul Software.
     *
     * @category  Webkul
     * @author    Webkul
     * @copyright Copyright © 2000-2016 salesforce.com, inc. All rights reserved.
     */
     -->
    
    # Specify the login credentials for the desired Salesforce organization
    sf.username = <Insert your Salesforce username here>
    sf.password = <Insert your Salesforce password here>//password+securitytoken

    Step 2: Open The build.xml folder through editor

    1) Go to salesforce_ant_38.0 > sample > build.xml. Open with editor.
    2) Insert your user name and password of the org in which you want to deploy the package.

    <!-- 
    /**
     * Webkul Software.
     *
     * @category  Webkul
     * @author    Webkul
     * @copyright Copyright © 2000-2016 salesforce.com, inc. All rights reserved.
     */
     -->
    
    <condition property="sf.username" value="<Insert your Salesforce username here>"> <not> <isset property="sf.username"/> </not> </condition>
    <condition property="sf.password" value="<Insert your Salesforce Password+token here>"> <not> <isset property="sf.password"/> </not> </condition>

    Step 3: Remove the namespace from package.xml

    1) Go to salesforce_ant_38.0 > sample > mypackage(The folder you mentioned in retrievetarget above) > package.xml. Open with editor.
    2) You will find description of the package.

    <!-- 
    /**
     * Webkul Software.
     *
     * @category  Webkul
     * @author    Webkul
     * @copyright Copyright © 2000-2016 salesforce.com, inc. All rights reserved.
     */
     -->
    
    <fullName><Package Name></fullName>
    <apiAccessLevel>Unrestricted</apiAccessLevel>
    <description><Description></description>
    
    <!--Remove the name space mentioned here, otherwise it will throw error-->
    <namespacePrefix><namespace></namespacePrefix>

    Step 4: Deploy the data of package from system to org

    1) Now, in build.xml you will find a target tag mention below. Apply the changes as per your need.

    <!-- 
    /**
     * Webkul Software.
     *
     * @category  Webkul
     * @author    Webkul
     * @copyright Copyright © 2000-2016 salesforce.com, inc. All rights reserved.
     */
     -->
    
    <target name="test">
          <!-- Upload the contents of the "mypackage" package -->
          <sf:deploy username="${sf.username}" password="${sf.password}" sessionId="${sf.sessionId}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" deployRoot="mypackage" rollbackOnError="true"/>
          <!comment the sf:retrieve tag while deploying-->
          <!--<mkdir dir="retrieveOutput"/>-->
          <!-- Retrieve the contents into another directory -->
          <!--<sf:retrieve username="${sf.username}" password="${sf.password}" sessionId="${sf.sessionId}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" retrieveTarget="retrieveOutput" packageNames="MyPkg"/>-->
    </target>

    Step 5: Go to terminal. Write “ant” and press enter

     

    Support

    That’s all for Migration of packages through Force.com migration tool, still have any issue feel free to add a ticket and let us know your views to make the code better https://webkul.uvdesk.com/en/customer/create-ticket/

     

    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    Be the first to comment.

    Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home

    Table of Content