New Widget corruption detection in Service Studio: the why and how

New Widget corruption detection in Service Studio: the why and how

  
Hi everyone,

From Service Studio version 4.0.1.36 onwards, the Verify operation in screens has been extended to detect the existence of HTML elements that should have an associated Widget in the eSpace model but (for whatever reason) do not.

These corruptions are generally due to consistency or interface bugs that may have existed in older Service Studio releases - please note that they are not being caused but rather are finally being detected by the new Service Studio. Previously you could only spot these situations if you clicked on what you assumed was a Widget but no related properties appeared in the properties pane.

In practice, at design time you couldn't therefore edit any of the widgets properties like setting names or binding to variables. If eSpace compilation did not produce an error, it's likely these widgets either didn't appear onscreen or obviously did not operate as expected. It was therefore important to detect and address them as soon as possible, hence this update.

If your eSpace is found to have any of these invalid Screens, what should you do?

1) First you should try to open and then close the screen before Verifying again. Service Studio has a few automated screen cleaning routines on Screen Editor close that can address certain problems;
2) Failing this, the only way forward is to delete the corrupt HTML element (the "ex-Widget") and redo it. This will involve re-dragging it from the Widgets Toolbar and filling in its properties.

We have detected two particular corruption cases in a couple of our test eSpaces that we will mention as examples.
1) A corrupted Link was fixed by opening and closing the Screen.
2) Depending on the nature of the corruption, some Cells can be fixed by opening and closing the Screen. When this doesn't work, since it's likely that all/most of the other Cells of that Table are equally corrupted, it's best to just create a new Table. Make sure it has the same dimensions and properties as the older Table, move all the Cell contents across, and delete the original table.

Failing all these operations, please contact OutSystems Support with your particular problem and eSpace.

Best Regards,

Miguel