-
Notifications
You must be signed in to change notification settings - Fork 168
Home
Welcome to the cadet-frontend wiki! This is the homepage!
For developer guide, please refer to this page.
The list of projects are shown below.
Open Issues and PRs should be actionable. When we decide to postpone an Issue or PR, it can be closed, but should remain marked with the label _postponed
. After a major milestone (a semester) we will re-visit postponed Issues and PRs and re-open them.
We propose to keep "Mission Control" out of the deployed Source Academy. Instead we shall use an Academy version from a dedicated branch. This branch can be: https://github.com/source-academy/cadet-frontend/tree/mission-control-upgrade
We specify that another private repo is dedicated to hosting Story XML files for student engagement in the Source Academy game. Like for Assessment XML files, the cadet backend checks the private story repository regularly (e.g. hourly) and picks up any new ones.
Like assessment repos, the story repo contains folders (such as xml
or stories_of_act_2
), and each of these folders contain Story XML files. The file names and folder names are ignored. What matters is the content of the files regarding mission id
and type
, and not the file names.
Assessments can refer to stories in the XML, using the optional attribute story
in the element TASK
. There is only one such element in each assessment XML. Example from mission-M2A.xml:
<TASK access="public" kind="mission" coverimage="https://i.imgur.com/amJe5Bb.png" story="mission-2" number="M2A" startdate="2019-01-16T00:00+08" duedate="2019-01-25T23:59+08" title="Rune Trials">
The story attribute in the TASK
element of assessment XML files refers to the ID of the story. The ID of the story is specified in the story XML files using the attribute id
in the STORY element. There is only one such element in each story XML. Example from mission-2.story.xml:
<STORY id="mission-2" type="mission" number="2" dependencies="spaceship">
The single source of truth is the content of the files, regarding IDs, and not the file names.
Note that the STORY
element has an attribute type
and not kind
as in TASK
elements of Assessment XML files. This makes sense, because Story XMLs can also have type normal
, for example in the spaceship.story.xml
, which does not refer to any particular assessment.