I'm currently working on a site where we have about 120.000 users on our system. This means that our changes carries very big impact and risks whenever we do anything. To minimize this I've come up with a concept of a feature switch framework.
I know that you are probably thinking, well that's nothing new. But please hear me out.
So most frameworks I've seen in the past is normally based on a global switch to turn on or off an enhancement or maybe have a user table to control who should get the enhancement.
My plan is to develop a quite flexible framework that could be used in different scenarios.
Here's what I had in mind so far:
Enable global switches to quickly turn on or off an enhancement
Enable beta testing capabilities to limit the risk of go lives and also to get early feedback on changes
Be able to control the beta testing either via a custom authorization object or a user table
Enable the feature switch to quickly append to the application log if desired
Transaction where you can maintain the switches with a tree like menu structure for the various maintenance steps with documentation
For now I've build the concept to work with a custom auth object and a maintenance table for the global switch. More will come in the future.
I've put the source code on github and it can be cloned via abapgit.
Please comment with ideas or even better help me build this thing 😄