# Scaling up the audience with IBM Z Open Editor and Wazi Developer 1.2.0
by Peter Haumer
18 March 2021
IBM Z® Open Editor 1.2, together with its companion application Zowe™ Explorer 1.13, and its packaging in IBM® Wazi Developer 1.2 are available now. This is already our eighth major release since we started publishing the editor in the VS Code Marketplace (opens new window) in September 2019. Since then, Z Open Editor has been installed almost 28.000 times by Enterprise Application developers and students from 85 different countries. We continue to add new features and refine the user experience based on the feedback we are getting. Therefore, several of the major capabilities added in this new release are some of the most frequently asked about enhancements, as well as address areas where we saw new users struggling. We hope that these capabilities will be attractive to users who have not considered our editor, yet. Here is a quick overview of the highlights.
# Added REXX as a new language
We set out devising Z Open Editor with the vision of creating a great editing experience for z/OS® Enterprise languages that is really attractive to the next generation of developers. As we see big adoption numbers though educational offerings such as IBM's Master the Mainframe and the Open Mainframe Project's COBOL training classes, we also hear from experienced enterprise developers who use the editor and Zowe Explorer in their day-to-day activities. One request we heard from the experienced audience over and over is: can you support REXX (opens new window)?
With Z Open Editor 1.2, we are proud to announce that we are now shipping an all-new language server for REXX that gives you all the capabilities you expect: syntax errors and highlighting, code completion, outline view, navigate variable references etc. Plus, for all the enhancements that we added in the previous and current release around executing TSO and Unix commands for the IBM RSE API Plug-in for Zowe CLI, you can use them for your REXX development directly because they seamlessly integrate into the editor environment as a CLI.
Our REXX support was realized by following the open language server (opens new window) protocol, just like our language support for COBOL, PL/I and High-Level Assembler. Therefore, we are also able to ship it with our flagship offering IBM Developer for z/OS 15.0.1 (opens new window) at the same time giving developers the choice of using either a VS Code or Eclipse-based editing experience for REXX.
# Full support of international EBCDIC code pages for all operations
Another frequent request from developers is better support for code page conversions. Because Z Open Editor and Zowe Explorer pull program files from z/OS to edit them locally, the program files will be converted to UTF-8 and converted back to EBCDIC when written back. Particularly for MVS™, international users were asking for more options configuring the EBCDIC code pages to convert from and to.
In previous releases of Zowe CLI, Zowe Explorer, and RSE API CLI plug-in, we added a parameter to specify the encoding to be used with your CLI profile (opens new window) as well as specific upload (opens new window) and download (opens new window) commands. These parameters are available to z/OSMF as well as RSE API users. However, they only covered a subset of use cases that people were telling us about. What if you uploaded whole directories with a mix of program and binary files or what if you had data sets using different code pages?
Fig. 1: Z Open Editor converting special characters for EBCDIC code pages for remote MVS copybooks
With Z Open Editor 1.2, we added special support for conversions with RSE API that allows you to configure conversion mappings based on various criteria such as based on local file name extensions or the names of the data set, using wildcards, you are interacting with. You can define such mapping rules on the organizational level as server defaults, on a project-level by managing the mappings files with your source code, for example in an SCM, as well as individual level by having a mapping file in your home directory. This will allow you to define different code pages for data sets used only by you versus data sets used by a team or project down to the member name level including mapping files as binary versus text.
Conversion mappings can be used for all z/OS MVS interactions in Z Open Editor, Zowe Explorer, and RSE API CLI plug-in. For example, when you open a file in Zowe Explorer via an RSE API profile, when you resolve copybooks in COBOL programs using a remote property group, or executing a script using RSE API CLI plug-in commands. We also provide a similar mapping concept for USS when running Dependency-Based Builds using our User Build operations.
# A new onboarding experience for new developers
For this release, we also had another look at typical stumbling blocks for new users. Particularly, the areas of ensuring the correct prerequisites are installed and configured on the developer's machine as well as Zowe CLI profiles are created and configured. We also see that users might either not be aware or have problems with correctly configuring property groups for resolving include files and copybooks.
We decided to add a wizard in this release that welcomes new users, checks the installation and prerequisites, and makes recommendations for fixing. Plus, it provides pointers for getting started with various capabilities as well as how to provide feedback or ask questions. The Welcome page will open automatically the first time you install or upgrade to 1.2 and you can choose to disable or continue to see it at startup.
Fig. 2: The new Welcome page for Z Open Editor 1.2
# Better support for teams working on different platforms
Another area we saw users run into trouble with using include file resolution was specifying path and file names for include files, especially when different team members were working on different platforms. For example, a Windows user creating a COBOL copybook using a lowercase file name on the file system and in Git but referring to it in their programs with an uppercase spelling. This worked fine on case-insensitive Windows, but a user running Z Open Editor in Red Hat® CodeReady Workspaces would see errors as the underlying Linux® file system is case sensitive.
We changed the behavior of Z Open Editor to be case-insensitive by default now, but also added the option for developers or teams to make Z Open Editor enforce the right casing as well. This is recommended to avoid potential issues such as files being created with the same name, but different cases in the same folder on Linux, which could lead to ambiguous behavior for COBOL copy statements.
# Added more flexible ways to deploy in your organization
In addition to new product features, we are also addressing feedback about deploying our solutions in client organizations.
We added more ways of getting our solution components by publishing our RSE API Zowe CLI plug-in in the public npmjs.com (opens new window) registry that allows you now to install the plug-in with a simple
zowe plugins install @ibm/rse-api-for-zowe-cli command without the need to first download and extract the plug-in from the IBM site. Although, this option of downloading from the IBM site is still available as well.
We are also started publishing Z Open Editor at open-vsx.org (opens new window), which is an alternative to the Microsoft Marketplace that is based on open source software. open-vsx.org is now the default for other open source editors in which Z Open Editor can run such as Eclipse Theia (opens new window) or VSCodium (opens new window). Furthermore, organizations can install and host their own Open VSX servers (opens new window) in-house allowing them to have full control over which extensions developers can install and which not.
We also improved the way that users can migrate to new releases of our IBM Wazi Developer for Workspaces offering more easily by allowing them to subscribe to simple OpenShift® update feeds that that will deploy the new versions of Wazi Developer and CodeReady Workspaces (opens new window) and migrate their workspaces.
# New ways to try our solutions
Finally, we have new and improved ways of trying our solutions for evaluations.
We provide a new version of the “Bring Your Own (BYO) IDE for Cloud Native Development" Z Trial (opens new window) that walks you through a complete lifecycle and development pipeline with either VS Code or Eclipse-based tools.
You can also easily try Red Hat OpenShift and CodeReady Workspaces with Z Open Editor and Zowe Explorer. To do that, sign-up for a trial account here at https://developers.redhat.com/developer-sandbox (opens new window). This will give you access to OpenShift as well CodeReady Workspaces (check the docs and video on that site for details). Once you have CodeReady Workspaces up, you can just follow the instructions here in our public GitHub for deploying Z Open Editor and Zowe Explorer: https://github.com/IBM/zopeneditor-about/tree/master/che (opens new window). To use a mainframe, you could create an account with Master the Mainframe and connect that via a Zowe profile.
Finally, we want to mention for developers who use Zowe SDKs (opens new window) to create their own developments tools that you can now also try the Zowe SDK with RSE API Plug-in for Zowe CLI as well. We have created a very simple example here that uses the TSO SDK showing how you can write Node.js scripts that use z/OSMF as well as RSE API interchangeably to execute TSE commands programmatically: https://github.com/phaumer/zowe-cli-tso-rse-sample (opens new window). Let us know if you would like to see more example such as these.
We hope you enjoy all these new capabilities in IBM Z Open Editor and IBM Wazi Developer. Visit our site for more detailed information and to provide us with feedback on GitHub (opens new window) or our Wazi Developer Community page (opens new window).