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/viewerhttps://github.com/open-craft/capa-visual-editor/blob/master/visual-editor/src/containers/ShortAnswerContainer.js
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