-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add zftp for dataset #1219
add zftp for dataset #1219
Conversation
Signed-off-by: tian na <tiantn@cn.ibm.com>
Per @tiantn, the following Data Set functionalities should be tested with a zFTP profile:
|
This is super cool! thank you for adding this @tiantn . Just a few things:
For example: Saving a dataset. ZE uses the top one and zFTP uses the bottom one. |
I encountered errors when testing: |
I'll prepare a release note for Changelog for this feature. If you guys could notify me slightly before you merge this PR, it would be fantastic. This way I can open a PR to merge the Changelog change. |
Thank you @jellypuno!
|
Thank you jellypuno!
|
Is it possible to use the compare functionality that we have in Zowe Explorer? If not, A better error message would suffice.
To re-create this, you need to add the datasets in Favorites and then perform the functionalities there. |
I have secure credential store installed
@lauren-li Are you planning to add the JesAPI PR in 1.13 release? Or will this be an incremental release? Or part of 1.14 release (April 9) |
@tiantn Thank you for your work on this PR! It is a great start towards getting MVS functionalities with FTP in Zowe Explorer. This helps to address issues #994, #1197 and #1027 (which are all about adding FTP for MVS, but from user and developer perspectives). Overall, this PR works quite well across the tested functionalities. So far, the issues I ran into have pretty much already all been mentioned by @jellypuno in previous comments. (Thank you Jelly for such thorough testing!)
@jellypuno I agree with this. Actually, I think it would be good to include in our conformance criteria that error messages like this should identify the profile type (or extension) where possible. Something like: "Method not yet implemented in FTP".
@jellypuno I agree with this as well! (Maybe also a good conformance criteria recommendation?) ~~ @tiantn I did not face the issues Jelly mentioned with uploading, renaming, or deleting favorited data sets with FTP. I was able to successfully complete these actions on both unfavorited and favorited PDS and sequential datasets, as well as PDS members. However, for content conflict on save and unsupported functions, it would provide an improved user experience to implement the error handling as Jelly mentioned. ~~
@jellypuno That is a good question for @tiantn! :) As our code freeze for the Zowe Explorer 1.13.0 release is planned for this Thursday, I would recommend to focus on polishing these MVS functions for now, and then shoot for 1.14.0 for the JES functions. However, this is really up to @tiantn, as she has done most (if not all) of the work on these generous contributions for FTP. |
Thank you @lauren-li ! I plan step by step to deliver the functions. We can foucs on the MVS functions first. And then the JES functions. 😊 |
@lauren-li @tiantn ok. we have a plan then 😊 Our next steps would be:
|
Here are my summary after testing it.
For the unsupported actions, I can see the error with From my view, the quick refinement for the error messages of |
@std4lqi Thank you for testing and posting the comprehensive summary! I tried a couple things to get the error handling to work from the PR side, but I think you are right. @jellypuno Do we want to try and implement the error handling on the Zowe Explorer end for 1.13.0? In addition to |
@lauren-li I am planning to prioritize it next PI 😄 but if you think we should then we can definitely plan it. I am just concerned about capacity. Anyways, I've created an issue about centralized error handling: #388 . Let me know if this is something that you have in mind or maybe you have something else. |
@jellypuno Good to hear you are already planning for it, and thank you for creating the issue! I think providing a way for Zowe Explorer extenders to display helpful error messages is important, especially if we are writing specifications for these error messages in our conformance criteria. I was hoping we could do it sometime this PI, but I think you have a valid concern about capacity. (Personally, I am still trying to catch up with my tasks for this sprint.) If we are able to do it earlier, we should. It would definitely be best if we could address Zowe Explorer's implementation before publishing our conformance criteria. |
@std4lqi I agree with you. Let's do that for now and then we can enhance it in the future. |
Signed-off-by: tian na <tiantn@cn.ibm.com>
…-zowe into zftp-dataset handle error messages
Thank you for your good summary and advices. @jellypuno @lauren-li @std4lqi I added some try/catch in actions.ts for dataset and also updated some messages in ZoweExplorerFtpMvsApi.ts. Could you help to try it again? Thank you very much! |
@lauren-li @tiantn For some reason I cannot see the error messages that you've added. it seems like when I try to do an action it doesn't go there. Even the |
@tiantn Thank you for taking the initiative to add the error handling within the Zowe Explorer package! Unfortunately, I am experiencing the same thing as @jellypuno. To be sure, I tried stopping the watchers and deleting all my |
Thank you @jellypuno @lauren-li . It is very strange. It works well in my environment. I retried it from clone this branch. The following actions I done:
|
@tiantn @jellypuno After following @tiantn's method of testing, I am now able to see the new error messages for copy/paste, migrate, and recall. I would have expected this to work from VS Code's Extension Development Host, but maybe something about making simultaneous changes in two separate extensions is giving it trouble. In any case, building/installing the Here is the error message I see for copy/paste: For migrate and recall, I get the new error message, but I also still get the info message that a migrate/recall request was made. I think this can mislead users into thinking maybe the request succeeded. We may want to revise this behavior in a future PR: I am still doing some additional testing, but so far, I think this PR is in good shape! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested the list of supported functionalities and they work well for me. I think this PR brings a lot of value especially as this showcases our extensibility for other connection types.
I saw some inconsistencies in the error messages for the unsupported functions but this can be handled in a subsequent PR.
Thanks for the hard work @tiantn
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR works well for me now. For the Zowe Explorer package, all unit and expected integration tests are passing. In manual testing, the MVS functionalities listed in earlier comments are working with appropriate basic error handling for zFTP profiles, and I did not see regressions with USS.
~
For the next PR to the FTP extension, I have the following suggestions for error handling:
- Implement the Compare functionality for resolving file conflicts when saving. (Or, if that is not done, then address the comment for line 152 of
ZoweExplorerFtpMvsApi.ts
.) - Capitalize all instances of "FTP" in error messages.
Thank you @tiantn for this contribution, and for being so responsive to our feedback on it! We greatly appreciate your hard work in introducing the MVS functionality using zFTP profiles to Zowe Explorer.
const contentsTag = await this.getContentsTag(dataSetName); | ||
if (contentsTag && contentsTag !== options.etag) { | ||
// TODO: extension.ts should not check for zosmf errors. | ||
throw new Error("Save conflict. Please pull the latest content from mainfram first."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mainfram
Change to: "mainframe"
Because pulling from the mainframe would overwrite any local changes the user was making, I think we should note this in the error message. This can be done in a future PR.
Signed-off-by: tian na tiantn@cn.ibm.com
Proposed changes
Add the zftp extension for dataset to list dataset, list dataset member, edit dataset, upload member, rename dataset, delete dataset and so on.
Release Notes
Milestone:
Changelog:
Types of changes
What types of changes does your code introduce to Zowe Explorer?
Put an
x
in the boxes that applyChecklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This checklist will be used as reference for both the contributor and the revieweryarn workspace vscode-extension-for-zowe vscode:prepublish
has been executedFurther comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...