Question title may not be specific enough and I feel like I could right a book but I'll try to keep it concise.
Configuration example Freight configurations (3 tables)
First process attempt:
Resource took BA configuration Word document that came out of system study
Resource wrote SQL and XML patches and checked them into source control
Above step was initial configuration of the customer's application data
Patches were packaged up into Release Package with source and schema changes and were installed by install utility
Over time developer adds configurations as features were implemented. These were also SQL and XML patches checked into source control
Over time QA adds configurations as features were implemented or new application configurations were discovered
Problem is what happens when the application is installed in UAT and the client uses the UI to make application configurations (Note: client cannot be expected to track their own changes and
sometimes they are comprehensive enough such as menu reconfigurations they don't want to do by hand to promote to PRD)
Second process attempt:
Instead of creating SQL and XML patches a Config tool was established. Required application to be installed and running.
Resource took BA configuration Word document that came out of system study
Resource installed the app and manually made configurations through application UI (some configs don't have UI interface and those were done manually in the DB)
Developer uses the configuration file resource put together to get his development going
Over time developer documents configurations and doesn't patch them. Developer and QA manually applies configurations with feature changes.
Over time QA adds configurations as features were implemented or new application configurations were discovered. This configuration file was used to promote.
Client gets in UAT environment and makes configuration changes via the UI. Just need to recreate the configuration file
Problem is the configuration xml file (just more than freight, it was just an example) is hard to compare between environments to figure out the differences. Not sorted and displayed well
for text XML comparison tools. Configuration handles adding but no deleting. Configuration tool requires app to be up and running. Configuration doesn't account for configurations that
were in place for only testing and don't want those to be promoted to PRD.
Third process attempt:
Sort of did second process but then went to just completely manually updating and tracking changes via UI, saving off Configuration as a backup. Problem is very manual and error
proned missed settings
Conclustion:
Looking for process of how to handle this sort of thing through ALM and CM, considering the challenges mentioned above. Can fix the configuraiton tool to present data for better XML
comparision tool. Can make configuration tool run as a utility outside of the app running. can use something like Redgate SQL Data Compare (but must setup views, note keys can be different
between promotion environments). What should be done process-wise to manage and track "real/wanted" configuration changes.
Hope this is making sense.