Open JingYenLoh opened 4 years ago
I'm quite interested in this. How would we present this to the users? Quite some time ago, someone floated the idea of a "Settings" menu item, along with "Help" and "About". In those settings, we could specify editor options and runtime limits, for example.
I envisioned a dropdown above the editor, allowing the user to select the editing mode.
However, I am unfamiliar with SA20/21 goals. A Settings page would make sense if cadet-frontend is intending to implement more user customizations. Additionally, keeping the option behind a Settings page would avoid confusion, as such editing modes are unrelated to the rest of the controls, which are all part of the module's learning goals.
Help and About are out of the scope of this request. I'd defer to cadet-frontend maintainers to decide those, in a separate issue.
Thanks for the mock-up!
I think such a drop-down menu would be much too prominent. Students would typically change their Ace mode three or four times max throughout the entire semester, and the majority of students (I estimate) would not touch the Ace mode at all. That's why I thought a less prominent and more global setting would be preferrable. I think local browser storage would be fine for this. (As opposed to saving this on the server.) This way the setting would also work for casual users of the textbook.
Not sure if you understood my comment about "Help" and "About". I only wanted to suggest a place for the "Settings" option. A good place might be here:
Regarding the goals: I'm adding "online" to the SA tagline: Immersive online experiential environment for learning programming
The editor plays a central role in this aspiration, so your comments and suggestions are very much appreciated!
Things are moving fast. We already have a profile page!
We could have the following items as "Settings" in the profile page:
This could be part of the user setting: #1847
Ace editor already supports alternative bindings such as Vim or Emacs modes. This is a request to enable choosing those bindings, so we can edit source code in our preferred way.