Show last authors
1 ==== **USE CASES** ====
2
3 ====== ======
4
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
7 * The Blockly editor contains various blocks for performing common XWiki scripting actions
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.
12
13 (((
14 (((
15 ==== **ARCHITECTURE** ====
16
17 * The Blockly editor: This contains custom made blocks for the most commonly used scripting actions
18 * The compiler: This converts the blocks to code for various programming languages, starting with Velocity
19 * The decompiler: This converts code to the Blockly blocks while editing scripts. This needs to be evaluated and it needs to be decided whether it would be out of scope of our project
20
21 (((
22
23 )))
24 )))
25
26 (((
27 ==== **PROS/CONS** ====
28
29 ====== **__Pros:__** ======
30
31
32 * Its easier to code, especially for the inexperienced users
33 * Even for the experienced users, its easier since more code is achieved in less keystrokes
34 * Encourages inexperienced coders to start coding too
35
36 (((
37 ====== **__Cons:__** ======
38
39 ====== ======
40
41 * Since the blocks are tailor-made for certain common scripting actions, other actions would probably me more difficult to code and would become complicated
42 * Google Blockly only supports a limited number of languages, so extending support for other programming languages would be a problem.
43 )))
44 )))
45 )))

Get Connected