Oracle APEX Blog

APEX 24.1 - Improvements to Working Copies

Written by Damian Zareba | Jul 16, 2024 3:37:18 PM

Introduction

In mid-June, Oracle released APEX 24.1, introducing a range of exciting new features. One notable enhancement is improving the Working Copy functionality, designed to boost developer productivity. Last year, I published a blog about the brand-new Working Copies feature introduced in APEX 23.2. For a detailed analysis, you can check it out here. This functionality has proven to be highly useful and is frequently utilised by developers in their daily work. In this blog, I'll explore and describe the changes since the last release and provide examples to enhance understanding.

Page Changes Indicator

To illustrate my examples, I created three users: USER1, USER2, and USER3, and for each of them, I created a working copy named WC_USER1, WC_USER2, and WC_USER3, respectively. Each developer made some changes separately on their own working copy. As a result, all developers made some changes on PAGE 2, but only USER2 locked this page. To illustrate this example, I logged in as USER3 and selected the working copy WC_USER3. As shown on the screen below, the yellow warning indicator informs the developers that more users are working on PAGE 2.

Warning flags are easy to spot to let developers know that other developers are working on the same page. Clicking on them brings up a popup window with details about who made the changes and when. As depicted on the screen below, there is information about who locked the page along with lock comments, the last update, by whom and when it happened. It provides comprehensive details on which developers made changes or locked pages in their respective copies.



Moreover, we can quickly compare changes by clicking the icon in the Diff column. For this purpose, I compared it with the locked page on working copy WS_USER2. The screen below illustrates detailed information about what has changed and makes it easy to navigate between them. This functionality is valuable as it offers comprehensive details, facilitating communication among developers and minimising conflicts. This is just an example of what can happen, but it is a good practice to lock the page before making changes, and it is recommended that only one developer works on the page to avoid conflicts. Additionally, if the Generative AI Service is configured, the APEX Assistant becomes available, providing convenient help whenever needed.

 

Compare the current page with the Main page

A new feature has also been added to the menu under working copy. There is an option to quickly compare the current page with the Main page. The window looks very similar to the one I described earlier; the only difference is that comparison with the Main branch is automatically selected. The following screen displays where it is available, and with two clicks, we can compare the pages. It would also be nice to have the option to quickly merge a single page into the Main branch, but maybe that will be in the future release. Currently, we can only merge one page into the Main branch, but this requires tick/untick in the working copy merge process.

Alert Banner

A noticeable new feature is the alert banner providing important information. 
"You are on the Main version of this application. Please make changes in working copies to prevent conflicts."

The banner is located at the top of the application builder. The aim of it is to inform developers about the existing working copy in this application and prevent accidental modifications on the Main branch. This banner only appears when you are on the Main branch and there are working copies. When no working copies have been created, or you switch to the created branch, or when you delete a branch after finishing your work, the banner disappears. It serves as a helpful reminder that's difficult to overlook.

Conclusion

I find the Working Copy features extremely useful, and these enhancements will undoubtedly improve the overall work experience. There is still plenty of potential for further improvements, such as conflict resolution functionality, adding component types that are not yet supported or the ability to export/copy applications with working copies – not each separately, as is currently available. The Working Copy functionality has gained popularity, and I highly recommend utilising it while anticipating further enhancements.

For more information, check out our Oracle APEX Services, and if you liked this blog, check out our other APEX blogs here.

Subscribe to Oracle APEX Insights if you want to stay tuned for more APEX updates.