thegrumpys / odop

Open Design Optimization Platform (ODOP) - Coil spring design app; mechanical springs; compression spring, extension spring, torsion spring
https://www.springdesignsoftware.org
MIT License
4 stars 5 forks source link

Pre & post Search validity checks; user warnings #705

Open grumpyinca opened 2 years ago

grumpyinca commented 2 years ago

Originally proposed in #703, this content is now extracted into a new issue in the unassigned (now 4.8) milestone. This delay is to permit a better understanding of user response to validity alerts before implementing this change.

After Search, Add test(s) for any variable or Calc Input invalid If so, displayMessage(errorMsg, 'danger', 'Errors', '/docs/Help/errors.html#searchErr') where errorMsg is something along the lines of: "This design has one or more Variables or Calculation Inputs with an invalid value. See Alerts and Help (below) for details."

Consider the same (similar) feature for after Seek and Trade.

Add pre-function checks to Trade.

grumpyinca commented 2 years ago

This issue re-surfaced in today's conversation. The high-level approach is something like:

Possible test case: User sets OD_Free to 0.0 and runs Search. Search fails to return a design that is either valid or feasible. The pop-up supplies a brief explanation and a reference to an Alert or doc entry that provides more detail on the situation and how to manually intervene so that the next Search is successful.

Moving to milestone 5.0.

grumpyinca commented 2 years ago

Again, this issue was the subject of conversation today.

Several points in favor of various validity checks and possible user interaction prior to (Search, Seek or Trade) were discussed. Specifically:

grumpyinca commented 2 years ago

Just for reference ...

Search currently tests for and blocks operation for:

Seek currently tests for and (may not?) block operation for:

Trade currently runs a search and may return "OBJ < OBJMIN - USE OF TRADE IS NOT APPROPRIATE".

1fifoto commented 1 year ago

Our discussion today suggested the following. Instead of having a pop-up appear after search, the termination message (AKA termination_condition) be used to report anything after a search, seek or trade operation. As an aside, the termination message could be use to report the failure or success of any other ODOP operation such as setting a variable or checking a checkbox. Also we felt that the termination message should allow richer format such as full HTML including links within constraints of page size and shifting the display too far down. The link and HTML capability would allow the termination message to direct the user to more help documentation to solve the problem encountered with the just completed search, seek or trade. Doing this is done in lieu of creating and directing the user to the Alerts which in turn would have a Help button to more help documentation. We feel that there is a difference between operation results (displayed in this enhanced HTML termination message) and Alerts which are generated by checking-rules that check the state of the current design model.

TLDR: Put a message and a link in the termination message after a failing search to more information in the docs.