From version < 4.2 >
edited by Ecaterina Moraru (Valica)
on 2018/05/04 11:36
To version < 5.1 >
edited by Vivek Iyer
on 2018/05/04 22:27
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.evalica
1 +xwiki:XWiki.Remorax
Content
... ... @@ -1,27 +1,18 @@
1 1  ==== **USE CASES** ====
2 2  
3 -====== **__Main use case:__** ======
3 +====== ======
4 4  
5 -
6 -* The user enters his credentials.
7 -* If authenticated, he is redirected to the dashboard.
8 -* The user navigates to the page he wishes to edit.
9 -* He selects the edit option and if he's an advanced user, he sees the Blockly editor and selects it
5 +* Add a Blockly editor to the list of available editors (Wiki, WYSIWYG, etc) so that users can edit a page using the Blockly editor
6 +* Ability to define the Blockly editor as the default editor in the Admin and in the user’s profile
10 10  * The Blockly editor contains various blocks for performing common XWiki scripting actions
11 -* The user selects the appropriate blocks which show up as code on the side div
12 -* Once the user is done with the scripting, he clicks on the save and continue button
13 -* He is then redirected and is able to view his changes.
8 +* Ability to generate any scripting language output when saving the page, and starting with Velocity.
9 +* 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.
10 +* 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
11 +* 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.
14 14  
15 15  (((
16 -====== **__Alternative use cases:__** ======
17 -
18 -
19 -* If the user is unable to authentinicate, the user is shown an error message saying invalid credentials
20 -* 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.
21 -
22 22  (((
23 23  
24 -
25 25  ==== **ARCHITECTURE** ====
26 26  
27 27  * The Blockly editor: This is the topmost layer, and contains custom made blocks for the most commonly used scripting actions
... ... @@ -28,8 +28,10 @@
28 28  * The converter: This is the middle layer, and converts the blocks to code, which gets displayed in the div
29 29  * The interpreter: This is the lowermost layer and interprets the converted code, this is similar to the source editor
30 30  
22 +(((
31 31  
32 32  )))
25 +)))
33 33  
34 34  (((
35 35  ==== **PROS/CONS** ====

 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

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.
  • 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.
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.


 

Get Connected