Issue with definition with Custom UI which is hosted on website has become unresponsive

I have an issue with a shape diver definition that I had developed as an example, where I developed a custom UI and I am hosting it on our firm’s website. The definition is not responding when you change a parameter (the model is not even blurring): ShapeDiver API - IBI Classroom Example

It was working fine until some point in August and then became non-responsive without me changing anythingI went on the shape diver platform and the definition works fine.

https://app.shapediver.com/m/classroom-layout-floorplan-export-19

Any idea if this might have been caused by the new API.
Any help will greatly appreciated.

I have had a look at your code and found that you are calling parameter updates in capital letters, for example:

api.parameters.updateAsync({ name: "CLASSROOM WIDTH", value: 10 });

However, when listing the parameters of your model, the names seem to have a different capitalization, therefore the updates fail. If I replace the above call by this one, it works:

api.parameters.updateAsync({ name: "Classroom Width", value: 10 });

I am surprised to hear that the application used to work at all given this issue. Especially since you are using your own copy of the ShapeDiver viewer. I would recommend instead to pull the javascript viewer from our own CDN.

Hello Mathieu and thanks for getting back to me.
I tried your suggestion but it did not work for me.
In the script that I uploaded on the shape diver paltform the parameter name was CLASSROOM WIDTH, and I was using the same name when listing the parameters.
I was using a different captilization just for the label (see below and attached images)

updating the parameter
api.parameters.updateAsync({ name: “CLASSROOM WIDTH”, value: val });

Classroom width (ft)

I changed everything all to Upper Case and lower case but it did not work either.
Is it maybe because I have the script in the body of my html and I am not calling it separately?

Regarding to your suggestion. Can you please clarify what do you mean by CDN ?
and can you please send me a link to have a look.
I had used a sample javascript that I found from the forum and edit it accordingly in my html.

I below attach images that illustrate what I say above and the html I have uploaded.
Thanks in advance and I am looking forward to your response




covid_classroomConfigurator.html (20.4 KB)

I am not sure what does not work in your code, but if I open the console in your application and call this:

api.parameters.updateAsync({ name: "Classroom Width", value: 10 });

it works like a charm. You can inspect the parameter names from the API point of view by calling api.parameters.get().

By CDN I mean that you should point to our viewer and not a copy that your are hosting on your own unless you have a good reason to do that. So replace
<script defer src="js/sdv.concat.min.js"></script>
with
<script defer src="https://viewer.shapediver.com/v2/2.22.0/sdv.concat.min.js"></script>

Hello Mathieu,
Thanks for the support. I managed to have it working, there was a space at the end of couple parameter names that was causing the issue.

For the CDN I remembered that the reason I was pointing to it locally is due to an issue with the Content Security Policy (CSP) of our company’s server. When i had it potinting directly to our viewer i was getting an error so I had to make a local copy.