GithubHelp home page GithubHelp logo

eclipse-che4z / che-che4z-explorer-for-endevor Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 20.0 19.86 MB

Explorer for Endevor is an extension that modernizes the way you interact with Endevor inventory locations and elements

License: Other

TypeScript 98.56% JavaScript 1.15% Gherkin 0.27% Shell 0.02%

che-che4z-explorer-for-endevor's Issues

Question: How to configure Endevor Web Services to get Elements encoded in UTF-8 when retrieve or browse action ?

Using the "Explorer for Endevor" extension in VSCode, we would like the information retrieved during a RETRIEVE or BROWSE to be encoded in UTF-8.

We tried to configure the Endevor Web Services (EWS) server with the options CharacterSet="UTF-8" / LFSEncoding="UTF-8", or with CharacterSet="UTF8" / LFSEncoding="UTF8", but this causes an error at EWS level during a RETRIEVE (but OK for BROWSE).

The only value that works for us is "ISO8859-1", which then causes errors on many characters and in particular French accented characters at VSCode.

<DataSource xmlns="http://scm.ca.com/endevor/CFG" xmlns:cfg="http://scm.ca.endevor" 
   Name="ENDEVOR" Status="Available" 
   Message="ENDEVOR Web Service" 
   Description="Endevor demo">
  <STC JobName="WSEWSSTC" 
     ProgramName="BC1PAPI0" 
     HostName="TMVS" 
     Comments="Welcome to ENDEVOR" 
     UserId="" Password="" EncryptedPassword="" 
     PoolInitSize="0" PoolIncrSize="1" PoolMaxSize="0" PoolReapTime="0" 
     UnusedTimeout="0" AgedTimeout="0" ConnectionTimeout="0" 
     ResponseTimeout="0" 
     KeepAlive="0" 
     ConnectionMaxWS="0" ConnectionMaxKBytes="0">
   <wsParameters Lang="EN" Locale="" TimeZone="GMT+0.0" 
      CharacterSet="UTF-8" CodePage="cp01147"   
      LFSEncoding="UTF-8" Encoding="cp01147"   
      ContentType="Text" 
      Trace="TestMonitorSTCPool" Traced="ALL" Version="" 
      Product=""/>
  </STC>
</DataSource>

Endevor for ZOWE plugin:

zowe endevor retrieve element COB0C7 --env ETU --sn 1 --sys SIRIS --sub S9 --typ COBOL -i ENDEVOR
[INFO] endevor action executed in location: ETU/1/SIRIS/S9 on element: COB0C7.COBOL
[INFO] Running on host: TMVS:8180 instance: ENDEVOR
Command Error:
[ERROR] return code: 0016 reason Code 0000
[ERROR] EWS1117I Request processed by SysID TMVS, STC WSEWSSTC - STC08595,!EWS1115E!

STC Tomcat (WSTOMSTC):

09:44:12.146 <http-nio-8180-exec-1> ERROR (c.c.e.j.EndevorSubmitCategoryL) [Internal error] STC: EWS1117I Request processed by SysID TMVS, STC WSEWSSTC - STC08595
09:44:12.146 <http-nio-8180-exec-1> ERROR (c.c.e.j.EndevorSubmitCategoryL) [Internal error] Read output file of list type : Unrecognized field "TYPE Â# ID" (class com.ca.endevor.jersey.csv2json.TypeInfo), not marked as ignorable (47 known properties: "REGR SEV", "UPDT DATE", "NEXT TYPE", "STG #", "FWD/REV CMPNT DELTA", "INCL DSN", "FWD/REV/IMG/LOG ELM DELTA", "COMPRESS BASE", "DFLT PROC GRP", "CONSOL LL", "CMPMT AUTO CONSOL LL", "DELTA DSN", "INCL DS TYPE", "UPDT USRID", "BASE DS TYPE", "FILE EXT", "CMPNT CONSOL LL", "AUTO CONSOL", "AUTO CONSOL LL", "COMPARE (T)", "DELTA DS TYPE", "STG NAME", "STG SEQ #", "SRC LNG", "CMPNT AUTO CONSOL", "DATA FORMAT", "LANG", "COMPARE (F)", "TYPE NAME", "ELEMENT RECFM", "STG ID", "BASE/IMAGE DSN", "ENV NAME", "SRC O/P DS TYPE", "PV/LB LANG", "EXPAND INCL", "DESCRIPTION", "SYS NAME", "RCD UPDT CNT", "REGR %", "SRC O/P DSN", "ELM NAME NOT ENCRYPTED", "REL ID", "SITE ID", "TYPE # ID", "UPDT TIME", "USS DELIMITER"])
 at [Source: (StringReader); line: 2, column: 32] (through reference chain: com.ca.endevor.jersey.csv2json.TypeInfo["TYPE Â# ID"])

Optional credentials in Endevor

Currently, Endevor doesn't allow you to create profiles with optional credentials (user/password).

So these should be made optional in the future.

There is no ability to specify Zowe location

AS IS
As a user, I need to install Zowe globally, not in my preferable place.

TO BE
As u user, I can specify Zowe where I want to and just specify the details in the extension configuration.

Environment:
OS - MacOs Catalina
VS Code - 1.51.1
Endevor Explorer - 0.11.1
Zowe version - 6.24.5

Issue listing elements with lowercase letters or long names

When viewing elements, if the element name has lowercase letters or has more than eight characters, the displayed element name is altered. I opened this issue against the CA Endevor plug-in for Zowe CLI and the feedback was that they needed to use the fullElmName field instead of the elmName field. There could likely be significant synergy and code reuse between these projects.

This issue does not occur in the Eclipse interface:
Eclipse_Endevor

Explorer for Endevor and CA Endevor plug-in for Zowe CLI:
image

Extension doesn't activate after I deleted a profile

Extension doesn't activate after I delete a profile (manuall from file system) but the details of that profile are still in settings.json

Steps to replicate:

  1. Open extension and add a couple of profiles
  2. Make sure they are in settings.json
  3. delete a profile yaml file from .zowe/profiles/endevor
  4. Reload VS Code
  5. Receive error message:
Activating extension 'broadcomMFD.explorer-for-endevor' failed: Could not find profile named: [PROFILE_NAME]..

Elements in Stage 2 are shown in the tree

I created a location profile and stated that my StageNumber is eq 1. When I view the tree, I am able to see elements from Stage 2. That is not good. I do not want to see elements from stage 2

Define a path for storing execution reports for endevor for zowe cli in the endevor profile

This issue is for the @broadcom/endevor-for-zowe-cli plugin. In the absence of a public GitHub site for this plugin, I declare it here.

The execution reports of zowe endevor commands are stored in the current directory, and therefore probably never purged.

You should be able to declare a location for storing execution reports at the zowe endevor profile level, and even if it is possible to declare this location in an environment variable like "ZOWE_ENDEVOR_REPORTS_LOCATION".

This would allow for example to declare the temporary files folder as the storage location for Endevor execution reports, (on Windows the location% temp%).

Endevor reports location

Error: Workspace

This error message is so vague:

image

I would like to ask for a better error message.

Declare the Endevor instance in the endevor profile rather than in the endevor-location profile

This issue is for the @broadcom/endevor-for-zowe-cli plugin. In the absence of a public GitHub site for this plugin, I declare it here.

It is not possible to declare an instance (--instance) by default at the endevor profile level. The instance to use can only be declared in the endevor-location profile or at the level of the zowe commands.

In general, there is only one Endevor instance declared at the Endevor Web Services server level, and this is a property of the Endevor Web Services configuration, so it would make sense that the endevor profile is the one carries this information rather than the endevor-location profile.

This may impact the operation of the Explorer for Endevor extension.

Retrieve functions not working with Bridge for Git repository

When I have a synchronized repository from Bridge for Git open in my editor and try to retrieve an element or retrieve with dependencies, the process runs but no files open in my editor and don't appear anywhere.

Can you ensure that this functionality works in concert with Bridge for Git?

Sort objects when creating a filter

As a user, I'd like to be able to sort the objects after I've created a filter. As an example, I have a lot of "No source" elements in my Endevor sandbox and want to be able to see only the edited components at the top of the list.

Right now, the extension shows all elements, but I cannot retrieve "No source" elements because it only displays the error "C1G0208 ELEMENT NOT FOUND".

Compatibility with the @zowe/secure-credential-store-for-zowe-cli plugin

This issue probably concerns the plugin @broadcom/endevor-for-zowe-cli.

It seems that the "Explorer for Endevor" extension is not compatible with the @zowe/secure-credential-store-for-zowe-cli plugin: when this plugin is installed, "Explorer for Endevor" manages to display the "filters" and "maps", but fails to list the Elements.

When we uninstall the @zowe/secure-credential-store-for-zowe-cli plugin (and recreate the Endevor profile used), it becomes possible to list the Elements.

Enhancement request - Click the element to browse it by default

When I use VS Code explorer or Zowe plugin under VS Code to display MVS datasets and members, I just click the desired member or file and it is opened on the right panel so I can browse it immediately.

Using Explorer for Endevor, I need to first right-click the element and then select Browse Element. This is not so intuitive for me. I would expect the element to be opened in browse mode by default when I click it like the other explorers in VS Code work.

extension doesn't properly load connections stored in settings.json

Upon adding several profiles in the tree, they are also added in settings.json under endevor.connections, but on any subsequent load of the extension, only the default profile is added back to the tree, where as the expected behavior is that all connections previously stored should be loaded automatically.

View all element in the map

I would like to have the ability to view all the element in the map. In v11, this feature is available.

Possible Solution: Allow wildcard in all fields in the Endevor Location.

Respect VSCode 'enabledTrash' setting during files deletion

AS IS:
If I have the setting 'files.enableTrash' activated globally or in the E4E folder, I have this error: Error: 'blahblah' to the recycle bin during the element uploading into Endevor. Element is still uploaded, but I have to close outdated tab in VSCode manually and the error message does not look great.

TO BE:
E4E should respect the setting about enabled trash and delete files without recycle bin at all. So there should be no error messages, outdated tabs should be closed accordingly.

Choosing a workspace for retrieve elements

As a user, I would love to work with several root folders opened in VSCode with opened E4E.

There is an ability to choose the primary workspace folder in VSCode. I think E4E can use it, and also it can store user choice in memory to prevent asking all the time.

Collapse the node when login is cancelled by the user

Steps to reproduce:

  1. Select E4E extension and expend a node (Filters or Maps)
  2. Cancel the login (using ESC key)
  3. Node stays expanded
  4. After a page refresh it requires the login again...

Desired behavior:
When the user cancels the login, the node collapses so that after refresh it does not require login.

Full text search across the all elements in Endevor - Enhancement request

When using explorer for Endevor, I can browse all the elements defined in any particular Endevor system. However, when I work on resolving any customer case, I need to search for specific string across all the elements in the respective Endevor system to find all elements containing the searched string. This is not currently possible in explorer for Endevor so I need to run a batch job, executing program NDVRC1 and find the search results in the output of the job.

Error files.encoding generate � or � and that should be £

We have an issue when we browse or retrieve an element via Visual Studio Code and it change some character like the "£".
Visual Studio Code convert it on � or � 

Problem: E4E is currently supporting UTF-* encoding only
Solution: Have the ability to support other encoding

Collapse all nodes after browser refresh

When any node in Explorer for Endevor is expanded and the page is refreshed, the credentials prompt pops-up even when the user works in a different tab or extension.

Steps to reproduce:

  1. Login to E4E and open any node (Filters or Maps)
  2. Refresh the page
  3. Credentials dialog pops-up

Desired behaviour:
After browser refresh, all nodes collapse so that no login is required.

Screenshot 2020-01-30 at 12 10 34

Add a New Profile - prompt doesn't disappear when clicking outside the prompt area

Opening the discussion to allow to cancel the action of adding a new profile in the tree by clicking outside the prompting area.

While checking the source code, I can see that the current behaviour is present on most (if not all) input boxes.

Option in case:

export interface InputBoxOptions {
    /**
    * Set to `true` to keep the input box open when focus moves to another part of the editor or to another window.
    */
    ignoreFocusOut?: boolean;

VSCode - Listing files have the type as a filename suffix

When I use the VSCode extension "Print listing" option the listing is retrieved with a filename suffix of the type name. In our case the suffix is ".cobb" which causes the listing to be viewed with COBOL highlighting on. This highlighting gives some unusual colouring.

Shouldn't the listing filename have .txt as it's suffix?

Investigate Jenkins Error "line 1: npm: not found"

Error received in Jenkins after adding Test stage.

[Pipeline] sh
11:28:13 + npm run test
11:28:13 /home/jenkins/agent/workspace/endevorExplorer_PR-55@tmp/durable-4fb70ace/script.sh: line 1: npm: not found
[Pipeline] }
[Pipeline] // w

Will disable the stage until the error is fixed.

Signout support

I would like the Edit feature to include signout support.
If an Endevor system requires signout in the system definition
SIGN-IN/SIGN-OUT OPTIONS:
ACTIVATE OPTION: Y (Y/N)
then retrieve the element for edit with signout. Whether retrieve with signout is used or not should be transparent to the user.
If the element is already signed out to another user then offer the option of overriding the signout.

The current version of the edit feature does not work for us because the add fails saying that the element is not signed out.

Inconsistency on the "profile" property in the package.json file

When editing the settings of the "Explorer for Endevor" extension in VS Code, an anomaly in the properties structure is reported: a "profile" property is missing.

In the package.json file, at the properties description, the "profile" property is required, but in the settings.json file it is a "profileLabel" property that is used.

E4E profile property missing 1

E4E profile property missing 2

E4E profile property missing 3

Issue when using https

We recently changed the protocol of the Endevor web service to https. After making this change, we are no longer able to use the Explorer for Endevor. When entering a new connection, a message pops up that reads Waiting for https://host:port to respond.

I can successfully reach the service via the CA Endevor SCM Plug-in for Zowe CLI. When using the CLI plug-in, I do specify --reject-unauthorized false. The Explorer for Endevor does not present me with such an option so that may be related.

Version: 1.37.1
Commit: f06011ac164ae4dc8e753a3fe7f9549844d15e35
Date: 2019-08-15T16:17:25.463Z
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 4.15.0-88-generic

Explorer for Endevor v0.9.1

Saving connection settings in the "user" settings.json

Using VS Code, by default the settings for connections to an Endevor configuration (EWS) are saved in the workspace's settings.json file, not in the user's settings.json file.

The connection settings contains information related to the user, which causes a problem when the workspace is a GIT repository: these settings are propagated to other users during GIT push / merge ...

The connections settings to an Endevor configuration should be saved in the user's settings.json file, or even differentiated between user-related settings, stored in the user's settings.json file, and context-related to Endevor settings (EWS Server), stored in the workspace settings.json file (shareable by all users).

Support for base profile

This issue is for the @broadcom/endevor-for-zowe-cli plugin. In the absence of a public GitHub site for this plugin, I declare it here.

As it stands, version 5.6.0, the @broadcom/endevor-for-zowe-cli plugin is not compatible with the use of a base profile.
A base profile is used to share some options between services profiles, such as user code, password, host machine, etc.

'Add' element back to Endevor

Description:
As Michelle, I want to be able to safely add an element back to Endevor, so that my local changes can be uploaded to Endevor repository. If the element is existing or there are any problems, I would like to receive an error message so I could check and correct it.

The process for adding an element will be as follows:

  1. Click the Add file Icon (Talk to UX) to trigger add element.
  2. Choose/Select the element that I want to add in Endevor
  3. Once I click okay, target location will be prompted > CCID > Comment (Similar to edit)
  4. Add element API is triggered and the tree is updated with the new element
  5. If there are duplicates/problems, a warning message will appear to allow me to check on those errors. 

Note: This feature will only add one element at a time. Adding of multiple elements is out of scope.

Tasks:

  • Modify the existing Add Element API
  • Add Element is added as a command
  • VSCode API to get the files from the file system is added
  • Refresh the tree after adding the element

Changing underlying profile requires you to restart VS Code

I hadn't used this extension in a while and ended up having to change my password in the endevor profile. After changing, that didn't appear to propagate to the extension in vs code as it was using the old credentials. Clicking the refresh button still used the old password. I ended up having to restart VS Code to get the change.

I'd prefer if the updates to the profile in use could be picked up by this extension.

Not able to create New Profile in THEIA

Description:
On theia, not able to create a new profile

Steps to Reproduce issue:

  1. Click on create new profile
  2. Enter all the details
  3. In the last it is throwing an error "Error saving profile see output" but in theia i can't find output in terminal

Screenshot:

image

Not Showing proper lable for username while creating new profile on THEIA

Description:
Explorer for Endvor is not showing proper lable in THEIA like when we create a new profile and on the username inputbox it shows enter url.

Steps to Reproduce issue:

  1. Click on create new profile
  2. Enter profile name
  3. Enter host and port (fakehost:1003)
  4. Now see the username inpubox lable.

Expected Result:
It should display proper lable for username "Enter the user name for the connection. Leave blank to not store. (Press 'Enter' to confirm your input or 'Escape' to cancel)"

Screenshot:
image

Fix Eslint error

PR #61 is switching from tslint to eslint. The rules are strict, but while implementing it, some code needed to be exluded from the rules.

This is to go back to source and fix all outstanding errors. Ideally we want to have no piece of code which is excluded. Where not possible, explanation in comments is welcomed.

add usage tip: How to validate an Endevor URL

In any browser, it's possible to access: http(s)://host:port/basePath (example: http://192.178.0.1:111/EndevorService/rest) and get a list of configurations available for that Endevor Web Service.

Output should be something like:

[{
  "description" : "Endevor Web Service",
  "message" : "ENDEVOR Web Service",
  "name" : "ENDEVOR",
  "status" : "Available",
  "jobName" : "JOBNAME",
  "programName" : "PROGNAME",
  "hostName" : "HOSTNAME",
  "comments" : "Access to ENDEVOR Instance",
  "userId" : "USERID",
  "password" : null,
  "poolInitSize" : 0,
  "poolIncrSize" : 0,
  "poolMaxSize" : 0,
  "poolReapTime" : 0,
  "unusedTimeout" : 0,
  "agedTimeout" : 0,
  "lang" : "EN",
  "timeZone" : "GMT",
  "characterSet" : "ISO8859-1",
  "codepage" : "cp1047",
  "contentType" : "Text",
  "traced" : "ALL"
}]

This can be used as a fast way to validate the URL outside of Explorer for Endevor or Zowe CLI with Endevor plugin

Specify workspace before creating repository.

I've installed the explorer for endevor plugin in visual studio code version 1.45.0.
The first thing I tried after it was installed is to create a new connection. But when I click that, the error message 'Specify workspace before creating repository' is shown. Can you guide me to what I'm suppost to do in this case?

"OPTION NOCC" on browse action

The "browse" action is a "PRINT ELEMENT ... OPTION BROWSE".
The result content is a "listing", not a "element".

I suggest that the "NOCC" option to be used, "PRINT ELEMENT ... OPTION BROWSE NOCC" to suppress header and the ASA code in column 1.

There is not quite understandable message during attempts to fetch Endevor instances after profile creation without opened folder

Basically, the flow is pretty simple:

  1. Go into the Endevor Explorer extension
  2. Create a new profile (pick a +)
  3. Specify the name, connection host/port, userid, pass and etc.
  4. The profile will be displayed in the sidebar
  5. But the (+) button will be not active, and everything you can do - delete the session itself

AS IS:
After the point 5 from above list, you will get only not quite understandable messages about the workspace was not opened.

TO BE
The message can be more clear, like, 'please open something in the Editor tab'. Also, it would be great to have such info in the README

Environment:
OS - MacOs Catalina
VS Code - 1.51.1
Endevor Explorer - 0.11.1
Zowe version - 6.24.5

Storage of Elements obtained by Retrieve in a path compatible with the Endevor Bridge for Git

During a RETRIEVE on an Element, this Element is stored in subfolder of VS Code Workspace, only named with the Element's type.
To be consistent with the management of Git repositories as provided by the Endevor Bridge for Git, the Elements should be stored in a folder with the name of the Endevor System and Subsystem.

Example:

  • retrieve of Element TEXTXML, Type COBOL (extension .cbl), System SIRIS, Subsystem S9
  • current storage: .\COBOL\TEXTXML.cbl
  • expected storage compatible with the Endevor Bridge for Git: .\SIRIS\S9\COBOL\TEXTXML.cbl

E4E - ETU-1-SIRIS-S9-COBOL-TEXTXML

E4E - COBOL - TEXTXMLpng

View action on Element

The "Explorer for Endevor" extension provides actions "Browse Element" (in fact "PRINT ELEMENT"), and "Retrieve Element" which sets a lock at Endevor level (Signout option).

The @zowe/endevor-for-zowe-cli plugin provides a "view" command to do a "retrieve no signout".

I suggest that a "View Element" action be added to the "Explorer for Endevor" extension to allow element retrieval without setting a lock in Endevor.

Fix Circular Dependencies

PR #61 is adding "madge" to detect circular dependencies.
Currently it's added as a separate npm script. Once all are fixed it should be added in the linting process as well.

Enhancement: Prefix commands with extension name

VSCode extension commands can be accessed by pressing 'F1' to open command palette, then typing the command title.

For example, for this extension, there's a command with the title 'New connection'. It can be accessed in VSCode by doing 'F1' -> type 'New connection' in the input box.

It is difficult to tell that this command actually is provided by Explorer.
Therefore I suggest adding a prefix to the command title. something like:
"Endevor-Explr: New Connection"

There are some commands that probably don't even make sense to be exposed to the command palette. For example 'browse element'. Probably wanna take those away from package.json.

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.