* update python fwlinks and remove bundle ver
* start fixing path for users with python 36
* prompt user for python version upgrade
* update python path after removing 3.6
* prompt users to upgrade and show pkg warning
* make prompt async
* remove python bundle ver from ML extension
* shutdown python 3.6 before deleting
* check useExistingPython before update prompt
* add dont ask again option
* remove 3.6 after installing 3.8
fix merge conflict
* give option to remove python36
* list user installed pip packages in warning
* create notebook to install pip packages
* update getPythonExePath method and add comments
* clean up code
* add comments
* pr comments
* add comment
* remove option to keep python36
* shutdown active servers before removing python36
* fix error removing old python w/ path change
* update to 3.8.10
* restart sessions for mac/linux
* Add dialog for creating books
* create empty book
* add localized constants
* add validation to dialog
* reset the create book command to original
* address pr comments
* change error message
* Init book toc manager in bookTreeView
* fix search for pinned notebooks
* fix filtering when verifying that a search folder is not a subdirectory from the current folder queries path
* Show book node on pinned notebooks search results
* fix parent node on pinned notebooks search results
* fix search for pinned notebook and modify how pinned notebooks are stored in workspace
* update format of pinned notebooks for users that used the september release version
* removed unused functions
* Address PR comments
* fix parent node for legacy version of jupyter books
* remove cast from book path
* Add open book option in UI
* Add dropdowns option on dialog
* Add flow logic
* Fetch releases and validate URL
* Add class for github books and shared file books
* Change code structure
* Unblock local copy + stack overflows
* Download books from github
* Remove unused files
* Clean code and use the openNotebookFolder command to open remote book
* Checkpoint
* Refactor remote book dialog model to only hold data
* Remove ApiWrapper and refactor createlocalcopy method
* Use sinon js framework instead of typemoq for testing remotebookController
* Remove api wrapper
* Add some tests
* Add more tests and address pr comments
* Address PR comments
* Fix remotebook broken tests
* Add download location in output channel and use openBook command
* Address PR comments
* Fix typos, print error message and remove failing test
* Print error message
* Separate tests in different files
* Declare controller variable inside extension.tst
Co-authored-by: chlafreniere <hichise@gmail.com>
* Add and fix Notebook tests
* Fix name
* Fix compile
* Acutally fix error
* Add Notebook title test and fix command
* Add extra check and add comments
* Remove extra show error message
* Fix HDFS with AD auth for browse, read
- HDFS now fully supports expanding nodes for all levels, including using cookie for auth
- HDFS now support reading files from HDFS
- HDFS write file is broken and will be fixed (either in PR update or separate PR)
- Removed hack to use gateway-0 instead of actual DNS name now these are supported. Needed for testing
* Fix Jupyter error using new DMV with endpoints
Partially working AD support for BDCs with some known issues
- Plumbed through kerberos support to Notebooks.
- Using "gateway-0" for service temporarily as service endpoints API doesn't yet return correct DNS name. Will update in separate PR once available
- Plumbed kerberos auth to HDFS, Spark. Only partially working as we use same token on each call
- Will fix in separate PR, as this requires a refactor of WebHDFS library. Will need to either get new token every time or set a cookie, both of which require refactors
- Fixed error when Data Service node expansion failed and blocked all OE expansion
- Support for SqlToolsService change to use new cluster endpoints DMV
- Updated API to add new endpoints field to replace IP + port
- Added logic to handle case where endpoints for Yarn, Grafana etc. are in the list
- Sort list and use expected new localized strings
- Updated SqlToolsService to include support for new DMV
- Add "gateway-0" handling in Jupyter session as workaround for lack of domain names in endpoints list
Adds a protocol handler for notebook open, which can be used from browsers
Uses extension-based handler support so all URIs must start with `azuredatastudio://microsoft.notebook`
Adds 2 actions:
- `/new` opens a new empty notebook
- `/open` opens a HTTP/S file as an untitled notebook or text document
Sample URL:
```
azuredatastudio://microsoft.notebook/open?url=https%3A%2F%2Fraw.githubusercontent.com%2Fkevcunnane%2Fmsbuild_ads_demo%2Fmaster%2F0_YoAzdata.ipynb
```