Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exercise Mode Editing Capabilities #1444

Open
wants to merge 95 commits into
base: dev
Choose a base branch
from
Open

Conversation

russell-rozenbaum
Copy link

Added Features

Adds ability to edit several exercise mode features:

  • Title
  • Module name
  • Prompt
  • Number of Mutation Tests
  • Required Tests
  • Point Distributions

Also implements the following:

  1. Exercise's storage keying system now uses UUIDs rather than (string, int) pairs. *Note: this change removes the previous version field, represented by the int in the pair of the old keying system
  2. persistent_state type in exercise mode has been made into a record. Along with the zipper position and editors it stores the title and list of mutants. This allows for mutants to be persisted and unpersisted upon saving and loading to and from local storage.

Caveats

  • Exercise modules must have a hardcoded UUID in their spec file to save and load properly. A potential solution can be to initialize a UUID and update the spec when first loading. This would require mutating the spec file however. This shouldn't prove to be much of an issue when creating new exercises.
  • Future implementations requiring saving and loading mutable features to and from storage will need to be added in the record and persisted/unpersisted properly in their respective functions. This isn't as much of a pitfall, as it is a note to help future implementations.

russell-rozenbaum and others added 30 commits June 13, 2024 13:14
…ser is editing title, also automated swapping between focus on title-box/editors
…es, this also solves issue of text-box with incorrect value persisting across exercise slides when switching while editing
…hen switching between exercise slides; added confirm and cancel edit buttons for finalizing title updates (or cancelling them), this also fixes a bug with pressing enter to confirm where it would also press enter in the respective code editor where the cursor was located
…to-do: allow editing of implementation hints as they default to "no hint available"
…to-do: allow editing of implementation hints as they default to "no hint available
… : string, version : int) pairs; edited title now saves on refresh
facundoy and others added 29 commits November 9, 2024 13:40
…tests were written instead of having to type it
…ber of tests in the editor box during instructor mode
… unnamed. without this, unnamed module exported as .txt files rather than .ml files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants