Skip to Content
Technical Articles
Author's profile photo Andrew Lunde

Xtending Business Application Studio : 2 of 3

UPDATE:

As of the start of 2021 Business Application Studio has the Open VSX Registry extension enabled.

If you see this icon on the left toolbar, the extension is enabled.

As such, this blog post is largely redundant unless the extension is removed in the future.

Picking up from part 1 of this 3 part blog post we will show you how to load extensions into Business Application Studio(BAS).

Extension Plugin :

 

As of this posting December 10, 2020 the version of BAS available does not have the extension plugin enabled.  If you read part 1 of this series, you learned that BAS is based on the Eclipse Theia Framework that makes it compatible with Microsoft VSCode IDE.  When you click on the extension plugin in VSCode, you get a listing of extension provides by the VSCode Marketplace.

Unfortunately, SAP uses a different user license than Microsoft and only their tools are allowed to use the Visual Studio Marketplace.  The good news is that there is the Open VSX Registry extension marketplace that does conform to SAP’s user’ license and it therefore is allowed to be used in BAS.

If you followed part 1 you should have cloned the notroot repository.  In this repo there is a folder called scripts which contains some handy scripts to help bootstrap our efforts.  I’m going to use a version of the python_ext script here to show how to load extensions while we wait for the extension plugin to become included in BAS in a future version.  Here we are going to load the MS Python extension.  To prove to ourselves that this works, first look at the File -> Settings -> Open Preferences to see that there are no python preferences currently.

Also check View -> Find Command… and see no Python commands either.

Now run this script to download the python extension.

mkdir -p /home/user/default-plugins
cd /home/user/default-plugins
curl -LJO https://open-vsx.org/api/ms-python/python/2020.10.332292344/file/ms-python.python-2020.10.332292344.vsix
echo "Stop/Start your DevSpace!

Notice that it hints you to Stop/Start your DevSpace.  Do that now.

Go the the url in your browser and remove everything in the location past the index.html and hit enter.

Click on the round stop button.

And once it’s reached the STOPPED state, click the arrow button to start it again.

Click on your Dev Space name to return to BAS.

Now try to find a command with python in the name.  You should see a bunch now.

Just for fun, let’s try the tree command we installed from part 1.

/home/user/notroot/usr
tree

It’s still there!

Missing?! :

 

If you try any of the python commands they are not going to work yet.  This is because we’ve installed the python extension itself but not the underlying python language interpreter.

We’ll do that in part 3 of this series.

 

Let me know if you have and questions or issues by leaving me a question below or better yet, asking it on the SAP community.

-Andrew

Partners: If you have a question, click here to ask it in the SAP Community . Be sure to tag it with Partnership and leave your company name in the question so that we can better assist you.

 

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Douglas Cezar Kuchler
      Douglas Cezar Kuchler

      This is very interesting and useful Andrew, thanks for sharing your knowledge with the community!

      Best wishes - Douglas

      Author's profile photo Andrew Lunde
      Andrew Lunde
      Blog Post Author

      See Also Ohad's blog post...

      https://blogs.sap.com/2020/12/28/extending-sap-business-application-studio-development-environment/

      -Andrew

      Author's profile photo Abhijeet Kankani
      Abhijeet Kankani

      Hi Andrew,

      It was nice read, Just wanted to understand Can we download VS C++ build tools in BAS using nonroot ?

      As in one project I am not able to install Chromadb package, getting below error --

      " RuntimeError: Unsupported compiler -- at least C++11 support is needed!
      ----------------------------------------
      ERROR: Failed building wheel for hnswlib
      Failed to build hnswlib
      ERROR: Could not build wheels for hnswlib which use PEP 517 and cannot be installed directly"

      Seems line if C++ build tools are there then we can install chromadb.

      Any suggestion would be appreciated.

      Regards,

      Abhijeet

      Author's profile photo Andrew Lunde
      Andrew Lunde
      Blog Post Author

      Sorry I've been away from this topic for some time and can't offer much assistance.

      I'd suggest you look at the latest BAS.  I do know that the plugin architecture for BAS and VC are closer not than in the past.

      -Andrew