I want to implement a CI/CD process in our AEM Project. As part of that, we want to go a gitFlow branching strategy (Gitflow Workflow | Atlassian Git Tutorial ) - trunk based development approach. We want to enable dark launching (Hammering Usernames ) where we separate deployment and release and the crucial bit for this is feature toggling / flag.
Our AEM implementation normal feature stories include simple dialog field changes / css changes to all type of implmentations.
I am planning to use AEM OOTB as the feature toggle mechanism ( http://sling.apache.org/documentation/the-sling-engine/featureflags.html ) as this gives a OOTB console as well (http://localhost:4502/system/console/features ). A good example is explained at ( aemtreasury.wordpress.com/2015/10/20/feature-flags/ ). But the major issue is with the xml based file changes ( dialog.xml, _cq_editConfig.xml, .content.xml etc ) which makes the major part of AEM development. I need a way to inject the feature flag value to all the XMLs in AEM.
My idea is to inject the value to these xmls and write conditions to use the feature flag to toggle anything associated to the feature. Is there any best practices I should follow to achieve this capability or any documentation to guide me in the right direction. ( i did read Feature Toggling in AEM , but its a dead end for me ).
Thanks in advance.