Google-Blockly-Editor
Version 4.2 by Ecaterina Moraru (Valica) on 2018/05/04 11:36
http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/BlocklyEditor
https://developers.google.com/blockly/
Description
USE CASES
Main use case:
- The user enters his credentials.
- If authenticated, he is redirected to the dashboard.
- The user navigates to the page he wishes to edit.
- He selects the edit option and if he's an advanced user, he sees the Blockly editor and selects it
- The Blockly editor contains various blocks for performing common XWiki scripting actions
- The user selects the appropriate blocks which show up as code on the side div
- Once the user is done with the scripting, he clicks on the save and continue button
- He is then redirected and is able to view his changes.
Alternative use cases:
- If the user is unable to authentinicate, the user is shown an error message saying invalid credentials
- If the user is not an advanced user, he won't see the Blockly editor option and would need to go to Settings and enable Advanced User in Preferences.
ARCHITECTURE
- The Blockly editor: This is the topmost layer, and contains custom made blocks for the most commonly used scripting actions
- The converter: This is the middle layer, and converts the blocks to code, which gets displayed in the div
- The interpreter: This is the lowermost layer and interprets the converted code, this is similar to the source editor
PROS/CONS
Pros:
- Its easier to code, especially for the inexperienced users
- Even for the experienced users, its easier since more code is achieved in less keystrokes
- Encourages inexperienced coders to start coding too
Cons:
- Since the blocks are tailor-made for certain common scripting actions, other actions would probably me more difficult to code and would become complicated
- Google Blockly only supports a limited number of languages, so extending support for other programming languages would be a problem.