The Linux Foundation Projects
Skip to main content
Blog | Zowe

Zowe™ Explorer Plugin for IntelliJ IDEA™: Evolution and Future

By | September 28, 2023

Written by Yuliya Kirkorava

SHARE conference has passed and this participation was a significant milestone for IBA Group. The conference marked a special anniversary for The Open Mainframe Project’s Zowe community, celebrating 5 years since the project’s initial announcement.

During the conference, IBA Group had the privilege of featuring speakers who presented the Zowe Explorer plugin for IntelliJ IDEA, showcasing the mainframe integrated development environment.  IBA Group was also mentioned in an article by Joe Winchester,  member of the Zowe Advisory Committee (ZAC) and Senior Technical Staff Member at IBM.

I was excited to be a part of SHARE 2023! This year IBA Group showcased a suite of tools designed to help businesses implement modern DevOps for mainframes. If you didn’t get a chance to attend the conference, please feel free to reach out to me to discuss our plugins for IntelliJ. – Alex Burak, representative of IBA Group at SHARE 2023.

TRACING THE MILESTONES

The journey of a thousand miles begins with a single step, and for IBA Group, every version release represents a significant stride toward perfection. One of the most noteworthy releases is the Zowe Explorer plugin for IntelliJ IDEA. It’s not just a figure of speech when we say that we’ve surpassed 1,690 installations; it’s a testament to the trust and confidence the community has shown in our endeavors.

Version 1.0.0 emerged as a major game changer, introducing:

  •  TSO CLI: This isn’t just a feature; it’s a revolution. Enabling users to submit TSO commands directly through IntelliJ, it brought about a new level of convenience. Working with the plugin, it is possible to establish multiple TSO CLI sessions and work with all of them at the same time. Now, basic TSO functions are available. Later we plan to add new features and provide complex scenarios handling basing on users feedback.
  • File Encoding Management: Handling file encodings has always been challenging for mainframe developers. With the ability to manage and change file encodings seamlessly, we addressed a longstanding pain point. Now it is possible to change the encoding of any USS file, specifying either reloading of the file with the specified encoding tag and without changing the contents, or changing the actual contents of the file. With that, the plugin will show all the contents correctly if the source encoding was not correct.
  • JES Explorer new options: With the new version, there are some new options to work with JES jobs introduced. Now it is possible to edit the source JCL, run the changed job, view its execution logs and purge the job from JES.
  • UX changes: Some UX changes are introduced. The most notable – we changed the “plus” button behavior. So now, it expands to show the possible new items to create instead of being just a “plus” button that “does something”.
  • Performance Enhancements: By optimizing dataset loading and other functionalities, we ensured that the user experience remained fluid and interruption-free.
  • The subsequent versions, from 1.0.1 to 1.0.3, focused on refinements. These updates were pivotal in ensuring stability, compatibility across IntelliJ versions, and enhancing overall user interaction. One key fix that stands out is the resolution of a critical bug affecting the project tree, ensuring users do not face disruptions during their development journey.

CRAFTING THE FUTURE

Peeking into the horizon, we have already released version 1.1.0. This version is about:

  • “whoami” feature to fetch the correct name of the user: This feature later gives the possibility to get the real name of the user, so that it will ease interactions with USS files.
  • Hint after a connection is created: It notifies the user that after the connection is created, they are able to work with other essential plugin’s features.
  • Copy + resolve conflicts: When files or folders are being copied, sometimes it makes conflicting situations when there are the same names for any of the entities. This feature helps to resolve such conflicts, providing the opportunity to decide, which kind of action will be taken.
  • Dataset presets: Sometimes it is not so easy to decide the parameters of the dataset being created. The presets will provide some basic types of template working sets to work with.
  • Default mask name during a mask creation: Sometimes it is not needed to provide a specific mask name and it is easier just to fetch the default list of datasets by the default user’s wildcard.
  • “Duplicate” option for a dataset’s member.
  • “No items found” as empty children list of the specified entity.
  • Unit tests for source code: We are actively increasing the coverage of the plugin’s source code. This process may be not perfectly visible, but of course, we are working on it.
  • Auto-synchronization option for datasets and file content, which we plan to make the default setting in subsequent releases. This option is turned on by default starting from 1.1.0 version of the plugin. It can be changed later in Settings->Other settings.
  • Infrastructure to integrate the much-anticipated CICS plugin.
  • A plethora of other user-centric features, such as a reworked UI for error messages, spool log downloads, and intuitive file sorting.

We’re aiming to bring a holistic suite of plugins to the table, encapsulating JCL, Jenkins, CICS, and COBOL functionalities. One pioneering venture we are exploring is the application of LSP technology, recently introduced by Jetbrains. Alongside, we are actively researching integration avenues with Zowe API ML.

CONCLUSION

In this ever-evolving domain of plugins and mainframe interactions, our team is committed not just to keep pace, but to set the pace. Our mission is singular: to make Zowe Explorer plugin for IntelliJ IDEA the go-to interface for all mainframe interactions. As we continue on this voyage, your feedback is our compass, guiding us towards creating better, more innovative solutions.

Check out more Zowe blogs here. Or, ask a question and join the conversation on the Open Mainframe Project Slack Channel #zowe-cli or #zowe-onboarding or any of the other squads. If this is your first time using the Open Mainframe Slack Channel, register here.

For more information about Open Mainframe Project: