<div dir="auto">It is worth noting that the module loading method MusicBlocks uses, requirejs, is particularly susceptible to race conditions. From testing, at the moment is it currently just at the limit of the number of files it's able to load without this being an issue, however I suspect if each widget requires two files not one, along with the additional shared boilerplate code that'll be needed, this may tip requirejs over the edge. This should be avoidable by making use of define(), however it'll be something to keep in mind if strange race conditions start to appear on page load (especially a fresh load without cache).</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 11 Mar 2020, 15:52 b18050 b18050, <<a href="mailto:b18050@students.iitmandi.ac.in">b18050@students.iitmandi.ac.in</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This is very helpful for beginner developers also if we maintain individual directories for every widget. Different widgets work differently. So, there must be some differences in them i.e. a change in one of the widget can affect only that widget. If we want to add any facility to multiple widgets, it will be just a matter of adding implemented code to that widget , which can be done  <br><div>easily. <br></div><div>Please provide any further suggestions . </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 11, 2020 at 9:03 PM Walter Bender <<a href="mailto:walter.bender@gmail.com" target="_blank" rel="noreferrer">walter.bender@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Sounds good to me. We should probably make an individual directory for each widget with its model and controller js files.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 11, 2020 at 11:22 AM b18050 b18050 <<a href="mailto:b18050@students.iitmandi.ac.in" target="_blank" rel="noreferrer">b18050@students.iitmandi.ac.in</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello everyone,</div><div>This is regarding model - view - controller model of Music Blocks. As suggested by respected mentor , there is a need to separate controller and model of widgets. I think it will be good if for every widget, we can have two files controller.js  and model.js. In model.js , we can store the data and the domain logic. In controller.js , various processes and response to various events and invokes changes on the model and the view. <br></div><div>  <br></div><div><br></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><font><font>Walter Bender</font></font><br><font><font>Sugar Labs</font></font></div><div><font><a href="http://www.sugarlabs.org" target="_blank" rel="noreferrer"><font>http://www.sugarlabs.org</font></a></font><br><a href="http://www.sugarlabs.org" target="_blank" rel="noreferrer"><font></font></a><br></div></div></div>
</blockquote></div>
_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank" rel="noreferrer">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" rel="noreferrer noreferrer" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
</blockquote></div>