Opened 13 years ago

Closed 5 years ago

#5049 closed enhancement (wontfix)

Add more layers for CDN build

Reported by: James Burke Owned by: Rawld Gill
Priority: high Milestone: 1.11
Component: BuildSystem Version: 1.0
Keywords: needsreview Cc:
Blocked By: Blocking:

Description (last modified by James Burke)

Shane O'Sullivan asked for more layers in the CDN build, as much as one for every widget:

While I'm on the fence about doing one for every widget, he does have a point that it would be helpful to have more layers, at least for some things.

So this ticket is to track making a profile file for the CDN that can build the extra layers.

Also, maybe make a shell script that will run all the cldr translations before doing the real build with this new profile.

Change History (11)

comment:1 Changed 13 years ago by dante

its seems like a dijit-dijit layer is okay (dijit/_base/*) if you include _Widget (and maybe even _Templated) in the layer. then a layer for form/* widget and a layer for layout/* widgets, and _THEN_ the dijit-all layer, encompasing the 'rest' of the widgets? it's the same principal as doing a layer for each dojox project, which may be beneficial anyway.

comment:2 Changed 13 years ago by James Burke


comment:3 Changed 12 years ago by James Burke

Milestone: 1.11.2

Pushing this to 1.2 consideration, but still seems tricky: In order for this to work right, you ideally would want the layers to know about each other and dojo.require each other. For instance, dijit.form.form-all would dojo.require dijit.dijit.

Right now there is not an easy way to inject new dojo.require calls in a layer file that does exist on disk. I guess we could put real files on disk for each layer.

Hmm, but this makes documentation trickier. I guess you would just have to know which files are layers and know what you want, and just leave it out of documentation.

Will also have to check to see how this affects the doctool, adding in these layer files.

comment:4 Changed 12 years ago by dante

(In [14519]) refs #5049 - add a profile that includes the demos/ repo, and builds each demo layer in one shot.

comment:5 Changed 12 years ago by dante

(In [14644]) adding the mail demo to the demos-all profile refs #5049

comment:6 Changed 12 years ago by dante

(In [14647]) adding in profile for i18n demo, and fixing mail demo comment. refs #5049 -- should I make a new [meta] ticket for these commits? this is just the closest related existing one.

comment:7 Changed 12 years ago by James Burke

Description: modified (diff)
Milestone: 1.2future

comment:8 Changed 8 years ago by ben hockey

Keywords: needsreview added

comment:9 Changed 8 years ago by bill

Owner: changed from James Burke to Rawld Gill

Bulk update to assign BuildSystem? tickets to Rawld. Many of these are probably already fixed in 1.7.

comment:10 Changed 8 years ago by Rawld Gill

Milestone: future2.0
Status: newassigned
Type: defectenhancement

I think additional layers is not enough to solve the perceived problem. The CDN build should be optimized so that the minimum number of requests are made (as per the original intent of this ticket) but also, all those requests should be made in a single download cycle (in other words, serial dependencies should be avoided). This could be done by building modules to specify their complete dependency graph + a set of key base layers that those dependency graphs depend on (to keep the graphs small). This will require a build transform, but is not too complicated.

The ultimate goal is that requesting any module takes the about the same time as a single round trip.

This is doable; keeping ticket open.

comment:11 Changed 5 years ago by dylan

Milestone: 2.01.11
Resolution: wontfix
Status: assignedclosed

Given that we generally don't recommend the CDN for production apps I'm closing this out.

Note: See TracTickets for help on using tickets.