Templates that can be entirely processed on the server side may strip out
the template JS (see
http://www.google.com/codesearch/p?hl=en#MSH8LMSqi38/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java&q=%22opensocial-templates%22%20shindig&l=255
).

If this is a problem, a hack solution might be to add
<script type="text/os-template" autoUpdate="true"></script> to your HTML -
there is code that prevents stripping the feature out if there is a template
with autoUpdate enabled.

We should probably add a feature to Shindig to always enable client-side
processing.

Evan

On Fri, May 1, 2009 at 11:28 AM, Terlecki, Stephen <
[email protected]> wrote:

> I have been looking into this as well, and I think I am seeing the same
> issue.
>
> If I have an example gadget with only a default view that looks
> something like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <Module>
>  <ModulePrefs title="Basic Gadget">
>   <Require feature="opensocial-0.8"></Require>
>   <Require feature="dynamic-height"></Require>
>   <Require feature="opensocial-data"></Require>
>   <Require feature="opensocial-data-context"></Require>
>   <Require feature="opensocial-templates"></Require>
>   <Require feature="xmlutil"></Require>
>   <Optional feature="content-rewrite">
>        <Param name="include-tags"></Param>
>   </Optional>
>  </ModulePrefs>
>  <Content type="html">
>   <![CDATA[
>        <script type="text/os-data"
> xmlns:os="http://ns.opensocial.org/2008/markup";>
>            <os:ViewerRequest key="databindviewer"/>
>            <os:OwnerRequest key="databindowner"/>
>            <os:PersonAppDataRequest key="ownerdata" userId="@owner"
> appId="@app"/>
>        </script>
>        <script type="text/os-template"
> xmlns:os="http://ns.opensocial.org/2008/markup";
> xmlns:example="http://example.org"; tag="example:myTemplate">
>            <b>Hello ${databindviewer.displayName}</b><br>
>                Welcome to ${databindowner.displayName}'s gadget<br>
>            <b>Owner id is ${databindowner.id}</b><br>
>            <b>Owner Data Key=name1
> value=${ownerdata[databindowner.id]["name1"]}</b><br>
>        </script>
>        <script type="text/javascript">
>            //var templateForMe =
> opensocial.template.getTemplate("example:myTemplate");
>            var templateForMe = os.getTemplate("example:myTemplate");
>            templateForMe.process();
>        </script>
>   ]]>
>  </Content>
> </Module>
>
> I can't get the opensocial javascript template api to actually render
> out the template.  I receive a js error that opensocial.template is not
> defined.  Do I have to have that template in a separate file for the
> opensocial.template api to work?
>
> -----Original Message-----
> From: Stephens, Christopher
> Sent: Thursday, April 30, 2009 6:08 PM
> To: [email protected]
> Subject: Template JS API
>
> SO I've been working for a few days to get some template logic working
> and I have come to the conclusion that I think the opensocial.template
> object isn't in the opensocial-templates feature library.  I checked the
> mailing list for awhile and couldn't find anything to confirm this.  I
> also brought up my gadget using the irf page and in firebug under DOM I
> don't see a template object under the opensocial object.  I suppose I
> might be missing a feature or something but can someone confirm if the
> JS API is implemented in shindig?
>

Reply via email to