> 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.
>> >
>> >
>>
>

Reply via email to