Google-Blockly-Editor

Version 5.1 by Vivek Iyer on 2018/05/04 22:27

 
 Requirements
 Idea
 
 

https://xwiki.markmail.org/search/?q=vivek+iyer

 

http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/BlocklyEditor
https://developers.google.com/blockly/

Description

USE CASES

  • Add a Blockly editor to the list of available editors (Wiki, WYSIWYG, etc) so that users can edit a page using the Blockly editor
  • Ability to define the Blockly editor as the default editor in the Admin and in the user’s profile
  • The Blockly editor contains various blocks for performing common XWiki scripting actions
  • Ability to generate any scripting language output when saving the page, and starting with Velocity.
  • Ability to convert scripts writing in any scripting language into a visual Blockly view, starting with Velocity. This needs to be explored and if this is not possible then it means saving the Blockly data into a XObject of the pages and offering a custom Edit Sheet to use that when editing the page with the Blockly Editor.
  • Provide several Blocks by default that allow to do things in XWiki. Review common actions that need to be done in scripting and offer blocks for them. For example: Ability to write XWQL queries to return a list of pages and ability to execute actions on them: replace content, copy, rename, delete. Send email. Etc
  • Add ability for developers to create/edit new Blockly Blocks inside wiki pages. All the provided blocks by default should be using this strategy so they can be modified.

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.

 

Get Connected