JBoss.orgCommunity Documentation

Migrate with transparent configuration

Note

This section discusses how to migrate eXo Platform with only one server start-up. Every configuration will be put in 2 files:

Step 1. Prepare an environment.

1. Back up the eXo Platform 3.0 and its data.

2. Configure eXo Platform 3.5 to run with the eXo Platform 3.0 data as follows:

i. With Tomcat bundle, copy 2 folders "index" and "value" from $PLF-3.0-TOMCAT_HOME/gatein/data/jcr to $PLF-3.5-TOMCAT_HOME/gatein/data/jcr. With Jboss bundle, copy 2 folders "index" and "value" from $PLF-3.0-JBOSS_HOME/gatein/jcr to $PLF-3.5-JBOSS_HOME/server/default/data/gatein/jcr.

ii. With Tomcat bundle, configure the database connections in the $PLATFORM-3.5-TOMCAT_HOME/conf/server.xml file to point to the eXo Platform 3.0 database.

For example, if your eXo Platform 3.0 runs on mySQL database, you need to configure the server.xml file as below:

<!-- eXo JCR Datasource for portal -->
	<Resource name="exo-jcr_portal" auth="Container" type="javax.sql.DataSource"
		maxActive="128" maxIdle="32" maxWait="10000"
		testWhileIdle="true" timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1"
		username="${db.username}" password="${db.password}" driverClassName="com.mysql.jdbc.Driver"
			url="jdbc:mysql://${db.host}:${db.port}/${db.jcr.name}"/>

<!-- eXo IDM Datasource for portal -->
	<Resource name="exo-idm_portal" auth="Container" type="javax.sql.DataSource"
	   maxActive="128" maxIdle="32" maxWait="10000"
	   testWhileIdle="true" timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1"
	   username="${db.username}" password="${db.password}" driverClassName="com.mysql.jdbc.Driver"
			url="jdbc:mysql://${db.host}:${db.port}/${db.idm.name}"/>

With Jboss bundle, configure the $PLF-3.5-JBOSS_HOME/server/default/deploy/gatein-ds.xml file.



    <!-- eXo IDM for portal -->
    <no-tx-datasource>
      <jndi-name>exo-idm_portal</jndi-name>
      <connection-url>jdbc:mysql://_$host_:3306/_$dbname-idm_</connection-url>
      <driver-class>com.mysql.jdbc.Driver</driver-class>
      <user-name>_$username_</user-name>
      <password>_$password_</password>
      <min-pool-size>5</min-pool-size>
      <max-pool-size>20</max-pool-size>
      <idle-timeout-minutes>0</idle-timeout-minutes>
      <prepared-statement-cache-size>32</prepared-statement-cache-size>
   </no-tx-datasource>
 
   <!-- eXo JCR Datasource for portal -->
   <no-tx-datasource>
      <jndi-name>exo-jcr_portal</jndi-name>
      <connection-url>jdbc:mysql://_$host_:3306/_$dbname-jcr_</connection-url>
      <driver-class>com.mysql.jdbc.Driver</driver-class>
      <user-name>_$username_</user-name>
      <password>_$password_</password>
      <min-pool-size>5</min-pool-size>
      <max-pool-size>20</max-pool-size>
      <idle-timeout-minutes>0</idle-timeout-minutes>
      <prepared-statement-cache-size>32</prepared-statement-cache-size>
   </no-tx-datasource>

iii. Delete the JCR_CONFIG table in the JCR database: "jdbc:mysql://$ {db.host} :$ {db.port} /$ {db.jcr.name} "

Step 2. Configure to migrate the eXo Platform data from 3.0 to 3.5.

1. Add the following code to the $PLATFORM-3.5-TOMCAT_HOME/gatein/conf/configuration.properties or $PLF-3.5-JBOSS_HOME/server/default/conf/gatein/configuration.properties file.

############
# Upgrades #
############
# JCR user directories structure migration configuration
# This configuration is optional, if you do not want to run it, you set use-old-user-distribution=true and run-jcr-user-directories-migrate=false
use-old-user-distribution=false
run-jcr-user-directories-migrate=true

#This configuration for JCR session time-out. It is very important to run JCR user directories migration
#This configuration is example for a Platform with 1000 users
#Please see more detail in section
gatein.jcr.transaction.timeout=10000

### Commons upgrade plugins configuration
## indicates if upgrade plugins is enabled or not

#Gadget upgrade plugin, it is required
commons.upgrade.Upgrade-Gadgets.enable=true

#ECMS upgrade plugin, all are required
commons.upgrade.UpgradeVotingNodeTypePlugin.enable=true
commons.upgrade.FavoriteActionUpgradePlugin.enable=true
commons.upgrade.ThumbnailNodeTypeUpgradePlugin.enable=true

#ECMS template and script upgrade plugin, they are required
commons.upgrade.NodeTypeTemplateUpgradePlugin.enable=true
commons.upgrade.QueryUpgradePlugin.enable=true
commons.upgrade.ScriptUpgradePlugin.enable=true
commons.upgrade.SiteExplorerTemplateUpgradePlugin.enable=true
commons.upgrade.WCMTemplateUpgradePlugin.enable=true
commons.upgrade.UserViewUpgradePlugin.enable=true

#CS upgrade plugin, it is required
commons.upgrade.UpgradeCalendarPlugin.enable=true

#Social upgrade plugin, it is required
commons.upgrade.UpgradeToMOSPlugin.enable=true

#Social space template upgrade plugin, it is required
commons.upgrade.UpgradeTemplatePlugin.enable=true

#KS forums, all of them are required
commons.upgrade.UpgradeForumPlugin.enable=true
commons.upgrade.UpgradeWikiPlugin.enable=true
commons.upgrade.UpgradeAnswerPlugin.enable=true

#Portal navigation upgrade plugin
#This Configuration is optional. If you do not want to migrate your portal/groups navigation, set commons.upgrade.Upgrade-Navigations.enable=false
commons.upgrade.Upgrade-Navigations.enable=true

#Space home page template plugin, it is required
commons.upgrade.Upgrade-Spaces-Home-page.enable=true

##This Configuration is optional. If you do not want to re-import the contents, set commons.upgrade.Upgrade-WCM-Contents.enable=false
commons.upgrade.Upgrade-WCM-Contents.enable=true

## indicates the desired execution order (names of upgrade plugins separated with commas ",")
commons.upgrade.plugins.order=Spaces-Home-page,Upgrade-Gadgets,Upgrade-Navigations,Upgrade-WCM-Contents,UpgradeVotingNodeTypePlugin,FavoriteActionUpgradePlugin,ThumbnailNodeTypeUpgradePlugin,UpgradeToMOSPlugin,UpgradeTemplatePlugin,UpgradeAnswerPlugin,UpgradeWikiPlugin,UpgradeForumPlugin,UpgradeCalendarPlugin,NodeTypeTemplateUpgradePlugin,QueryUpgradePlugin,ScriptUpgradePlugin,SiteExplorerTemplateUpgradePlugin,WCMTemplateUpgradePlugin,UserViewUpgradePlugin 

## Proceed to the upgrade if it is the first time you run this service
commons.upgrade.proceedIfFirstRun=true

2. Add the following code to the $PLATFORM-3.5-TOMCAT_HOME/gatein/conf/portal/portal/configuration.xml or $PLF-3.5-JBOSS_HOME/server/default/conf/gatein/configuration.xml file.




<configuration xmlns="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd http://www.exoplatform.org/xml/ns/kernel_1_2.xsd">

  <!--Configuration for migration JCR user directories structure-->
  <component>
    <key>org.exoplatform.services.jcr.ext.hierarchy.NodeHierarchyCreator</key>
    <type>org.exoplatform.services.jcr.ext.hierarchy.impl.NodeHierarchyCreatorImpl</type>
    <init-params>
      <value-param>
        <name>old-user-distribution</name>
        <value>${use-old-user-distribution:false}</value>
      </value-param>
      <value-param>
        <name>auto-migrate</name>
        <value>${run-jcr-user-directories-migrate:false}</value>
      </value-param>
    </init-params>
  </component>

  <!-- Configuration for migration Portal/groups navigation-->
  <!-- This Configuration is optional. If you do not want to migrate your portal/groups navigation, remove this session -->
  <!-- If there are some portals in your Platform, you need to configure for each portal-->
  <external-component-plugins>
    <!-- The full qualified name of the UserPortalConfigService -->
    <target-component>org.exoplatform.portal.config.UserPortalConfigService</target-component>
    <component-plugin>
      <!-- The name of the plugin -->
      <name>new.portal.config.user.listener</name>
      <!-- The name of the method to call on the UserPortalConfigService in order to register the NewPortalConfigs -->
      <set-method>initListener</set-method>
      <!-- The full qualified name of the NewPortalConfigListener -->
      <type>org.exoplatform.portal.config.NewPortalConfigListener</type>
      <description>this listener init the portal configuration</description>
      <init-params>
        <object-param>
          <name>portal.configuration</name>
          <description>description</description>
          <object type="org.exoplatform.portal.config.NewPortalConfig">
            <field name="predefinedOwner">
              <collection type="java.util.HashSet">
                <value>
                  <string>intranet</string>
                </value>
              </collection>
            </field>
            <field name="ownerType">
              <string>portal</string>
            </field>
            <field name="templateLocation">
              <string>war:/conf/office-extension/portal</string>
            </field>
            <field name="importMode">
              <string>merge</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>group.configuration</name>
          <description>description</description>
          <object type="org.exoplatform.portal.config.NewPortalConfig">
            <field name="predefinedOwner">
              <collection type="java.util.HashSet">
                <value>
                  <string>/developers</string>
                </value>
              </collection>
            </field>
            <field name="ownerType">
              <string>group</string>
            </field>
            <field name="templateLocation">
              <string>war:/conf/office-extension/portal</string>
            </field>
            <field name="importMode">
              <string>overwrite</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>portal.configuration</name>
          <description>description</description>
          <object type="org.exoplatform.portal.config.NewPortalConfig">
            <field name="predefinedOwner">
              <collection type="java.util.HashSet">
                <value>
                  <string>acme</string>
                </value>
              </collection>
            </field>
            <field name="ownerType">
              <string>portal</string>
            </field>
            <field name="templateLocation">
              <string>war:/conf/acme-portal/portal</string>
            </field>
            <field name="importMode">
              <string>overwrite</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>group.configuration</name>
          <description>description</description>
          <object type="org.exoplatform.portal.config.NewPortalConfig">
            <field name="predefinedOwner">
              <collection type="java.util.HashSet">
                <value>
                  <string>/platform/web-contributors</string>
                </value>
              </collection>
            </field>
            <field name="ownerType">
              <string>group</string>
            </field>
            <field name="templateLocation">
              <string>war:/conf/acme-portal/portal</string>
            </field>
            <field name="importMode">
              <string>overwrite</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>portal.configuration</name>
          <description>description</description>
          <object type="org.exoplatform.portal.config.NewPortalConfig">
            <field name="predefinedOwner">
              <collection type="java.util.HashSet">
                <value>
                  <string>default</string>
                </value>
              </collection>
            </field>
            <field name="ownerType">
              <string>portal</string>
            </field>
            <field name="templateLocation">
              <string>war:/conf/default-website/portal</string>
            </field>
            <field name="importMode">
              <string>overwrite</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>

  <!-- Configuration for re-import WCM content from webapp (.war files) file-->
  <!-- You can define the .war file that you want to re-import content-->
  <external-component-plugins>
    <target-component>org.exoplatform.commons.upgrade.UpgradeProductService</target-component>
    <!-- ECMS-Contents upgrade plugin-->
    <component-plugin>
      <name>Upgrade-WCM-Contents</name>
      <set-method>addUpgradePlugin</set-method>
      <type>org.exoplatform.platform.upgrade.plugins.UpgradeContentPlugin</type>
      <description>WCM Contents Upgrade Plugin</description>
      <init-params>
        <value-param>
          <name>product.group.id</name>
          <description>The groupId of the product</description>
          <value>org.exoplatform.platform</value>
        </value-param>
        <!--value-param>
            <name>plugin.execution.order</name>
            <description>The plugin execution order</description>
            <value>4</value>
        </value-param-->
        <values-param>
          <name>webapps-mames</name>
          <description>webapps to upgrade</description>
          <value>acme-intranet</value>
          <value>acme-intranet-portlet</value>
          <value>acme-website</value>
          <value>acme-websiteResources</value>
          <value>authoring-apps</value>
          <value>calendar</value>
          <value>chat</value>
          <value>chatbar</value>
          <value>cometd</value>
          <value>commons-extension</value>
          <value>CommonsResources</value>
          <value>contact</value>
          <value>content</value>
          <value>crash</value>
          <value>cs-extension</value>
          <value>csResources</value>
          <value>dashboard</value>
          <value>default-website</value>
          <value>ecm-wcm-core</value>
          <value>ecm-wcm-extension</value>
          <value>ecmadmin</value>
          <value>ecmbrowsecontent</value>
          <value>ecmexplorer</value>
          <value>ecmworkflow-extension</value>
          <value>exo-gadget-resources</value>
          <value>exoadmin</value>
          <value>eXoDMSGadgets</value>
          <value>eXoDMSResources</value>
          <value>eXoGadgets</value>
          <value>eXoGadgetServer</value>
          <value>eXoPlatformResources</value>
          <value>eXoResources</value>
          <value>eXoStaticResources</value>
          <value>eXoWCMResources</value>
          <value>eXoWorkflowResources</value>
          <value>faq</value>
          <value>fck</value>
          <value>formgenerator</value>
          <value>forum</value>
          <value>gadget-pack</value>
          <value>IDE</value>
          <value>intranet-gadget</value>
          <value>ks-extension</value>
          <value>ksResources</value>
          <value>mail</value>
          <value>newsletter</value>
          <value>platform-extension</value>
          <value>platformNavigation</value>
          <value>poll</value>
          <value>portal</value>
          <value>presentation</value>
          <value>rest</value>
          <value>searches</value>
          <value>seo</value>
          <value>SmartGWT</value>
          <value>social</value>
          <value>social-extension</value>
          <value>social-portlet</value>
          <value>social-resources</value>
          <value>web</value>
          <value>webos-ext</value>
          <value>webosadmin</value>
          <value>webosResources</value>
          <value>wiki</value>
          <value>workflow</value>
        </values-param>
      </init-params>
    </component-plugin>

    <!-- Configuration for Gadget upgrade plugin-->
    <!-- In can define "what are the gadget which you want to update" in this configuration-->
    <component-plugin>
      <name>Upgrade-Gadgets</name>
      <set-method>addUpgradePlugin</set-method>
      <type>org.exoplatform.platform.upgrade.plugins.UpgradeLocalGadgetsPlugin</type>
      <description>Gadgets Upgrade Plugin</description>
      <init-params>
        <value-param>
          <name>product.group.id</name>
          <description>The groupId of the product</description>
          <value>org.exoplatform.platform</value>
        </value-param>
        <!--value-param>
            <name>plugin.execution.order</name>
            <description>The plugin execution order</description>
            <value>1</value>
        </value-param-->
        <object-param>
          <name>eventslist</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>eventslist</string>
            </field>
            <field name="path">
              <string>war:/gadgets/events/Events.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>taskslist</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>taskslist</string>
            </field>
            <field name="path">
              <string>war:/gadgets/tasks/Tasks.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>messageslist</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>messageslist</string>
            </field>
            <field name="path">
              <string>war:/gadgets/messages/Messages.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>To-do</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>To-do</string>
            </field>
            <field name="path">
              <string>war:/gadgets/Todo/Todo.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>Calendar</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>Calendar</string>
            </field>
            <field name="path">
              <string>war:/gadgets/Calendar/Calendar.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>Calculator</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>Calculator</string>
            </field>
            <field name="path">
              <string>war:/gadgets/Calculator/Calculator.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>rssAggregator</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>rssAggregator</string>
            </field>
            <field name="path">
              <string>war:/gadgets/rssAggregator/rssAggregator.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>IDE</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>IDE</string>
            </field>
            <field name="path">
              <string>war:/ide.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>lastpost</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>lastpost</string>
            </field>
            <field name="path">
              <string>war:/gadgets/lastpost/Lastpost.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>pollslist</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>pollslist</string>
            </field>
            <field name="path">
              <string>war:/gadgets/polls/Polls.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>Activities</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>Activities</string>
            </field>
            <field name="path">
              <string>war:/gadgets/Activities/Activities.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>ViewerFriends</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>ViewerFriends</string>
            </field>
            <field name="path">
              <string>war:/gadgets/ViewerFriends/ViewerFriends.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>SocialRssReader</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>SocialRssReader</string>
            </field>
            <field name="path">
              <string>war:/gadgets/SocialRssReader/SocialRssReader.xml</string>
            </field>
          </object>
        </object-param>
        <object-param>
          <name>MySpaces</name>
          <object type="org.exoplatform.platform.upgrade.plugins.GadgetUpgrade">
            <field name="name">
              <string>MySpaces</string>
            </field>
            <field name="path">
              <string>war:/gadgets/MySpaces/MySpaces.xml</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>
</configuration>

Note

If this file has not been existing, you need to create it first.

3. Increase the JCR session time-out and JVM Xmx if you have a lot of data in eXo Platform 3.0. For example, in your current eXo Platform 3.0, there are about 200 users, 2 Gigabytes in the gatein/data/jcr/values folder, and 1 Gigabyte in the mySQL data, you will need to:

i. Configure the $PLATFORM-3.5-TOMCAT_HOME/gatein/conf/configuration.properties or $PLF-3.5-JBOSS_HOME/server/default/conf/gatein/configuration.properties file by adding the following configuration.

gatein.jcr.transaction.timeout=10000

ii. Update JAVA_OPTS Xmx: with Tomcat bundle, in $PLF-3.5-TOMCAT_HOME/bin/setenv.sh or .bat file, update JVM Xmx to 4G. With Jboss bundle, update JAVA_OPTS Xmx in the $PLF-3.5-JBOSS_HOME/bin/run.conf file.

Step 3. Perform the eXo Platform data migration from 3.0 to 3.5.

In this step, you only need to start server (Tomcat bundle or JBoss bundle), and the migration will be run automatically.

Step 4. Finish your migration.

1. Stop server and remove the migration configurations through the following sub-steps:

i. Disable all migration plugins in the $PLF-3.5-TOMCAT_HOME/gatein/conf/configuration.properties file (or $PLF-3.5-JBOSS_HOME/server/default/conf/gatein/configuration.properties):

############
# Upgrades #
############
# JCR user directories structure migration configuration
use-old-user-distribution=false
run-jcr-user-directories-migrate=false
#gatein.jcr.transaction.timeout=10000

# Commons upgrade plugins configuration
## indicates if upgrade plugins is enabled or not
commons.upgrade.Upgrade-Gadgets.enable=false

#ECMS upgrade plugin
commons.upgrade.UpgradeVotingNodeTypePlugin.enable=false
commons.upgrade.FavoriteActionUpgradePlugin.enable=false
commons.upgrade.ThumbnailNodeTypeUpgradePlugin.enable=false

#ECMS template and script upgrade plugin
commons.upgrade.NodeTypeTemplateUpgradePlugin.enable=false
commons.upgrade.QueryUpgradePlugin.enable=false
commons.upgrade.ScriptUpgradePlugin.enable=false
commons.upgrade.SiteExplorerTemplateUpgradePlugin.enable=false
commons.upgrade.WCMTemplateUpgradePlugin.enable=false
commons.upgrade.UserViewUpgradePlugin.enable=false

#CS upgrade plugin
commons.upgrade.UpgradeCalendarPlugin.enable=false

#Social upgrade plugin
commons.upgrade.UpgradeToMOSPlugin.enable=false

#Social space template upgrade plugin
commons.upgrade.UpgradeTemplatePlugin.enable=false

#KS forums
commons.upgrade.UpgradeForumPlugin.enable=false
commons.upgrade.UpgradeWikiPlugin.enable=false
commons.upgrade.UpgradeAnswerPlugin.enable=false

#Portal navigation upgrade plugin
commons.upgrade.Upgrade-Navigations.enable=false

#Space home page template plugin
commons.upgrade.Upgrade-Spaces-Home-page.enable=false

#Re-import the contents
commons.upgrade.Upgrade-WCM-Contents.enable=false

## indicates the desired execution order (names of upgrade plugins separated with commas ",")
commons.upgrade.plugins.order=Upgrade-Spaces-Home-page,Upgrade-Gadgets,Upgrade-Navigations,Upgrade-WCM-Contents,UpgradeVotingNodeTypePlugin,FavoriteActionUpgradePlugin,ThumbnailNodeTypeUpgradePlugin,UpgradeToMOSPlugin,UpgradeTemplatePlugin,UpgradeAnswerPlugin,UpgradeWikiPlugin,UpgradeForumPlugin,UpgradeCalendarPlugin,NodeTypeTemplateUpgradePlugin,QueryUpgradePlugin,ScriptUpgradePlugin,SiteExplorerTemplateUpgradePlugin,WCMTemplateUpgradePlugin,UserViewUpgradePlugin

## Proceed to the upgrade if it's first time you run this service
commons.upgrade.proceedIfFirstRun=true

ii. Delete configurations that were added before the migration in $PLF-3.5-TOMCAT_HOME/gatein/conf/portal/portal/configuration.xml or $PLF-3.5-JBOSS_HOME/server/default/conf/gatein/configuration.xml file.

If you do not run the JCR user directories structure migration, you need to keep the $PLATFORM-3.5-TOMCAT_HOME/gatein/conf/portal/portal/configuration.xml or $PLF-3.5-JBOSS_HOME/server/default/conf/gatein/configuration.xml file with the content as below:




<configuration xmlns="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd http://www.exoplatform.org/xml/ns/kernel_1_2.xsd">
<component>
     <key>org.exoplatform.services.jcr.ext.hierarchy.NodeHierarchyCreator</key>
     <type>org.exoplatform.services.jcr.ext.hierarchy.impl.NodeHierarchyCreatorImpl</type>
     <init-params>
<value-param>
   <name>old-user-distribution</name>
   <value>true</value>
        </value-param>
     </init-params>
</component>
</configuration>

2. Restart the server again. The migration process is done.