We have a fairly large number of database data sources in our SES implementation. These data sources do contain environment-specific configuration settings, such as JDBC connection string, database user/password, etc. We also have a custom XLST and CSS for the UI layer.
I wonder what strategies there are for moving the SES configuration settings (data sources, search attributes, XSLT/CSS, identity manager plug-in, etc) between different environments, such as Development to QA, or QA to Production?
Re-creating these data sources by-hand is contrary to established best practices at the client as it is very error prone.
I understand there is a data backup and recovery for restoring SES after a crash, but am not sure if this would work for migrating between environments, or if there is another way of doing this.
You can use the "searchadminctl" in the bin directory of SES to export/import the definition & associated parameters of the SES objects
The program will both work as a interactive command prompt, or you can script it so that it doesn't prompt for anything.
It works by using xml files
The -c option allows you to connect to any other SES server
This will put the source definition in a file.It will have environment specific things and hence we need to parse the XML file to removing these values, such as Database Connection Strings.
For Passwords, we need to update the entry and set the encryption to false and While importing, Put the unencrypted password.
<parameter name="Password"><value encrypted="false"></value></parameter
Then for import, it is the same command but with the term "create" or "update" where "export" is. Also replace the source SES server with the target server url and password where we need to create the SES objects.