Request for feedback on Blockly Search plugin Integration GSoC Project

Hello everyone, This year as part of GSOC I want to contribute to the project "Blockly Search Plugin Integration". I have created a proposal for the same. Looking forward to your reviews on it.

https://docs.google.com/document/d/1uO6QS1PE_oZir_X08Om-yKQmD8dmWczxvRj5usGswXs/edit?usp=sharing

Just a little overview about my project (from proposal)
Large projects often involve hundreds of blocks in blockly workspace. Often while developing or debugging scrolling up and down trying to find blocks if very time-consuming and frustrating. The project aims to add a search bar that will make the process of searching blocks through the workspace easy.

Thank You

1 Like

Hello Devarsh - a solution to this problem would certainly be welcomed by all.

Goals
1. Implement a search bar that can be opened with ctrl + f. And closed with ESC key.
2. Search the blocks based on input in the search bar
3. Highlight the blocks that satisfy the search criteria
4. Allow users to scroll through all the blocks that are highlighted using arrow keys.

My View:

  1. A button on the App Inventor toolbar, or an option in the right-mouse menu would be better than a keyboard key combination.

2 & 3. We can already do this via the Browser's own search facility. The issue is that the highlighting does not work beyond the area on Screen.

  1. No. Jump to the first Block that satisfies the search (in the Blocks Work Area) - if that's not 'the one', jump to the next. The User doesn't want to scroll anything.

How about having both button and a shortcut key?

Yes, you are correct. I have mentioned that highlight/focus part in proposal.

By scroll, I actually meant that. Let's say 3 blocks match the search criteria. By default first, one will be highlighted. Users can then press the down arrow key to go to the second and then the third block and so on. The workspace-search plugin does provide this functionality.

That would be good.

Well, highlighting isn't necessary. It might be more trouble that it's worth.

That's good - I think in this case using the word 'jump' is self explanatory, whereas 'Scroll' is not.

The default should be to jump to the first one in the search list. Note, we encourage Users to use a good naming scheme, so many users will have a search result of one.

Note also that the plugin should jump back to where the User was originally. Currently we ensure this by pulling out a block, thus activating App Inventor's Warning Flag system.

JumpBackToOriginalBlock

1 Like

Dear @Devarsh_Mavani,
your project sounds really nice for those (like me !) who have started to write code in the '80ies in assembly language in which all variables were "global". (When I was teaching the architecture of a memory bank I was used to say "you shall think to a memory byte like an addressable drawer in which you store/retrieve an information ...").

By using this approach my AI2 apps have sometimes up to 200 global variables running across procedures, and virtual screens. Due to this old fashioned way of coding, sometimes I need to search where I've used a certain variable in hundreths of "collapsed" blocks (I reckon: this is my fault, haven't structured well since the beginning the code architecture or, at least, not having commented it sufficiently !!!).
All the above to say: whether your plugin will be capable of finding variables into collapsed blocks (the Ctrl-F of the browser can do it, but only for "open" blocks) I will owe you a pizza. :grinning: :grinning: :grinning:
Best wishes for your project !

1 Like

I am glad you liked the idea.

Yes, it could search collapsed blocks as well with minor changes in code.

Thanks & Regards :smile:

1 Like

Thanks to you, @Devarsh_Mavani,
then I'm trustfully waiting your project's success :slight_smile:

Best wishes !

1 Like