On Tue, May 6, 2008 at 4:45 AM, Lieven Dekeyser <[EMAIL PROTECTED]> wrote:

> Hey,
>
> For the past few weeks we've been working on integrating Shindig with
> Netlog. Our sandbox is finally live on
> http://en.netlog.com/go/developer/opensocial (If you don't have a Netlog
> account yet, you'll have to register first)
>
> Cassie and others asked us to leave a few notes on our implementation:
>
> The basic steps are surprisingly straightforward:
>
> - Provide implementations for the interfaces in
> org.apache.shindig.social.opensocial.*
> For Netlog, we're just using our internal API to request the data, so the
> opensocial services basically make calls using our java client-side api and
> reformat the output for Shindig. We haven't implemented Netlog-specific
> calls yet, it's just the basic opensocial stuff for now.
>
> - Inject our implementation using guice
> We have one guice module which injects our GadgetTokenDecoder,
> PeopleService, DataService and ActivitiesService implementations. This
> required us to replace both the CommonGuiceModule and SocialApiGuiceModule
> (code injections cannot be overridden), so we also had to inject
> BasicRemoteContentFetcher, BasicContentCache and the OpenSocialDataHandler.
>
> As far as the build process goes, maven is not my cup of tea, so it's kinda
> hacked together for now:
> - Using svn:externals properties, we import a specific revision (right now
> r653446) of the shindig repository in our working copies.
> - Before building, the Shindig working copy is patched with a diff file
> stored in our repository to represent our local changes. Amongst other
> changes, this patches the web.xml file to use our guice module in stead of
> CommonGuiceModule and SocialApiGuiceModule.
> - After patching, Shindig (java/server) is built, our own *Service
> implementations are built and the resulting jar files are put in the war
> folder before running.
>
> The sane thing to do would probably be to create our own pom.xml that
> "installs" our jars in the local maven repository and add it as a dependency
> to the server pom file, but I haven't had the time or courage to look into
> this.
>
> We're using Jetty to test, and Tomcat in production.
>
>
> Pieter De Schepper did the gadget rendering part, and these are his notes
> about gadgets.js:
>
> - in the gadget render function: added appid and set the current view
> - made the serverBase configurable
> - some html changes to use our layout
> - change in userprefsmenu toggle (toggle: show userprefsmenu, hide gadget)
>
>
> A few questions that came up while testing:
>
> At first, Shindig didn't seem to pass the compliance test gadget (default
> url in our sandbox), but after adding one line to
> features/opensocial-0.7/jsonperson.js to indicate the type of dateOfBirth,
> it works:
>
>> JsonPerson.constructObject(opt_params, "dateOfBirth", Date);
>>
>
> Has this just been overlooked, or is this change somehow incorrect?
>
> A lot of gadgets from opensocialdirectory.org and the photostatus sample (
>
> http://opensocial-resources.googlecode.com/svn/samples/photostatus/trunk/photostatus.xml
>  )
> don't work as they require opensocial-0.5. Are the specs backwards
> compatible, and if so, shouldn't Shindig handle opensocial-0.5 compatible
> gadgets with the opensocial-0.7 implementation?
>

There seem to be problems with the initial height of gadgets. It seems that
> if an initial height is set in the gadget's xml, it's not passed through
> correctly by Shindig.
>

In what way are you attempting to retrieve the height and width attributes?

Also, a lot of gadgets don't seem to call _IG_AdjustIFrameHeight() after
> initialization. Is there anything we can do to make sure gadgets are
> displayed correctly?


Interesting, can you give an example? Do you see _IG_AdjustIframeHeight()
(or its new equivalent, gadgets.window.adjustHeight()) in the initialization
code - or are you referring to this method not being called/callable on
resize events?

Congratulations on your launch!

--John


>
>
> Lieven Dekeyser
> Desktop Application Developer
>
> Netlog NV
> Emile Braunplein 18
> B-9000 Ghent
> Belgium
>
>
>
>

Reply via email to