Mendix 7.23.3: Get great team work with collaboration and version control
Mendix 7.23.3: Get great team work with collaboration and version control by Arjan Hendriksen
Ever wanted to involve tech-savvy business users to help finish a page, rather than going back and forth on minor UI changes? Imagine the time you gain when business users create working prototypes, to map out what they envision before you or someone else on your team picks it up to build the real thing.
In Mendix 7.23.3, we’ve made it easy for developers and business users that want to take advantage of both the Mendix Web Modeler and Desktop Modeler to work together on an app. Now it’s easier than ever to involve business users, reap their knowledge, all while making sure maintaining control over changes.
Working together as a team using both the Web Modeler and the Desktop Modeler now follows the regular version control concepts available in the Mendix platform. This means that regular updates and commits in the Desktop Modeler will pull in changes from the Web Modeler to the Desktop Modeler. Also, commits will push changes from the Desktop Modeler to the Web Modeler.
Of course, you as a professional developer should stay on top of this and make sure that changes made by business users are also technically valid and maintainable. That’s why you can assign a specific development line in the Desktop Modeler for Web Modeler collaboration. This makes sure that collaboration between business users and yourself is frictionless, while you have full control over what is merged into the mainline – and what isn’t.
For example, when asking one of your team members to review and update an ‘Application wizard’ feature, you can create a development line, ‘Review application wizard feature,’ assign the Web Modeler to this development line and set the business users free to start their work.
When those business users open the Web Modeler, they will be presented a checkout of the latest revision of the assigned development line. Using the Web Modeler, they can review the provided features, validating whether they fully meet their business needs, and if page texts are written such that end users will instantly understand. Business users can make textual changes and re-order or add page contents. They can also post questions and comments in the integrated Buzz tab for you to pick up in the Desktop Modeler.
Since this is happening on an isolated development line, business users can freely experiment and make changes to the model to try out their ideas, without directly impacting the parallel stream of other professional developers committing changes to the main line.
What exactly happens on a Web Modeler-enabled branch?
Let’s dive in a bit more and see what actually happens when working together in the Web Modeler and Desktop Modeler on a development line for which Web Modeler collaboration is enabled.
Your local version of the application
When working in the Desktop Modeler, each team member has their own local working copy checked out from the development line. In addition to this, the Web Modeler also has a central working copy that contains all changes made in the Web Modeler by any user.
Desktop Modeler users can share the content of a local working copy with the rest of the team via the Team Server version control, using update and commit features. This is the existing version control process we provide on any development line.
How does the Web Modeler fit into this?
Let’s see what making changes looks like when you pull in changes or do a commit.
When you want to pull in the latest changes from the Web Modeler, you simply hit the update button in the Desktop Modeler. All changes made in the Web Modeler will then be committed to Team Server. This requires no action from any team members using the Web Modeler. After the Web Modeler commit, the Team Server will send the latest revision to the Desktop Modeler.
When committing from the Desktop Modeler, changes are stored as a new revision on the development line in the Team Server. Now, the Mendix platform ensures that — following every Desktop Modeler commit — the Web Modeler is fully up-to-date with the latest revision of the development line.
When the Web Modeler doesn’t contain changes, the Desktop Modeler will commit its changes as a new revision. Then the Web Modeler will automatically be updated to this revision.
When the Web Modeler does contain changes, these will be committed to the development line first. This ensures that business users in the Web Modeler do not have to deal with potential merge conflicts while developers in the Desktop Modeler remain in control as to how to solve these conflicts.
The Desktop Modeler will perform an update after the Web Modeler changes have been committed and will merge the changes locally. When there are no conflicting changes between the two versions, the Desktop Modeler will continue and finish the commit. When the merge results in one or more conflicting changes, the developer in the Desktop Modeler has final say on what the best resolution is for these conflicts. After having resolved all conflicts, the developer can retry the commit again. This is just like you would do when any other team member had committed conflicting changes in the Desktop Modeler. A conflicting change could, for example, occur when you have changed the caption of a button and your team member has deleted the same button in the Web Modeler.
How do I start using these features?
The new collaborative development process is automatically enabled for newly created apps with Mendix version 7.23.3 and above.
- New Apps created from the Mendix Portal: Web Modeler collaboration is configured for the main line
- New Apps created from within the Desktop Modeler: Web Modeler collaboration is disabled on all development lines. Afterward, you can set Web Modeler collaboration to a specific development line via the Branch Line Manager in the Desktop Modeler.
Migration to the new collaborative development features
Existing projects using the previous ‘Sync with Web Modeler’ collaboration feature will be able to continue using ‘Sync with Web Modeler’ in combination with Mendix 7.23.2 or lower until September 2019. After that, collaborating on apps using both Desktop Modeler and Web Modeler requires the use of Mendix 7.23.3 or above.
To migrate a Web Modeler-enabled Project to Mendix 7.23.3, you have to enable the Collaborative Development feature in the portal. To do this for an existing project, follow these steps:
The Web Modeler is now ready for collaboration, containing all the latest changes from the Team Server.
Teamwork makes the dream work.
Building a successful application requires teamwork. Business users can now easily contribute and collaborate using the Web Modeler so that you can collaborate even better than before with familiar versioning control features. Full collaboration and full control neatly integrated in a one-stop-shop? Sounds like great teamwork to us.