> libs is not static. I get confused, because my assumption was that libs stays static unless shindig config.php "focedLibs" get changed. But I found I was misunderstanding the first part.
> 1. Container can specify javascript sets (features) which will be > loaded every time any of gadgets get rendered. This works like DEFAULT > feature sets, and is called "libs". > Libs can be specified by setting "focedJsLibs" (not forcedJsLibs :) ) > to feature strings concatenated with colon in /shindig/php/config.php. > Libs will be loaded on client side with script tag, so that browser > can cache it. Above applies only when gadget type="html". If type="url", libs includes not only "focedLibs" but also features gadget XML requires. Am I right? 2008/6/27 Kevin Brown <[EMAIL PROTECTED]>: > On Thu, Jun 26, 2008 at 7:03 PM, Eiji Kitamura <[EMAIL PROTECTED]> wrote: > >> I guess I'm understanding what it does and how it works. >> The point was, why shindig needs to obtain libs as part of url >> parameter despite it's right there in config.php. >> >> Cache doesn't seem to matter because combination of javascripts (libs) >> should be cached anyway the first time shindig renders it, even if SNS >> have multiple gadgets in one page. >> >> >> if it's just the way it works, that's fine. >> I just wanna know if there's any particular reason. > > > libs is not static. It can vary depending on which gadgets are being > rendered. There's no way for an individual gadget to know what libraries > other gadgets rendered at the same time need, so the container has to tell > each gadget which libraries to use. If you didn't do this, shindig would > have to load a different library set for *every* gadget render, resulting in > really poor performance. > > >> >> 2008/6/26 Chris Chabot <[EMAIL PROTECTED]>: >> > Actually what shindig does is it looks at the gadget xml and distills a >> list >> > of required features (and their dependencies) >> > >> > loop through all required_and_optional_features: >> > if the lib is included in the libs=...:..:.. >> > append it to the $external_libs_string >> > else >> > append the javascript code to $inlined_javascript >> > >> > echo <script src="/gadgets/js/$external_libs.js"> >> > echo $inline_libs >> > >> > So it's not a 'if their not specified on the url things break' kind of >> thing >> > at all, why would we make something broken by design ? :-) >> > >> > It's just a way to specify which libs should be included through an >> external >> > reference, and which should be inlined into the document. >> > >> > When in doubt, you can always look at the source, in this case it's in >> > src/gadgets/http/GadgetRenderingServlet.php line 154. >> > >> > -- Chris >> > >> > On Jun 26, 2008, at 11:50 AM, Kevin Brown wrote: >> > >> >>> I meant, what if SNS does not provide "libs" param in gadget url inside >> >>> iframe. >> >>> Shindig still should be able to detect required "libs" since they are >> >>> in config.php and can ommit unnecessary features gadget XML requires >> >>> when rendering. >> >> >> >> >> >> If you don't provide it, shindig will automatically figure out what to >> use >> >> -- you'll just get fewer cache hits and overall worse performance. >> > >> > >> >

