> On 2012-02-16 22:35:47, Stanton Sievers wrote:
> > I think this would make more sense to add to the existing gadget-admin.json
> > file instead of into the container.js config. It would keep all of the
> > "admin" stuff in one place.
> >
> > So today we have something like this in gadget-admin.json:
> >
> > {
> > "default" : {
> > "gadgets" : {
> > "http://www.google.com/ig/modules/horoscope.xml" : {
> > "features" : ["views", "tabs", "setprefs", "dynamic-height"],
> > "type" : "blacklist"
> > }
> > }
> > }
> > }
> >
> > You could just add another attribute that is a sibling to "gadgets" (name
> > pending)
> >
> > {
> > "default" : {
> > "gadgets" : {
> > "http://www.google.com/ig/modules/horoscope.xml" : {
> > "features" : ["views", "tabs", "setprefs", "dynamic-height"],
> > "type" : "blacklist"
> > }
> > },
> > "additional_rpc_endpoints" : ["foobar"]
> > }
> > }
> >
> > You could read the new array on the server-side when processing the list of
> > allowed endpoints from the feature.xmls before shipping that info off to
> > the container.
>
> Ryan Baxter wrote:
> Good thought Stanton!
>
> I think I would like to modify your suggestion a bit though. I think in
> some scenarios it would be useful to specify the additional RPC endpoints on
> a per gadget basis, so I am envisioning something more like this
>
> {
> "default" : {
> "gadgets" : {
> "http://www.google.com/ig/modules/horoscope.xml" : {
> "features" : {
> "name" : ["views", "tabs", "setprefs", "dynamic-height"],
> "type" : "blacklist"
> },
> "rpc" : {
> "additionalEndpoints" : ["foobar"]
> }
> },
> "*" : {
> "rpc" : {
> "additionalEndpoints" : ["helloworld"]
> }
> }
> }
> }
> }
>
> This format lets you specify additional endpoints to allow on a per
> gadget basis. You can use the * syntax to denote ones that should be allowed
> for all gadgets. What do you think?
One slight change to my example...
{
"default" : {
"gadgets" : {
"http://www.google.com/ig/modules/horoscope.xml" : {
"features" : {
"name" : ["views", "tabs", "setprefs", "dynamic-height"],
"type" : "blacklist"
},
"rpc" : {
"additionalEndpoints" : ["foobar"]
}
},
"http://*" : {
"rpc" : {
"additionalEndpoints" : ["helloworld"]
}
}
}
}
}
- Ryan
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3938/#review5172
-----------------------------------------------------------
On 2012-02-20 21:48:36, Ryan Baxter wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/3938/
> -----------------------------------------------------------
>
> (Updated 2012-02-20 21:48:36)
>
>
> Review request for shindig.
>
>
> Summary
> -------
>
> If you enable RPC arbitration in a container and you want to allow a set of
> RPC service ids regardless of whether the gadgets has features that uses
> them, it is very difficult to do so. The only way to do this today is to
> provide your own arbitrator function to the common container. Essentially
> this function will do the same thing as the default implementation in the
> common container except have a list of allowed RPC service ids. It be easier
> if containers could specify a list of additional RPC services to allow on a
> per gadget basis. It would also be nice if this was integrated into the
> gadget admin feature in Shindig already.
>
>
> This addresses bug SHINDIG-1709.
> https://issues.apache.org/jira/browse/SHINDIG-1709
>
>
> Diffs
> -----
>
> http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/RpcAdminData.java
> PRE-CREATION
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/RpcAdminDataTest.java
> PRE-CREATION
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
> 1245178
>
> http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java
> 1245178
>
> Diff: https://reviews.apache.org/r/3938/diff
>
>
> Testing
> -------
>
> Updated and added unit tests. Also tested in common container.
>
>
> Thanks,
>
> Ryan
>
>