I am currently working on migrating user segments from ATG (ATG10.1.1) to Endeca (Endeca Mdex 6.3). To achieve this I tried implementing the DeploymentListenerEvent interface on BCC and on project deployment completion, if the project assets of type segment, then segments are uploaded to the Endeca usersegments in .json format in the specified path \Endeca\apps\Discover\config\ifcr\userSegments.
The issue with this approach is Endeca workbench does not identify the user segment on baseline update. The user segments are pushed to workbench only on initialize_services.bat followed by baseline update.
The question is there a way to programmatically add user segments to workbench, an API or so?
We actually blogged about this a week or two ago as the documentation doesn't really go into this and combining ATG Personalization with Endeca Experience Manager is extremely powerful... http://wp.me/p2XJtl-3z
To save you a click, you can use the runcommand script for your application to accomplish this in an "adhoc" fashion:
./runcommand.sh IFCR importNode ../config/ifcr/userSegments userSegments
This will update the user segments available in Experience Manager without having to re-run initialize services. You can also script it in your AppConfig scripts so that it can run as part of the update cycle.