I know that the standard mechanism for web editing is to set up a feature service, however the issue that I have with that is that it is associated with a single transactional version (typically SDE.DEFAULT, but it can point at another version). I have a situation where I may have many dozens of transactional versions representing multiple potential designs, and as such hitting a single version through a feature service doesn't seem to be quite the right fit.
I have an idea for creating a Server Object Extension (SOE) which would expose what is essentially a REST endpoint for purposes of editing on a version of the users choosing. The exposed SOE method might take the name of the version to apply the edit to, a feature identifier (probably a feature class name and and ObjectID), and an array of name/value pairs of how that feature should be updated. Similar methods might work for object creation and deletion as well. I'm wondering if anyone has tried to do something like this before or might comment as to its wisdom? It seems theoretically possible, but perhaps changing from one version to another in an SOE is just a really bad idea for some reason that I'm not currently aware of. It seems a little hacky to me.