Giter VIP home page Giter VIP logo

problems-blockly's People

Contributors

anthonygego avatar bnothomb avatar drumor avatar guillaumederval avatar maxmawt avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

problems-blockly's Issues

Only one subproblem possible

Apparently, only one subproblem can be processed correctly.
When adding a new subproblem, we can't edit it graphically, and, in the student point of view, the first subproblem's workspace overrides the other subproblems:

subtasksbug

Id bug

issue_id

No block is shown because when inginious gives an identifier (varid or id) to an argument or variable, it can randomly put a quote character (`,´, ', ") as shown in the picture (<arg name="indice" varid="1%a,twFWP1{DN`^Kr`]E"></arg>, before and after ^Kr) and makes a bug.
ps: i used the graphical tool to create the blocks

All files are executable files

Git reports that all files (more or less) are executable (permission 755 instead of 644), starting with commit 464f863. And I'm pretty sure most of them aren't intended to be executable ;-)

Only english as blocks language

https://github.com/UCL-INGI/INGInious-problems-blockly/blob/c018f863a210315eceff3c43dcbdaa1533c8e130/inginious-problems-blockly/templates/box_blockly.html#L108

By now, the blocks are in english and there is no workaround to change their language.
It would be very nice to be able to choose the blocks language, either by the task writer or the user itself with a <select> box.
Some of the Blockly demos use such a box and are able to dynamically change the language (see Blockly Demo and Corresponding code )

Start block not well integrated

Multiple bugs with the start block are present.

  • when a start block is used, the default workspace code is not linked to that block and present behind the block making it difficult to use.
  • when submitting a code with a start bock, the execution crashes.

Conflict of ID between blocs in workspace and toolbox

When creating a variable with the same name present both in the workspace and the toolbox, a bug will appear when you try to solve the task.
The blocs (getter - setter - variable) from the toolbox cannot be dragged onto the workspace, as there is a conflict of ID.

Error message : Uncaught Error: Variable "test" is already in use and its id is "Gb:rfS?s2I9-yzU+:m4C" which conflicts with the passed in id, "wm||];n1QbzdRrI@1wT|".

However you can resume using those blocs from the toolbox if you first manually change the getter/setter/var to any variable then again to your variable, it seems to reset the ID of the variable in the toolbox to the ID of the variable in the workspace.

A quickfix is to use the online factory from google ( https://blockly-demo.appspot.com/static/demos/blockfactory/index.html ) and after setting up your workspace from it, export the XML. Using this XML on the INGInious platform seems to do the trick.
It's worth noticing that doing so, since it uses hardcoded ID's, prevents any other modification from the graphical interface.

A suggestion to fix this would be to change the path of the factory files currently in use, to the more recent ones present on the INGInious github.

Kind regards

Use blockly's js directly

Instead of having a blockly submodule in this repo (which causes a some dependencies issues like #28), couldn't we just fetch directly Blockly last js ?

Variable in blockfactory

When rightclicking on "set variable to",

  • in the blockfactory of google:
    good

  • in our blockfactory:
    bad
    This creates a new variable with the identifier as the name

blocks.js format is not checked

ATM if blocks.js is not syntactically correct, the workspacefactory editor and the task are broken.
It should checked when loaded in the workspace.

file names in blockly tasks

In the subproblem editor, there shoudn't be sections to insert files. The files should have fixed names and be edited in the "Task Files" tab. The names of the files should be suffixed with the subproblem id so that we can have more than one subproblem in one task :

  • "Files (Interpreter, Visual execution)" : There should be only one file named by example visual-SUBPROBLEM_ID.js containing the interpreter code + the animation specific code. The name of this file should be fixed and documented.

and

  • "Additional blocks files" : This file should also have a fixed name or depending on the implementation choice in #15 a file containing only the stubs generated by the blockfactory to be added in the workspace later.

Feature Request: as an admin, I want to retrieve a log of user's run attempts

It would be nice to be able to retrieve a trace of the different code attempts made by the user before submitting.
Indeed, each time the user uses the "run" button, an attempt is made but is not logged.
For research purpose, it'd be nice to keep those code attempts logged and retrieved when the user finally submits.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.