Hello Vivek,

this is probably too far but it’s always good to have further plans. Here are 
two possible extension avenues which would be useful for the blockly world, I 
believe:

- create a workflow that allows custom-blocks to be included in the toolbox 
using a similar experience as the xwiki extension manager (there was a GSoC on 
bringing more repositories for this manager last year)
- employ the real-time editing extension or parts of it (e.g. chainpad-listmap) 
so that a blockly page can be edited in synchronicity between teachers and 
students (where used can be _edited_ or even _run_). CodePen seems to allow 
such features.

thanks

paul


On 4 May 2018, at 22:28, Vivek Iyer wrote:

> Sir,
> I've made the changes in the design page as requested!
>
> I think you covered most of the use cases, I tried thinking of more but I
> couldn't come up with any relevant ones. Like the basic use cases are the
> conversion of blocks to code and vice versa, and CRUD operations on blocks
> and those have been covered. I think I should focus on implementing these
> use cases and getting the basics right, and then maybe if time permits, I
> can add support for other programming languages too!
>
> Regards,
> Vivek Iyer
>
> On Fri, May 4, 2018 at 2:23 PM, Vincent Massol <vinc...@massol.net> wrote:
>
>>
>>
>>> On 4 May 2018, at 10:52, Vincent Massol <vinc...@massol.net> wrote:
>>>
>>> Hi Vivek,
>>>
>>>> On 4 May 2018, at 10:15, Vivek Iyer <vivekbalasunda...@gmail.com>
>> wrote:
>>>>
>>>> Hello all!
>>>> My name is Vivek Iyer (github and Riot handle: Remorax) and I'm so
>> grateful
>>>> for being selected as part of GSoC and I'm honestly looking forward to
>>>> contributing here!
>>>
>>> Welcome aboard :)
>>>
>>>>
>>>> My project for the summer is the Google Blockly Editor and to integrate
>> it
>>>> with the current wiki and WYSIWYG editors. I plan to do this in four
>>>> stages:
>>>> - Firstly develop a small extension as test, so that I can build up on
>> it.
>>>> - The second stage would be actually integrating a basic Blockly editor
>> in
>>>> XWiki.
>>>> - The third stage would be adding custom blocks which generate the code
>> for
>>>> functions which are most commonly used
>>>> - The fourth and the last stage would be making these blocks output
>>>> Velocity (or alternatively JS) code which would substitute the contents
>> of
>>>> the div which would normally contain the manually written code.
>>>>
>>>> Ideally, I plan on finishing stages 1 and 2 before the first evaluation,
>>>> stage 3 before the second evaluation and stage 4 before the final
>>>> evaluation.
>>>>
>>>> As mentioned in my proposal, I'll be on vacation from 10th to 20th May
>> and
>>>> won't have internet access so I'll be unable to contribute during that
>>>> period, but I'll surely make up for the lost time later on and get the
>> work
>>>> done on schedule!
>>>>
>>>> I've also kept buffer slots in between in case I run behind schedule.
>>>>
>>>> I have also made a design on design.xwiki.org here:
>>>> http://design.xwiki.org/xwiki/bin/view/Google-Blockly-Editor/
>>>> Do check it out and let me know your opinions!
>>>
>>> I’ve had a quick look and it would be nice if you could reformulate the
>> use cases in term of features that the extensions needs to support.
>>>
>>> For example instead of saying:
>>>
>>> - The user enters his credentials.
>>> - If authenticated, he is redirected to the dashboard.
>>> - If the user is unable to authentinicate, the user is shown an error
>> message saying invalid credentials
>>>
>>> You should simply say:
>>>
>>> * Allow users to enter Google credentials in the Admin UI.
>>>
>>> Question: is this needed? Why do we need to enter credentials? AFAICS
>> there’s no need to provide any credentials except if we wanted the optional
>> cloud storage (which is not something we want IMO since the storage is
>> going to be in wiki pages).
>>>
>>> Also you say:
>>>
>>> - 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
>>>
>>> You should simply say:
>>>
>>> * Add a page editor to the list of available editors (Wiki, WYSIWYG,
>> etc) so that users can edit a page using the Blockly editor
>>>
>>> You’re also missing this:
>>>
>>> * Ability to define the Blockly editor as the default editor in the
>> Admin and in the use’s profile
>>>
>>> Also you say:
>>>
>>> - 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.
>>>
>>> This is not needed as it’s pretty obvious ;) This is just describing the
>> usage of the extension, not the requirements for the integration. You can
>> put it in a usage section if you want though.
>>>
>>> Also you say:
>>>
>>> - 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.
>>>
>>> I’m not sure we want this since the goal is to try to make it as simple
>> as possible for any type of users to write some simple scripts in xwiki. I
>> wouldn’t put such restriction and would simply make it available to both
>> simple and advanced users.
>>>
>>> Then you’re missing lots of use cases…. I’ll write some but you should
>> be the one finishing the list:
>>>
>>> - 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.
>>
>> s/scripts writing/script written
>>
>> -Vincent
>>
>>> - 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. You can see the velocity scripting guide
>> to get ideas of commons things that need to be supported:
>> https://www.xwiki.org/xwiki/bin/view/Documentation/
>> DevGuide/Scripting/APIGuide/
>>> - 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.
>>>
>>> I’ll let you port these use cases into the design doc! :)
>>>
>>> I’m happy that we’re getting started.
>>>
>>> Thanks!
>>> -Vincent
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>>
>>>> That's all from my side. I'm eager for your feedback and happy to
>> receive
>>>> any suggestions as to where I could improve my current schedule.
>>>>
>>>> Thanks and regards,
>>>> Vivek Iyer
>>
>>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to