inginious / problems-blockly Goto Github PK
View Code? Open in Web Editor NEWINGInious plugin for adding Blockly problems
License: GNU Affero General Public License v3.0
INGInious plugin for adding Blockly problems
License: GNU Affero General Public License v3.0
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
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 ;-)
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 )
This line will fail if there is a </script> tag into the json:
https://github.com/Maxmawt/INGInious-problems-blockly/blob/master/inginious-problems-blockly/templates/box_blockly.html#L10
Let's fix it using the new json() function introduced by UCL-INGI/INGInious#337
(wait until the PR is merged, of course ;-))
Currently Run code button is shown even if the Visual problem checkbox is not checked.
This should not be the case.
Replace the actual toolbox/workspace editor (https://github.com/UCL-INGI/INGInious-problems-blockly/tree/master/inginious-problems-blockly/static/blocklyfactory) by blockly's own blockfactory ().
The goal is that the stubs of blockfactory be editable in multiple languages so that the stub codes are persisted in a specific file (TBD). It's not yet clear if we want it to be a js file or a yaml-ish file from which the js file would be generated on the fly.
Right now, it's only possible to get and show the python translation of the blocks.
This is hardcoded here : https://github.com/UCL-INGI/INGInious-problems-blockly/blob/2e52641c8ca8a95c1c93d704308645dc18aeeb8b/inginious-problems-blockly/static/blockly/blockly.js#L224
There should be an option in the task editor that allows to change that. For example, if one wants to get back the javascript equivalent.
Multiple bugs with the start block are present.
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
In an artist task, the speed slider seems to ignored.
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 ?
ATM if blocks.js is not syntactically correct, the workspacefactory editor and the task are broken.
It should checked when loaded in the workspace.
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 :
and
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.