I have been tasked with making our implementation of Shindig work with URL gadgets. After much searching, I have seen few examples and little documentation. I have made it work in our environment have come across some issues...
Issue 1 Given simply the "libs=" parameter, per: http://code.google.com/apis/gadgets/docs/legacy/fundamentals.html#JS_URL , it seems one needs to instruct the gadget author to prefix it with a server URL. This seems to have some serious issues: 1) The gadget author must know the server URL. This prohibits the author from writing a URL gadget targeting different gadget servers. Even in our case where the user is authoring a gadget for our site, the gadget goes through a lifecycle from development to sandbox to production, all with different servers. 2) The gadget server host needs to publish the server URL. This becomes a public interface and changing it can become problematic once gadgets have been developed. A possible solution is to make the parameters value a full URL (no CSVs) that the gadget author simply includes in a <script src=...>. Note - there was one posting in the news group about needing to trust where the JS comes from, I believe the solution to trust should be something completely different, such as signing URLs, etc... Issue 2 Do people support the gadgets.* features with this? I have yet to see documentation suggesting this. But for many of the features it is possible. However, the gadgets.* features require some initialization, which can be seen in the HTML gadgets between the feature JS and gadget content. Where will this come from? Problem, this cannot be generated without additional information, such as the name of the container, gadget URL, locale, perhaps view and module id. A possible solution is to have another parameter with a full URL that the user includes after the one above. Note - the reason for separating them, is the feature JS is constant and cacheable. The initialization JS, while cacheable, has more variability in the URL (e.g. cache key), plus requires some type of dynamic generation. Jon Weygandt

