As of this writing, I'm running Geoserver 2.22, but this is more of a general WFS(-T) question, and I'm not tied to Geoserver at all. Let's consider the following scenario: There's a WFS-T server publishing a layer L of geometric features and two clients, C1 and C2 (e.g. QGIS), which are using that layer. Initially (i.e., after adding L to the QGIS project in both clients), datasets are identical on both clients (i.e., they hold identical copies).
Now C1 modifies a feature F[version 1] and commits that transaction successfully with the WFS-server, so F is now of version 2. Client C2 however, doesn't have any idea that F has changed as long as it doesn't reload L.
Question #1: Is there a standardized way the server could notify clients (e.g. C2 in this example) of changes made to (WFS-T) layers (e.g. L) they "use" (i.e., hold copies of)? Question #2: Is there a more fine-grained way for a client to load changes made to L instead of reloading it completely?
Let's further assume C2 has not reloaded L after the modification of F and is still using F[version 1]. Now C2 is modifying F and attempting to commit the associated transaction. Changes previously made by C1 would be lost, or even data inconsistencies could crop up.
I noticed there is a WFS-T versioning extension in Geoserver that could help that problem, but it's non-standard and presumably not supported by most WFS clients out there.
Question #3: How can data loss or data inconsistencies by concurrent write access through WFS-T be prevented if there's no versioning support etc.? Question #4: Are there any standardized and common (preferably open source) WFS(-T) alternatives that handle the concurrent access or update notification problem described before?