Hey guys,

I'm posting this here as it might be of interest to wider Outsystems community, but it is a follow up from the Concurrency and Conflict Resolution Strategies presentation at Perth OutSystems User Group. James was wondering if the server action ResolveConcurrency could be adjusted to deal with any serializable object rather than being specialised for one particular type. I thought, that would be a nice exercise and have done some modifications to that effect. I've modified demo application you have seen in the presentation and now it is even easier to see how User A and User B affect each other's editing (for example, no need for two windows) ... Feel free to download it (OS 11), create couple of records and fire away...

Note, discussed strategies are just the base concepts and in reality, each has numerous variations dependant on the actual business requirements. Implemented conflict resolution algorithm is a simplified version and will work for "flat" objects such is an entity record. Add some recursiveness and few tweaks and you'll be able to deal with more complex objects...


This is neat. I haven't had a complex requirements before that needs this but it is good to know that there's a pattern like this in case.