mdsplus
mdsplus copied to clipboard
The Motif `traverser` application throws an error when entering an expression into newly created non-text nodes
Affiliation MIT PSFC @mwinkel-dev filed on behalf of Evan L. of MIT PSFC.
Version(s) Affected
Found on alpha-7.139.20. Reproduced on alpha-7.139.66
Platform Found on Ubuntu 18.04. Reproduced on Ubuntu 20.04.
Describe the bug
The old Motif traverser has a confusing user interface for setting expressions in newly created non-text nodes. Displays an Error Writing Record to Tree pop-up.
NOTE: It is possible to cajole traverser to write to the new nodes, so perhaps this is not a bug (i.e., might be the way traverser has always worked). Regardless, new users will stumble into the error pop-up.
To Reproduce Steps to reproduce the behavior:
- Use jTraverser2 for the following steps:
- Create a new
scratchtree - Add three nodes:
TEXT1,NUM1andSIGNAL1 - Write expressions in the three nodes:
"hello",55andSET_RANGE(5, 1 : 6) - Display the data in the three nodes
- Write the tree
- Close
- And quit jTraverser2
- Use
traverserfor the following steps - Add three nodes:
TEXT2,NUM2andSIGNAL2 - Write expression
helloin theTEXT2node -- this works fine - Write expression
55in theNUM2node -- the error pop-up appears when saving the expression - Same happens if write an expression to
SIGNAL2
Note however that with traverser, if click on the " button, then quotes appear inside the expression box. If delete those quotes when writing 55 to the num2 node, it works fine. That approach works on all non-text nodes.
Expected behavior
The " button is easily overlooked. And the error message is misleading, because it can be interpreted as claiming that the user does not have write permission to the tree (which is false because the user created the tree). A better error message would explain that the expression cannot be parsed and thus can't be saved to the node.
Screenshots
In these screenshots, NUM1 and SIG1 were created with jTraverser2 which also successfully wrote expressions to those nodes. The SIG2 node was created with mdstcl which also write an expression to the node. The SIG3 node was created with traverser, but the " button (left of the expression box) was not clicked and quotes deleted, thus clicking on the Ok button caused the Error pop-up to appear.
Additional context
Is this a bug? Or just the way traverser was designed?
As Evan noticed, after an expression is written into a node, traverser apparently knows whether to use quotes or not (i.e., the user doesn't have to worry about quotes). And thus editing existing expressions goes smoothly. The same user workflow though fails on a newly created node (because the user must explicitly manage the quotes to avoid the error pop-up). The difference between the two workflows is confusing and not intuitive.