Problem Skeleton Exercise Pt1
May 9, 2022 | Problem Skeleton Exercise Pt1
Attendees: Bernard Szabo Ben Warzeski Connor Haugh Jeremy Ristau Ken Clary Raymond Zhou
Important Resources:ย
Project Board: Content Libraries
https://jamboard.google.com/d/10qZppFd6ynmtz8QhOfcMl_hqTcSHgmyAySQelbw1YZ0/viewercapa-visual-editor/visual-editor/src/containers/ShortAnswerContainer.js at master ยท open-craft/capa-visual-editor
Agenda
Views outline
Identify The โThe Treeโ to create Stubs
What top-level views do we have?
โLanding Pageโ Select Problem Type View
Outer chunk (Widget)
Header:ย
Text,ย
Cancel (This is a stub)
Footer: Cancel, Select Button
Content:
Problem Type Select (Remains Static)
Preview (Content of chunks varies based on problem type)
Title
Previewย
Description
Help Link
โEdit Problemโ View
Outer Chunk -> Editor Container
Question
Text Editor
Answers
Titleย
Description
Answers
Row โAnswerโ
Singleselect
Multiselect
Text Field
Feedback popup
Positive
Negative
Delete
Add Row
Settings
Titleย
Set Of collapsable widgets
Basic settings
Expandable: advanced settings
โBad Markdownโ View (Error State) (not really a separate view)
What is the top-level structure of those views
How does the user
Component dive โIterate on stubsโ
What are the componentry chunks of the different core widgets of the UI?
What are the variations between the different views in componentry?
Implementation considerations
Re-use considerations:ย
What can we reuse from the core UI to implement this?
Editor Containerย -> ย โEdit Problemโ Viewย
TinyMce stuff
Settings Widgets ->ย ย
What do we need to tweak in those tools/widgets to match the requested design?
Answers have default set each time
Default values and initialization behaviors: Are there any state-tied pieces of the design that will be the responsibility of the UI, such as initial/default values and behaviors?
Data Design
What are the top-level pieces of data we want to track?
Core Redux Data App:
Problem Type: (String)
Question (html)
Answers[] (ordered)
List of answers:
Feedback: { selected, notSelected }
Text <string>
isCorrect
Settings: <Key>/<Value> Store
No need to save static guard rails โ these can go in config files
How should it be structured?
Actions
ย
ย