GithubHelp home page GithubHelp logo

zowe / vscode-extension-for-cics Goto Github PK

View Code? Open in Web Editor NEW
15.0 9.0 6.0 548.22 MB

Migrated to zowe/cics-for-zowe-client.

Home Page: https://github.com/zowe/cics-for-zowe-client

License: Eclipse Public License 2.0

TypeScript 99.52% JavaScript 0.48%
vscode-extension zowe zowe-explorer cics mainframe

vscode-extension-for-cics's Introduction

Zowe CICS Explorer

version downloads slack open issues

This CICS Extension for Zowe Explorer adds additional functionality to the popular VSCode extension, Zowe Explorer. This extension allows interactions with CICS regions and programs, and the ability to run commands against them.

Contents

Software Requirements

Ensure that you meet the following prerequisites before you use the extension:

  • Install VSCode

  • Install Zowe Explorer v2

Tip: See Troubleshooting guide for solutions to common problems.

Features

  • Load profiles directly from Zowe instance locally installed.
  • Create new Zowe CICS profiles and connect to them.
  • Work with multiple regions containing programs, local transactions and local files within a plex in a comprehensible tree-like format.
  • Perform actions such as Enable, Disable, New Copy and Phase In directly from the UI.
  • Perform additional actions on local files including Open and Close directly from the UI.
  • Perform a Purge on Tasks with the option to select from a Purge or Force Purge.
  • View and search attributes of resources and regions by right-clicking and using the dynamic filtering feature.
  • Create new CICS profiles, update session details, and delete profiles using the user-friendly interface.
  • Apply multiple filters to regions, programs, local transactions local files and/or tasks.
  • View and interact with all resources under a plex.

To Install CICS Extension for Zowe Explorer see Installation.

Getting Started

Create Profile

If you already have a Zowe CICS CLI profile, the CICS tree will load the default profile on startup.

If you don't have an existing Zowe CICS CLI profile, follow these steps to create one:

Using Zowe Team Configuration

  1. Select the + button in the CICS tree.

  2. Select the Create New CICS profile option to open your config file.

  3. Edit the config file to add a CICS profile.

  4. Refresh the Zowe Explorer for IBM CICS extension by either clicking the button at the top level of the CICS view, or the Zowe Explorer for IBM CICS: Refresh command palette option.

  5. Select the + button in the CICS tree and click the newly created profile to load it into view.

Zowe CICS Explorer config profiles

Here's an example of a CICS profile entry in the config file:

"profiles": {
   ...
   "cics_example": {
      "type": "cics",
      "properties": {
            "host": "replace-with-host-name",
            "port": replace-with-port-number,
            "rejectUnauthorized": true,
            "protocol": "http",
            "cicsPlex": "replace-with-plex-name",
            "regionName": "replace-with-region-name"
      }
   },
   ...
}

Tip: Create a profile without the "user" and "password" properties and expand the profile after loading it into the CICS view. The CICS extension will then prompt you for the "user" and "password" fields to be stored in the secure array.

Using Zowe v1 profiles

  1. Select the + button in the CICS tree.

  2. Select the Create New CICS profile option to open a panel that defines connection details.

Note: The connection must point to a CICS region's CICS Management Client Interface (CMCI) TCP/IP host name and port number. The region can be a WUI server in a CICSPlex, or else a stand-alone Single Management Application Programming (SMSS) region.

Configuring a CICS region to have a connection is a system programmer task and more details can be found in Setting up CMCI with CICSPlex SM or Setting up CMCI in a stand-alone CICS region. If your CMCI connection is configured to use a self-signed certificate that your PC's trust store doesn't recognize, see Untrusted TLS certificates.

Zowe CICS Explorer profiles

To show more than one CICS profiles in the tree, select the + button and choose from the list of profiles. Only profiles that not already included in the CICS tree will be shown.

Addtional details for making the connection

The connection must point to a CICS region's CICS Management Client Interface (CMCI) TCP/IP host name and port number. The region can be a WUI server in a CICSPlex, a stand-alone Single Management Application Programming (SMSS) region, or a CICS system group.

If neither of the fields under 'CICS Details' (for users using v1 profiles) or neither the 'cicsPlex' or 'regionName' properties (for users using team configuration) are specified, the profile will show all CICSPlex for the WUI server. Specify a Plex Name to just view data for a single CICSPlex.

For a CICSPlex, all managed regions will be shown unless you specify a specific region name. Instead of a region name, you may also enter a CICS System Group to allow scoping of resources within the CICSPlex.

For a stand-alone CICS region, the Region Name may be entered but is optional. Do not enter a CICSPlex name for a stand-alone CICS region.

Configuring a CICS region to have a connection is a system programmer task and more details can be found in Setting up CMCI with CICSPlex SM or Setting up CMCI in a stand-alone CICS region. If your CMCI connection is configured to use a self-signed certificate that your PC's trust store doesn't recognize, see Untrusted TLS certificates

To show more than one CICS profile in the tree, select the + button and choose from the list of profiles. Only profiles not already included in the CICS tree will be shown. To view all Zowe CICS CLI profiles use the command zowe profiles list cics from a terminal.

Update Profile

Using Zowe Team Configuration

  1. Right-click a profile to open up the profile menu actions.

  2. Select the Update Profile button to open the config file.

  3. Edit the config file to update the profile(s).

  4. Refresh the Zowe Explorer for IBM CICS extension by either clicking the button at the top level of the CICS view, or the Zowe Explorer for IBM CICS: Refresh command palette option.

Zowe CICS Explorer Filter

Using Zowe v1 profiles

  1. Right-click a profile to open up the profile menu actions.

  2. Select the Update Profile button to update the session details.

    This will open a panel with fields containing the details that are used to create the connection. You can modify all fields apart from the Profile Name.

  3. Once the details are updated, click the Update Profile button to apply the changes to the profile.

Zowe CICS Explorer Filter

Hiding Profiles

Open the menu actions for a profile by right-clicking a profile and select Hide Profile to hide it from the CICS view. To add the profile back, click the + button and select the profile from the quick pick list.

Zowe CICS Explorer NewCopy Program

Deleting Profiles

Using Zowe Team Configuration

  1. Right-click a chosen profile.

  2. Select Delete Profile which opens the config file.

  3. Edit the config file to remove the cics profile entry.

  4. Refresh the Zowe Explorer for IBM CICS extension by either clicking the button at the top level of the CICS view, or the Zowe Explorer for IBM CICS: Refresh command palette option.

Zowe CICS Explorer NewCopy Program

Using Zowe v1 profiles

  1. Right-click a chosen profile.

  2. Select Delete Profile and click the Yes button when prompted to confirm the action of permanently deleting the profile. The functionality deletes the CICS profile from the persistent storage directory ~/.zowe/profiles/cics.

Zowe CICS Explorer NewCopy Program

CICS Resources

Expand a CICS profile to see the region name, and expand the region to view its resources. If the CICS profile is connected to a CMAS region that is part of a CICSPlex, the tree will show all of the regions managed by the CICSPlex. If the CICS profile is for an SMSS region then just one region will be shown. Inactive regions in a plex are shown with an empty icon.

Show and Filter Resources in a Region

Expand a CICS region to show folders for the resource types Programs, Transactions, Local Files and Tasks. Expand each type to show the resources. The number of resources in a resource tree will appear in square brackets next to the tree name.

The list of resources are pre-filtered to exclude many of the IBM supplied ones to narrow the contents to just include user programs. Use the search icon against a resource type to apply a filter. This can be an exact resource name or else you can use wildcards. The search history is saved so you can recall previous searches.

To reset the filter to its initial criteria use the clear filter icon against the resource type. If you wish to see all resources in a region (including IBM supplied ones) you can use "*" as a filter.

Zowe CICS Explorer Filter

Tip: To apply multiple filters, separate entries with a comma. You can append any filter with an *, which indicates wildcard searching.

Show and Filter Resources in a Plex

Similar to filtering resources in a region, it is also possible to apply a filter on a all region resources in a plex. Use the search icon inline with the Regions tree and then select either Regions, Programs, Local Transactions or Local Files from the drop-down menu to specify which resource type the filter should be applied to for all regions in the plex.

To reset the filter to its initial criteria use the clear filter icon against the Regions tree. This will open a drop-down menu which gives the option to clear the filter for all the Regions, Programs, Local Transactions or Local Files in the plex, and an option to otherwise clear All filters within the plex.

Zowe CICS Explorer Filter

Tip: To apply multiple filters, separate entries with a comma. You can append any filter with an *, which indicates wildcard searching.

Show and Filter Resources in an 'All' Resource Tree

Plexes contain an All Programs, All Local Transactions, All Local Files and All Tasks trees which contain all the corresponding resources from all regions in the plex.

To view resources under these trees, use the search icon inline with the tree and apply a filter.

Zowe CICS Explorer Filter

If the applied filter results in over 500 records, either change the filter to narrow down the search, or click the view X more ... item to retrieve 'X' more resources.

Tip: The default 500 count can be modified via the Record Count Increment property in Settings (UI).

Zowe CICS Explorer Record Count Increment in Setting UI

Show Attributes

Right-click and use the pop-up menu against a program to list the available actions that can be performed. For every resource, including a CICS region, Show Attributes opens a viewer listing all attributes and their values. The attributes page has a filter box at the top that lets you search for attributes matching the criteria.

Zowe CICS Explorer Filter

Enable and Disable

Right-click against a program, local transaction or local file to open up the pop-up menu and click Disable [CICS resource] to disable the resource. When a resource is already disabled the first option becomes Enable [CICS resource] to allow its enablement state to be toggled. A disabled resource is identified by a (Disabled) text next to its name.

Zowe CICS Explorer Filter

New Copy and Phase In

Use New Copy and Phase In actions against a CICS program to get the CICS region to load a fresh of the selected program into memory. This could be after you've edited a COBOL program source and successfully compiled it into a load library and now want to test your change.

The newcopycnt for a program which is greater than zero is shown next to the program item in the CICS resource tree.

Zowe CICS Explorer NewCopy Program

Open and Close Local Files

Right-click against a closed local file and perform the Open Local File menu action to toggle the openstatus attribute to 'OPEN'.

To close a local file, right-click against an open local file and perform the Close Local File menu action. This will bring up a prompt on the bottom right corner requesting to choose one of Wait, No Wait or Force for the file busy condition. Once an option has been selected, the local file name will be appended with a (Closed) label upon success.

Zowe CICS Explorer NewCopy Program

Purge Task

Right-click against a task and click the Purge Task command. This will open a prompt asking whether to perform a Purge or Force Purge.

Select the appropriate condition to perform the purge.

Zowe CICS Explorer Purge Task

Inquire Functionality

Right-click against a Task and perform the Inquire Transaction command. This will inquire the associated Local Transaction (i.e. the transaction with the name that matches the tranid attribute of the selected Task) under the Local Transactions folder.

The same can be done on a Local Transaction to find the associated Program by executing the Inquire Program right-click menu action against a Local Transaction.

Zowe CICS Explorer Inquire functionality

View Datasets under Libraries

Expand libraries of a region to view specific datasets belonging to a library. Right-click on libraries to Show Attributes to view library attributes. Similarly, right-click on datasets to Show Attributes to view dataset attributes.

Zowe CICS Explorer View Datasets functionality

View four CICS Web Resources under the Web Folder

Expand the Web folder to view TCPIP Services, URI Maps, Pipelines and Web Services. Each of these resources can be expanded and allows for right-click functionality on the specific resource to execute the Show Attributes command. Use the search icon to filter down specific resources by applying a filter.

Zowe CICS Explorer Web resources under the Web folder

Untrusted TLS Certificates

If the CMCI connection is using a TLS certificate that your PC doesn't have in its trust store, then by default the connection will be rejected as potentially this could be from an unsafe site. To override this behavior, either set the Only accept trusted TLS certificates field on the form when creating/updating the profile to False. This is the same as setting rejectUnauthorized=false on the Zowe CICS CLI profile.

If you define a profile as only accepting trusted TLS certificates when the Zowe Explorer first connects it will detect the mismatch and allow you to override the setting and proceed. This is done through a pop-up message with a Yes button to accept the untrusted certificate authority, which changes the profile's setting.

Zowe CICS Explorer accepted untrusted certificate

Usage tips

  • All menu action commands available via right-clicking a profile/resource (excluding Show Attributes) can be applied on multiple items by multi-selecting nodes of the same type before right-clicking and selecting the command.

    • To multi-select, either hold Ctrl/Cmd key while clicking resources, or select the first item in a list of nodes then hold Shift and click both the last item to select a consecutive list of nodes.
  • Click the refresh icon at the top of the CICS view to reload the resources in every region.

Providing feedback or help contributing

Checking the source of an error

Before filing an issue, check if an error is arising from the Zowe Explorer for IBM CICS extension and not the Zowe Explorer extension by expanding the error message and checking if the Source is Zowe Explorer for IBM CICS (Extension).

Zowe CICS Explorer NewCopy Program

Error messages arising from the Zowe Explorer extension will have the Source as Zowe Explorer(Extension).

Filing an issue

Before filing an issue, check the Troubleshooting guide first to ensure that the issue hasn't already been addressed.

To file issues, use the Zowe Explorer for IBM CICS issue list, or chat with use on Slack by indicating the message is for the Zowe Explorer for IBM CICS extension.

vscode-extension-for-cics's People

Contributors

adarshdeepcheema avatar andrewtwydell avatar github-actions[bot] avatar jeffinsiby avatar jilliebeansim avatar joe-winchester avatar rajpreetgill avatar t1m0thyj avatar traeok avatar zfernand0 avatar zowe-robot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-extension-for-cics's Issues

Filter Program Results

Remove unwanted programs from the tree; programs starting with CEE and EYU for example are not needed.

Add 'Phase-In' command

Add Phase In command, alongside the new copy command, to increase functionality of the extension.

Show Program Attributes

Similar to Zowe Explorer, allow the user to right-click a CICS program and view attributes.

Add Enable / Disable functionality to a program

Like CICS CLI Extension offers, have the ability to right-click a program and enable / disable it.

Also having a visual representaion of the STATUS (enabled or disabled) of a program without having to look at attributes would be nice.

This could be in the form of a different icon, or a (disabled) flag added to the program in the list.

Change Tree Structure to show programs under regions

Change the current structure of the CICS section to show the session name at the root of the tree, CICS regions under this (One if there is only a region, or multiple if it's a CICS Plex), and then programs under these region headings.

Profiles don't save if CICS CLI plugin isn't installed

When using the extension for the first time without the CLI CICS plugin installed, the profiles created using the GUI do not save.

The session is useable until the extension is closed, but there is no .zowe/profiles/cics directory and therefore no profiles.

To get around this, install the CICS CLI Plugin on your machine with zowe plugins install @zowe/cics-for-zowe-cli.

Deal with request limit > 2000

Check response

  • if request limit reached, show pop up "Please add filter"

Option in settings to override request limit automatically.

ReadMe updates

Complete and improve the Readme.md file for this project.

Currently, there are some sections filled in, some empty. These sections needs to be completed and improved. We can use Zowe Explorer's Readme as inspiration.

Provide dropdown item to add new profile

Currently, you have to espace the 'add session' input to navigate to the Add Profile UI form. The Zowe Explorer has an option at the top of their dropdown to start creating a profile. We want to implement this for consistency.

image

When adding a session, there will be an item similar to the one above, to get to the profile creation screen.

Remove Session from tree view

We can add as many sessions as required to the CICS panel of Zowe Explorer.

It would be good to be able to right-click and remove a session if it's no longer needed.

Description for filtering items

Currently, there is no description given when the 'filter programs' button is clicked; an empty input appears at the top of the page.

Some form of description or instructions should also appear below, like how Zowe Explorer displays their filtering, so the user knows what they've clicked and how to use the feature.

CICS and z/OSMF connections overlap

The API to register a CICS UI means that CICS connections appear on the list of z/OSMF connections and vice-versa.
A new API is required in the Zowe Explorer itself to allow CICS and other connections types to remain apart from each other (and avoid a user selecting the wrong one with unpredictable results)

Use Zowe Explorer ProfilesCache API to get CICS profiles

Currently, we have a copied version of the Profiles Cache from the Explorer's APIs. There will soon be a method to retrieve the profilesCache and use it's methods. We would like to implement this into the Zowe CICS Explorer.

Enable and Disable text not updated on command

When enabling or disabling a program, a manual refresh must be performed to have the text next to the program showing or not showing.

The New copy command updates this text automatically.

Consistency is ideal.

Proof of actions happening in the background

Links to #18, currently there is nothing to show actions taking place such as a Refresh, New Copy, or Adding Session.

This can be confusing as the user doesn't know if the actions is still happening or if something has gone wrong without an error message.

Cannot create profile if no CICS profiles exist

When there are no CICS profiles on the local system, the message shown is correct:
image

However, if the user then clicks the 'Add' button to create a new profile:
image

This message is shown repeatedly. Error in the logic that decides where to go depending on profiles. If no profiles exist, it's impossible to create one from the Extension.

To get round this issue: Create profile with Zowe CLI and reload extension.

Changes to be made: Adjust logic to be able to create profile, even if none exist.

Add VSCode Status Bar Items

It would be useful to have Status Bar Icons at the bottom of the screen during events like Refresh, Adding Sessions, New Copies etc.

These would indicate to the user that the action is in progress and show when it's complete.

Profiles do not appear in list after an error adding them

To recreate:

  1. Load CICS Plugin (Default profile should load)
  2. Click 'Add Session' button
  3. Click a profile that's listed that is unreachable (Either incorrect details or unreachable site etc)
  4. Error message should appear at the bottom with the expected error
  5. Click 'Add Session' button again

You should find this profile you attempted to add is not present in the available profiles.

This is incorrect behaviour; the profile should always appear in the dropdown list if not loaded into the tree.

Protocol is hard coded to http

Working with Mike Bauer who was testing the extension, he found that the protocol is hard coded to http:// and ignores the actual protocol of the profile (which in his case was https://)

Change 'Filter Program' icon

Currently the icon for the filter functionality is a placeholder; it's using the refresh icon as a POC.

We want to use the same filter icon as the Zowe Explorer for consistency.

UI design for 'Add Session' form

The current layout does not look the best.

The idea in mind is to group together attribute inputs under headings to be more intuative for the user.

eg.
Connection Details:

  • Host URL
  • Port
  • Protocol (Default https)
  • Reject Unauthorized (Default true)

User Details:

  • Username
  • Password

CICS Details:

  • Region Name
  • CICS Plex (If Applicable)

Add Icon so it appears when installed

Currently, when the Zowe CICS Explorer is installed, there is no icon showing in the 'installed extensions' tab.

It would be good to have an Icon showing, similar to the Zowe FTP extension.

Auto fill Region if plex is supplied

Currently, the extension errors if a plex is inputted but the region is not.

The UI mentions only one is required, as the region can be assumed the same as the plex name. However this is not implemented.

To get round this issue: When entering a CICS Plex, also enter that plex name in the region input field.

To be changed: Auto fill region field in profile creation if plex input has a value

Load programs on expansion of tree

Currently, all regions and programs of a given session are loaded when the session is added.

This results in long loading times, especially for the sessions with multiple regions.

Taking inspiration from the other panels in Zowe Explorer (e.g. Datasets), it would be good to only load region names beneath a given session name, and only load programs when the region tree is expanded. This way, only necessary loading times would take place, increasing the user experience.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.