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

Reply via email to