<div dir="ltr">There is a pull-request with this. Feedback and suggestions are welcome.<div><br></div><div>Thanks,</div><div>Code</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 5, 2013 at 4:47 PM, Manuel Quiñones <span dir="ltr"><<a href="mailto:manuq@laptop.org" target="_blank">manuq@laptop.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2013/11/5 Code <<a href="mailto:iraguet@activitycentral.com">iraguet@activitycentral.com</a>>:<br>
<div><div class="h5">><br>
><br>
><br>
> On Mon, Nov 4, 2013 at 1:54 PM, Manuel Quiñones <<a href="mailto:manuq@laptop.org">manuq@laptop.org</a>> wrote:<br>
>><br>
>> 2013/11/4 Code <<a href="mailto:iraguet@activitycentral.com">iraguet@activitycentral.com</a>>:<br>
>> > I think this is off-topic...<br>
>> > BTW: perhaps you wanna see this thread from RequireJS' list where James<br>
>> > Burke (core developer of RequireJS lib) talks about these syntax forms.<br>
>> > If there is something realted to this to add, would u open a new thread,<br>
>> > please?<br>
>> ><br>
>> ><br>
>> > Getting back to the former topic (loading non-AMD modules):<br>
>> > There is another approach, require.config() calls are additive, so it is<br>
>> > possible to call config from other file than loader.js and require<br>
>> > merges<br>
>> > it.<br>
>> ><br>
>> > example of a require.config() from activity.js:<br>
>> > <a href="https://gist.github.com/code-sur/7305059" target="_blank">https://gist.github.com/code-sur/7305059</a>  ...loader.js stills as it is<br>
>> > in<br>
>> > sugar-web-template<br>
>> ><br>
>> > pros:<br>
>> > * no need to modify loader.js<br>
>> > * some developers would set other requirejs options<br>
>> ><br>
>> > cons:<br>
>> > * whole config may spreads among many files<br>
>> ><br>
>> > The last "con" may be a "pro" if you want to clearly separete the<br>
>> > framework<br>
>> > config from the activity specific config<br>
>><br>
>> Yeah.  I think it is up to the activity developer to choose one or the<br>
>> other.  The shim looks more prominent in RequireJS docs.<br>
>><br>
>> Here is how I used the shim in Gears activity, just for reference:<br>
>> <a href="https://github.com/manuq/gears-activity/blob/master/js/loader.js" target="_blank">https://github.com/manuq/gears-activity/blob/master/js/loader.js</a><br>
>><br>
>> By the way, I have talked with the developer of the lib involved,<br>
>> gearsketch, and he is happy if I provide a patch to make his code an<br>
>> AMD module.  In general I think its good to do this.<br>
><br>
> +1<br>
> I think that this is the right path, too, but I'm thinking from the point of<br>
> view of an occasional activity developer how just wants to build-up an<br>
> activity with his/her daily web tools.<br>
> I want to ease the work of activity devs... if it is somewhat hard to do,<br>
> they won't build anything.<br>
<br>
</div></div>Absolutely.<br>
<div class="im"><br>
> I'd like to write a very tiny paragraph at the doc under the title of "Using<br>
> other JavaScript libraries" that tells you where to put the shim config if<br>
> you have any non-AMD module.<br>
<br>
</div>Good.  Feel free to add an explanation, and then just link the<br>
RequireJS documentation, as Daniel proposed.  Doesn't make sense to<br>
duplicate their docs.<br>
<div class="im"><br>
> Seems weird to ask for putting shim config at loader.js and a few lines<br>
> above in the doc says that you shouldn't touch that file.<br>
<br>
</div>Well nothing is written in stone, we can change the lines above.  But<br>
we should keep them simple.  Their purpose is to answer the question:<br>
where should I put my JS code? And my HTML? And my CSS?<br>
<br>
So my proposal is around this patch:<br>
<br>
--- a/<a href="http://activity.md" target="_blank">activity.md</a><br>
+++ b/<a href="http://activity.md" target="_blank">activity.md</a><br>
@@ -59,10 +59,11 @@ In your new activity, you will find the following<br>
file structure:<br>
<br>
 * `css/activity.css` is where you add the styling of your activity.<br>
<br>
-Those are the files you'll modify.  The others are:<br>
+Those are the files you'll modify in most cases.  The others are:<br>
<br>
 * `js/loader.js` configures the libraries paths and loads your<br>
-  `js/activity.js`<br>
+  `js/activity.js` . You can add non-AMD libraries here (FIXME link to<br>
+  section below for non-AMD libs).<br>
<br>
 * `lib/` contains the libraries<br>
<br>
<br>
<br>
<br>
Cheers,<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
.. manuq ..<br>
</font></span></blockquote></div><br></div>