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

Session record / playback capability #663

Open grumpyinca opened 2 years ago

grumpyinca commented 2 years ago

In the interest of better understanding how the system is being used, a session record / playback capability might be useful ... perhaps even highly leverage as compared to further enhancement of the current usage log.

As currently envisioned, a mechanism to record keystrokes would need to be implemented. This keystroke journal would need to be extracted in sequential order by an identifying attribute such as IP address or Okta UserID and fed into a playback mechanism somewhat similar to the current execute script. This playback mechanism should allow single-step forward while displaying the state of the system as seen by the user. Single-step backward would be helpful, bit is not currently considered a must-have.

Note that there will be a variety of challenges in obtaining reliable playback operation. It is common for users to utilize a VPN. This means that the user IP address will change between sessions and perhaps even within a single session. The playback session must not be allowed to modify the production database. Sessions that recover AutoSave designs or even read designs from the production database will require special handling.

See issue #211 for related requirements.