When you start working on a module, your development environment creates a local copy of the current version. While you are developing, you make changes to that local copy.
One or more developers can work in the same module; it is common to have to merge your work with the work of other developers.
When you publish, OutSystems can automatically merge and publish the work for you. You can also choose to compare and merge it yourself before publishing.
Click on compare and merge;
On the Compare and Merge window analyze the list of your changes against the last published version;
Drill down on any tree element when you need to find out what changed in particular.
Keep selections to overwrite published version with your changes or deselect items to keep the published version for that item.
Ed Small and Matt Jones are both working on a Contacts application. The application contains entities for contacts and companies. Matt worked on the usability of the contact screens. Ed added two screens, one to list companies and the other with company details.
The image below shows that Ed Small and Matt Jones both started working on the same version (V4) of a module. Ed and Matt each made changes to the V4 code. Matt published his changes this way creating V5.
Now Ed wants to compare his changes with Matt's changes before publishing.
Ed clicks on compare and merge and gets the following Compare and Merge window:
On the left-hand side, Ed has his changes, on the right-hand side, he sees the changes made and published by Matt Jones.
The items highlighted in light blue are changes without conflicts OutSystems automatically selected for merging.
Now Ed can validate that:
- The screens he added are correctly selected for merging;
- The list screen for Contact entities was changed by Matt Jones, and is correctly selected for merging;
- There are changes in the menu.
To better understand what happened to the menu, Ed double-clicks on the Menu Web Block to look at it. From that drill-down, he gets the detail for the difference in the image below.
Ed sees that the Menu Web Block now has a new option “Companies”. These changes are marked with a red flag. Ed remembers the option was added when he scaffolded the screen to list companies.
Ed clicks on Go to Next Difference button, advances to the next difference and validates that the Destination property of the menu link points to the screen listing companies.
Ed is now in a position to publish. When Ed next publishes his changes, if he selects Merge and Publish he has a good idea of how his changes impact the existing version and can avoid conflicts.