Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Repair Jira Macros

...

  • Accessibility design
    • What is the keyboard interaction for the Custom Block editor?
    • What ARIA attributes do we need?
  • How can one edit a Custom Block after it has been created?
  • Vocabulary question:
    • What is the Program plus Custom Commands called?
      • A Project?
      • If it's a "Program", what is the main sequence called?
  • Redefinition of built-in commands
    • It would be possible to create a Custom Block with a name the same as an existing built-in block, such as "forward"; options:
      • Disallow it
      • Allow it and treat them as 2 distinct things
      • Allow it and have the new Custom Block replace the built-in one (Simon: this is powerful in the right programming contexts, but I don't think it's a good idea in our coding environment right now, without more supports to explain what is happening and how to manage it)
    • How does having the same name as a built-in command interact with localization of the commands names, where they might have different names depending on the language?
  • Recursion
    • In the current design, where we cannot edit a Custom Command, recursion isn't possible (I think), but when we add editing, recursion becomes possible
    • Simon: my thinking is that we terminate program execution on recursion as we have no conditionals in our language and all recursion is therefore infinite
      • There could be potential designs where we block recursion at the editing stage
    • Some examples of recursion:
      • MyCustomBlock: MyCustomBlock (the block sequence contains itself)
      • MuCustomBlock1: MyCustomBlock2, MyCustomBlock2: MyCustomBlock1 (mutual recursion where 2 blocks refer to each other)
  • Interaction with other components
    • In the current design, when the custom command window is open, preview window gets blocked by it and won't be able to see the preview window
    • Not only for viewing purpose, but would be better if users can pre-run their custom command before saving them, which means interaction with preview window is required

Technical notes:

  • React Bootstrap includes an Overlay component
  • Jira Legacy
    serverFluid Project Issue TrackerSystem JIRA
    serverId2e29aa46e31a5874-ea43167a-32773fb1-bcd5ab47-0aa8908c274afcf749dd6c07
    keyC2LC-21
  • I'd like to see if we can get rid of the programVer state variable from App.js and from our Editors. It was introduced to manage state in the ProgramTextEditor (https://github.com/codelearncreate/c2lc-coding-environment/blob/master/src/ProgramTextEditor.js) but it's going to be some hassle to keep it when we introduce a richer program model. Let's see if we can just store a reference to the program (will be commandSequence after C2LC-21 above) and test object reference equality instead of the version number.

...