I've been looking into the javascript code lately so we can get it ready to
be processed by the closure compiler. I have some changes I'd like to put
in place that I believe would be useful:
* Create a globals and/or base feature that holds the global variables,
gadgets (for gadgets) and shindig (for internal shindig namespace). Most
modules would then add a dependency to this feature. This would then allow
for us to remove many of the duplicated lines like this:
var gadgets = gadgets || {};
etc.
* Try to make features 1-1 with the javascript namespace they define.
core.prefs -> gadgets.prefs
core.util -> gadgets.util
core.auth -> shindig.Auth
core.json -> gadgets.json
pubsub -> gadgets.pubsub
core.io -> gadgets.io
flash -> gadgets.flash
core.prefs -> gadgets.Prefs?
* move xmlutil from opensocial.xmlutil to shindig.xmlutil (and any other
pollution of the opensocial namespace)
* Somehow maintain a closure compiler externs file (could go hand-in-hand
with the taming.js maintenance?)
* To assist with exporting symbols use nomenclature like this:
gadgets.log['INFO'] = 1;
instead of gadgets.log.INFO = 1;
This signifies a namespace that should not be renamed
Thoughts on any of this? I have some patches I'm testing, more to come...