I have a client with the following request:
They would like a solution where the RMA users can create/modify rules, build a version (we use adb files), and test it, all by themselves. In the event that different RMA users modify different rulesets concurrently, they want a mechanism where only "approved versions" are included in the "final builds" that are used for production.
In other words, they want an RMA playground where there are basically no rules, and the ability to "promote" accepted versions.
Any adb files built (for production etc) will only include accepted versions, which means that if an RMA instance is currently on version 11, but version 9 is the last version that has been accepted, then the adb includes version 9 of this instance.
The client has an authentication/authorization-service that is used in the current RMA/repository solution.
Here are my thoughts so far:
The solution consists of two repositories, both version and access controlled. The "first" repository is the one used by the RMA users/developers/etc. I extend the RMA with a button (access controlled) that "approves" a version of an instance. This button also transfers the content to the second repository (same structure, obviously). Similar functionality would have to be made available as a script/etc for rule developers/IDE users.
RMA users already have a button they can use to build adb files off of the repository they connect to through the RMA. This functionality will still be available, so that they can do their end-to-end testing there. The solution gets a new button that builds "release ready" adb files off of the second repository, which will only contain approved versions.
Thoughts, insights, solutions are most welcome!