> On 4 May 2018, at 10:52, Vincent Massol <[email protected]> wrote: > > Hi Vivek, > >> On 4 May 2018, at 10:15, Vivek Iyer <[email protected]> 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

