cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

Thingworx 9.2 Collection widget performance issues

bmc619
8-Gravel

Thingworx 9.2 Collection widget performance issues

I have been using the collection since it's initial release in I believe 8.2. Prior to that I used the repeater widget.

There are ALOT of possibilities you can do with the collection widget but the performance has always been a big issue and in 9.2 it seems like it may have gotten worse.

Full disclosure, I realize maybe I am not using it as intended, but I can't find much on best practices and such to tell me otherwise.

 

So, my current situation is as follows:

 

  • I have a mashup that uses a collection widget to create an input screen.
  • The collection widget is populated by a service that creates an infotable that will return at most 31 rows. Each row represents a day in a month. I loop through each day to return the results for that day if it exists, if not the values are empty.

  • When I execute the service in composer the results come back in < 2 seconds
  • I originally had the load behavior on the collection widget as load/unload. Which still wasn't exactly fast but I noticed all rows weren't saving since everything wasn't within view. So, it unloaded, makes sense. So I switched it to Load All and now, it takes >30 seconds to load which makes the page unusable.
  • There is one thing that runs on each individual row mashup,
    • insert/update service
      • triggered by a session parameter changing (main mashup where infotable is returned sets this value. There is a save button on the main mashup that triggers an expression that spits out a random value, stores in the above mentioned session parameter)
    • There are numeric entries that are populated by the mashup parameters from the infotable.

 

Does anyone have any thoughts about what I could do to fix this? 

3 REPLIES 3
slangley
23-Emerald II
(To:bmc619)

Hi @bmc619.

 

There are some unanswered questions here:

 

  1. If you're at the beginning of the month, does it display every day even though some rows may be empty or is it only pulling the specific days?  Is the performance the same regardless of the day of the month?
  2. What are you displaying on each cell?  A screenshot would be helpful.
  3. Can you estimate how many service calls are being made per cell?

If you're able to share your mashup, we'll be happy to take a look.

 

Regards.

 

--Sharon

1) Yes, if there isn't any data for the month yet. It will still display for the day with numeric entry widgets to enter data.(See attached) No matter what day you select within a month, the same data will display and performance is the same. There is a service we created to return an infotable with each day in a month. That is used to return data from a database for each day if it is available.

2) See attached for the mashup.

3) Only 1 service call is made per cell. The service is the insert/update service for the database. On mashup load nothing runs. That service only runs when the "Save" button on the main mashup is pressed. When that button is pressed an expression is triggered on the main mashup that spits out a random numeric value. The output is bound to a session parameter. Each cell mashup has the sessionparameter changed event bound to trigger the insert/update service. The values displayed on load are passed in as mashup parameters from the infotable bound to the collection widget.  

Thank you for the response, I hope this provides enough further details.

bmc619
8-Gravel
(To:bmc619)

Also meant to mention, we ended up opening a support case this morning regarding this but haven't heard back just yet.

Announcements


Top Tags