proofofconcept icon indicating copy to clipboard operation
proofofconcept copied to clipboard

current web-based input interface is depth first; make a new web interface that is breadth first

Open bhpayne opened this issue 3 years ago • 1 comments

The current web input mechanism requires the user to enter

  1. the inference rule
  2. the latex for the expressions (novel Latex xor local-to-the-derivation xor global)
  3. verification of the SymPy equivalent implementations of each Latex representation
  4. verification of each symbol used in each step

This process is tedious for entering derivations and obscures the overview of the derivation. The page reloads and context changes are burdensome.

An alternative approach would be to have the user

  1. enter all the inference rules and associated latex in a linear sequence,
  2. review all symbols and assign PDG IDs
  3. review validity of each step

Proposal: a two-pane web interface (like Overleaf) with the left side for input and right side for display and review. The left side would prompt the user for the inference rule and then the latex expressions. The expressions would be automatically numbered on the right side, and these local numberings would be used for reference within the derivation.

bhpayne avatar Aug 22 '21 23:08 bhpayne

This is the best introductory tutorial I've seen: https://iq.opengenus.org/single-page-application-with-flask-ajax/

I was able to get that to work, up to the point of addressing CSRF tokens.

Some of https://flask-security-too.readthedocs.io/en/stable/spa.html may be relevant, or perhaps https://testdriven.io/blog/flask-spa-auth/

bhpayne avatar Aug 29 '21 18:08 bhpayne