source-academy / frontend

Frontend of Source Academy, an online experiential environment for computational thinking (React, Redux, Saga, Blueprint)
https://sourceacademy.org
Apache License 2.0
103 stars 168 forks source link

Remove/Refactor mission control (assessment editor) feature #1353

Open Aulud opened 4 years ago

Aulud commented 4 years ago

Refactor mission control (assessment editor) feature

Proposal: code quality improvements.

Rationale

The mission control feature (accessible at /mission-control) was introduced as a CP3108B project in AY18/19 Sem 2. It allows for creation, editing and testing of assessments in the Academy in a WYSIWYG fashion, including but not limited to setting the assessment briefing, question briefing, globals, testcases and the Source sublanguage.

However, the feature is currently unmaintained and essentially abandoned, even though a large amount of work has been put into it. It also lacks support for some updates to the assessment XML format, such as setting a password for Practical assessments.

It would be a great improvement to the mission authoring workflow, if someone could update and refactor the entire feature to bring it in line with the latest coding standards and to use React hooks.

Last updated 9 Jul 2020, 11:45PM

chownces commented 3 years ago

With the shift to Source Academy Rook (2022), the XML format has also been tweaked slightly (mainly the attributes under the PROBLEM tag). This is yet to be reflected in MissionControl.

The most updated XML config can be found here: https://github.com/source-academy/general/blob/master/educator/assessment/README.md

martin-henz commented 11 months ago

I'd like to suggest that we remove mission-control from the system. We are not using it. We should focus on the unique features. WYSIWYG XML editing should be done with separate tools.

RichDom2185 commented 11 months ago

I'd like to suggest that we remove mission-control from the system. We are not using it. We should focus on the unique features. WYSIWYG XML editing should be done with separate tools.

I'm in favour of this. If we ever want to reintroduce it, we can just make it a separate frontend. What are your thoughts @chownces? This specific part (mission control) seems to be independent of the rest of the functions in the frontend.