Skip to content
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

Scope work for zipping blob within vscode and decouple dependency on zip file from periscope tool. #72

Closed
Tatsinnit opened this issue Jun 17, 2021 · 1 comment
Assignees
Labels
enhancement 🚀 New feature or request or improvements on existing code.

Comments

@Tatsinnit
Copy link
Member

Tatsinnit commented Jun 17, 2021

Initial description

This work-item is created to scope what all work will entail to stock take work needed to write extension level *.zip for case when\if periscope tool removes *.zip from their upload to azure storage.

  • How much upfront work will be needed to render the azure storage and use jszip.
  • With initial investigation it will definitely involve writing the zipper function within the vscode.

Origination of this thought/idea and key issue:

  • Currently for the the vscode x periscope feature leverage the *.zip file which was always there by design form the initial days of periscope tool
    • Now, given Periscope tool is cleaning up and as part of clean up holding the *.zip of something which already exist, is in the possible re-think.

Key challenge:

  • Current way we can rely on the vscode default browser behaviour of download since we will handle the zip at vscode level how can we trigger default save behaviour?

Update 20th June

Gained more clarity by implementing the functionality and there were challenges but more succinct version is below and I will tag a PR with this for the associated changes.

Goal To implement the vscode level download and zipping mechanism and to move away from the browser click mechanism. This enhancement decouples the underlying periscope implementation to calling mechanism only and no point of being dependent on a zip file which was populated earlier by the tool.

Implementation

Update 21 June - Draft POC PR

⚠️ 💡 Implication of doing this in VsCode are following:

Here is what we found the implications/Poor experience are from the draft POC implementation here: #75

  • Poor Download U/X experience: The current downside to move away from the link to browser will be gone, and replaced with only message driven approach. ( this is something which seems inevitable)

  • Slower U/X experience: This will happen because the underlying code now deal with directly downloading the blob from storage and stream the download into the zip file and save it into the download folder all within vscode.

  • Maintenance of this code needs some guarantee and contract form the persicope tool that the blob folder structure will not change in future.

  • Breaking change: As an user-experience and tool related breaking change the vscode changes need to go first before any tool related changes to remove zip upload is removed.

  • Periscope Tool level PR: Remove usage of files aks-periscope#65

Thanks,

@Tatsinnit Tatsinnit added the enhancement 🚀 New feature or request or improvements on existing code. label Jun 17, 2021
@Tatsinnit Tatsinnit self-assigned this Jun 17, 2021
@Tatsinnit Tatsinnit changed the title Scope work for zipping periscope blob. Scope work for zipping blob. Jun 17, 2021
@Tatsinnit Tatsinnit changed the title Scope work for zipping blob. Scope work for zipping blob within vscode and decouple dependency on zip file from periscope tool. Jun 20, 2021
@Tatsinnit
Copy link
Member Author

💡Update: This is not longer necessary because the zip functionality is added back with latest enhancement. Thanks. PR at the periscope end where discussion took place et. al. is here: Azure/aks-periscope#65

Closing this work item.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 🚀 New feature or request or improvements on existing code.
Projects
None yet
Development

No branches or pull requests

1 participant