Web AppBuilder (developer edition) 2.16 - how to activate API 4.16 classes

1383
4
Jump to solution
07-12-2020 12:54 PM
MichaelLev
Frequent Contributor

I need to do custom widgets for

1.Slice tool - which in API 4.16 has new SlicePlane class

2. IntegratedMeshLayer modification - which is totally new in API 4.16 

I understand that Web AppBuilder (developer edition) 2.16 is regularly using API 4.15

I don't know how I can "connect" it to API version 4.16, and iif it won't cause errors (Indeed I tried changing 4.15 to 4.16 in some place, but got errors).

My questions:

A. What can I do in order to "connect" to API 4.16 without errors, or at least use some 4.16 classes in current last version (2.16) of Web AppBuilder (developer edition)?

B. When will be the next version of Web AppBuilder (developer edition) - hopefully with API 4.16?

C. Is Experience Builder working already with API 4.16? If not yet, then when?

D. Is it easy or difficult to migrate my custom widgets to Experience Builder?

E. Actually, what are the needed steps to migrate and migrate my existing custom widgets?

F. Is it "worth the effort and time" to migrate? since the current application does not really need the extra features of Experience Builder (it runs on PC, and uses single screen app)?

I will appreciate help.

0 Kudos
1 Solution

Accepted Solutions
shaylavi
Esri Contributor

Hi Michael,

I can answer some of your questions, but first I'm curious to know how did you try to "connect" the new 4.16 version? You should be able to download and host your desired API version as the one to be used with WAB -

Change the URL of ArcGIS API for JavaScript—ArcGIS Web AppBuilder (Developer Edition) | ArcGIS for D... 

It should be easier to handle errors, although I don't see why would you get errors unless you misconfigured 

the API ref - see at the network tab in your developer tools if you get 404's or security errors...

The developer edition of the Experience Builder is still on its first release version and I can see it works with 4.14, but then again, this can be reconfigured. The online version received an update just two weeks ago, so I reckon they use 4.15 but not sure.

I think it makes sense to have a gap between the API releases and other apps that consume it. You have more information in here -
About release versions—Portal for ArcGIS | Documentation for ArcGIS Enterprise 

There is no migration process between the two - Experience Builder is completely different and works with different (Javascript) technology. Even its purpose is different, so I wouldn't rush to use it before you understand what you need, or if see if you can work out the errors you mentioned.

Based on your last sentence, you don't need ExB at this point.

Shay.

Shay

View solution in original post

4 Replies
shaylavi
Esri Contributor

Hi Michael,

I can answer some of your questions, but first I'm curious to know how did you try to "connect" the new 4.16 version? You should be able to download and host your desired API version as the one to be used with WAB -

Change the URL of ArcGIS API for JavaScript—ArcGIS Web AppBuilder (Developer Edition) | ArcGIS for D... 

It should be easier to handle errors, although I don't see why would you get errors unless you misconfigured 

the API ref - see at the network tab in your developer tools if you get 404's or security errors...

The developer edition of the Experience Builder is still on its first release version and I can see it works with 4.14, but then again, this can be reconfigured. The online version received an update just two weeks ago, so I reckon they use 4.15 but not sure.

I think it makes sense to have a gap between the API releases and other apps that consume it. You have more information in here -
About release versions—Portal for ArcGIS | Documentation for ArcGIS Enterprise 

There is no migration process between the two - Experience Builder is completely different and works with different (Javascript) technology. Even its purpose is different, so I wouldn't rush to use it before you understand what you need, or if see if you can work out the errors you mentioned.

Based on your last sentence, you don't need ExB at this point.

Shay.

Shay
MichaelLev
Frequent Contributor

Thanks, Shay!

To answer your curiosity - I changed 3 lines above your line - I canged: var apiVersion = '4.15'; to 4.16 but it was not enough.

After seeing your doc link, I changed both apiVersion  to 4.16 and also apiUrl within the comment.

I saw that if I download the app from within WAB, the apiUrl is uncommented within the zip,

And I saw also that if I click the launch button of the app from within the WAB, it also uses the 4.16 API, due to apiVersion var.

So, indeed I solved the problem how to run on 4.16

My problem now is an error in my slice widget, but I don't know how to debug and find it.

screenshot attached

Could I attach zip of my in-panel widget code?

Michael

0 Kudos
shaylavi
Esri Contributor

Michael, you can still use the online API by providing the right address to the version you want to use and the apiVersion variable should match the version you are pointing to.

Choosing a local API means you'll have to configure and host it before it can be used. There are different resources you can read to workout that process -

How To: Install the JavaScript API for use with ArcGIS for Server 

Get the API | ArcGIS API for JavaScript 4.16 

A local copy of the API is not implemented as part of a Web AppBuilder application.

Either way, you'll be required to run your app through HTTPS protocol at some point, if that's what you mean by a secured server.

You might be able to solve the errors if you point to the online API and configure the settings properly, as explained in the documentation I added.

Shay.

Shay
MichaelLev
Frequent Contributor

Shay,

I've succeeded to solve most my bugs... I'm continuing debugging.

Thank you!

Michael