We planned to do our full production upgrade in a weekend – and one part was the replacement of FAST by xPlore. As we had to index more than 10 millions objects, we had to find a solution where the full repository would be indexed by Monday morning.

Since we used a clone of production to validate and test our upgrade process, functions, and performance, we decided to prepare the production fulltext servers by using them first against the clone repository. After the production repository upgrade, the prepared fulltext servers could then be used for production where only the gap of objects (new and modified objects) since the last refresh of the clone would be indexed.

1) Preparation

  • Creation of a clone
  • ADTS installation
  • D2-Client, D2-Config installation
  • Installation of xPlore in High Availability on servers which will be used later on for production
  • Full repository fulltext indexing

2) Testing

  • Applications
  • Rendition
  • Fulltext search

3) Production rollout preparation

Once the testing was finished and the go live date defined, we had to do first the preparation before the rollout weekend of the xPlore fulltext servers to reuse them in production. We removed the index agent on both xPlore index server using the GUI to have a clean installation on them where only the index server files/folders were kept.

4) Production rollout

Before doing the upgrade, we cleaned the objects related to the FAST fulltext indexing (dm_ftindex_agent-config, dm_ftengine_config, dm_fulltext_index_s) from the repository, unregistered the event related to both fulltext users (dm_fulltext_index_user, dm_fulltext_index_user_01) and at the end removed the old queue objects related to both fulltext index users.

With these steps the repository was ready, once upgraded, to install the xPlore Index agents.

So after the repository upgrade, we installed the Index Agents to have a HA configuration and ran, on both index servers, the ftintegrity tool to have the documents r_object_id list to be refeed in the xPlore collection.

To resubmit the r_object_id listed in ObjectId-dctmOnly.txt and ObjectId-common-version-mismatch:

cp ObjectId-dctmOnly.txt /dctm/opt/documentum/xPlore/jboss7.1.1/server/DctmServer_IndexagentDms/deployments/IndexAgent.war/WEB-INF/classes/ids.txt

Once the file has been processed, the ids.txt is renamed to ids.txt.done

cut -f1 ObjectId-common-version-mismatch.txt -d " " > /dctm/opt/documentum/xPlore/jboss7.1.1/server/DctmServer_IndexagentDms/deployments/IndexAgent.war/WEB-INF/classes/ids.txt

Update the acls and group by running aclreplication_for_Dms.sh
On the standby server, update the aclreplication_for_Dms.sh script by adding in the java command:

 -ftEngineStandby T

Remove objects in fulltext DB if required by running:


With this approach, we had the fulltext database ready on Monday morning when people started to work with the system.