sassoftware / vscode-sas-extension

This SAS Extension for Visual Studio Code provides support for the SAS language, including features such as SAS syntax highlighting, code completion, hover help, code folding, outline, SAS code snippets and run SAS code.
https://sassoftware.github.io/vscode-sas-extension/
Apache License 2.0
117 stars 47 forks source link

Local/Remote IOM connection - Support SAS 9 server file system #889

Open snlwih opened 6 months ago

snlwih commented 6 months ago

Is your feature request related to a problem? Please describe. I need to be able to work with files that are stored on the file system of the (remote) SAS Server

Describe the solution you'd like Similar to connections to Viya 4, I would like to see a SAS Explorer panel that allows me to navigate the SAS server file system, create/edit/delete/rename files and folders, and Upload Files and Folders from the local file system where VSCode is running.

Environment SAS version: SAS 9.4

clangsmith commented 5 months ago

This should likely be done in coordination with the same feature request for Viya (#417), since they should have a largely consistent experience.

scottdover commented 3 months ago

Hey @smorrisj and @clangsmith. I'm wondering if I can get your thoughts on design approach for this (assuming this will include implementing SAS server for ITC/COM & Viya)

Here's some background of how things work currently. Right now, we have the following concepts:

Right now, these are all viya specific and SAS content specific. Here's how I'm thinking of changing things to support SAS server. As an aside, right now I'm going with the assumption that the "content" references above are not about "SAS Content" specifically, but more about "content" (as in the contents of a file).

I think there will also need to be some considering/refactoring of converting notebooks to flows

clangsmith commented 3 months ago

I do not have good familiarity with the current code, but the way you describe it and your suggested updates makes sense to me -- common architecture to share what we can and use adapters (similar to interfaces) to customize/handle the differences.

clangsmith commented 3 months ago

We are working on routing an internal requirement (PMSTUDIO-976) to appropriate folks to consider adding the file navigation root options to the Compute Context, so it is under admin control (like it is in V9 and SAS Studio on Viya 4) and so that anyone (or client) who uses a specific Compute Context will get a consistent file navigation root. Otherwise, the best we can do is probably like EG, which stores the file navigation options in the profile, thus can be changed by any end user.

smorrisj commented 3 months ago

@scottdover approach looks good here. I like the separation of concerns, with keeping connection specific code in those respective feature areas. Based on prior conversation, it also sounds like we could potentially enable/disable it for workbench connections as well, depending on what we want feature wise for that.