[
https://issues.apache.org/jira/browse/SHINDIG-1601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13113708#comment-13113708
]
[email protected] commented on SHINDIG-1601:
--------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1666/#review2051
-----------------------------------------------------------
Feedback inline.
http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js
<https://reviews.apache.org/r/1666/#comment4614>
Can we take this a step further and display an error in an "else" to this
"if"?
http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js
<https://reviews.apache.org/r/1666/#comment4615>
Display an error in an "else"
http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js
<https://reviews.apache.org/r/1666/#comment4616>
What happens if no "container" config is provided? I believe
gadgets.config.get will return an empty object, but it would be worth verifying
so we don't blow up here.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4618>
Probably want to throw this. :)
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4619>
Throw this guy
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4620>
Is it feasible to think that in the future other features will always be
allowed? For instance, is RPC always allowed in practice?
Maybe this should be extensible if that seems likely.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4621>
These overrides are going to blow up in a Java5 build because you're
implementing an interface.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4622>
Can context ever be null?
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4623>
Can spec or url ever be null?
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4625>
Style only: I'd rather see if(!isFeatureAdminEnabled(container)) { return
true
}
It removes one level of indentation and makes the code easier to read.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4626>
This Set logic gets complicated when trying to think of all of the use
cases. I hope there are Unit tests around all of this.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4624>
Just return the result of the areAllFeaturesAllowed() call
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4627>
Context can be null?
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4628>
Spec and url can be null?
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
<https://reviews.apache.org/r/1666/#comment4629>
Style only: I'd like to see the return true case happen first. It removes
a level of indentation and makes this easier to read.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java
<https://reviews.apache.org/r/1666/#comment4630>
Picking nits: You could just call this(null)
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java
<https://reviews.apache.org/r/1666/#comment4631>
In keeping with the Map APIs, could you return the result of remove()?
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4632>
Picking nits: You could just call this(null, null, null)
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4633>
I don't think the contains call is necessary here. By definition a Set
doesn't allow duplicates.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4634>
Style only: qualify with "this"
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4635>
Style only: qualify with "this"
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
<https://reviews.apache.org/r/1666/#comment4636>
What are you trying to accomplish here? What if the set has a list of
features and a "*" in it? This would return false. Shouldn't it be true in
that case?
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java
<https://reviews.apache.org/r/1666/#comment4637>
Picking nits: You could call this(null)
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java
<https://reviews.apache.org/r/1666/#comment4638>
Should probably be nullData and defaultData in two of these cases.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
<https://reviews.apache.org/r/1666/#comment4639>
Was this annotation just dangling before or did you accidentally remove it
from testGetMetadata()?
- Stanton
On 2011-09-23 14:29:37, Ryan Baxter wrote:
bq.
bq. -----------------------------------------------------------
bq. This is an automatically generated e-mail. To reply, visit:
bq. https://reviews.apache.org/r/1666/
bq. -----------------------------------------------------------
bq.
bq. (Updated 2011-09-23 14:29:37)
bq.
bq.
bq. Review request for shindig, Paul Lindner, Henry Saputra, johnfargo, Dan
Dumont, and Stanton Sievers.
bq.
bq.
bq. Summary
bq. -------
bq.
bq. We want to add some administration features to Shindig. This patch
adds/changes 3 things in Shindig.
bq.
bq. 1. Remove the existing blacklist functionality in Shindig which currently
is enabled by pointing Shindig to a text file with a list of gadgets to
blacklist. The new functionality uses a whitelist instead of a blacklist and
is indexed on a per container basis. Meaning an admin could whitelist some
gadgets in one container but not another. This functionality is enabled
through a Guice module allowing implementors to use something else besides a
text file.
bq.
bq. 2. Add the ability for administrators to specify which features are
allowed and denied for a specific gadget in a specific container. This
information is checked in two places, when the metadata request is made and
when the gadget is rendered.
bq.
bq. 3. Add the ability for containers to secure RPC requests made by gadgets.
The RPC code now has the ability to arbitrate all RPC calls made. Containers
can specify their own arbitrator. The common container has its own default
arbitrator available.
bq.
bq.
bq. This addresses bug SHINDIG-1601.
bq. https://issues.apache.org/jira/browse/SHINDIG-1601
bq.
bq.
bq. Diffs
bq. -----
bq.
bq. http://svn.apache.org/repos/asf/shindig/trunk/config/container.js
1174132
bq. http://svn.apache.org/repos/asf/shindig/trunk/config/gadget-admin.json
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/assembler.js
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container.util/util.js
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/rpc/rpc.js
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/common/conf/shindig.properties
1174132
bq. http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/pom.xml
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetBlacklist.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetBlacklist.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetException.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/RenderingContext.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStore.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ContainerAdminData.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/FeatureAdminData.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminData.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminModule.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/GadgetAdminStore.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/admin/ServerAdminData.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/config/CoreUtilConfigContributor.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BasicGadgetBlacklistTest.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/BasicGadgetAdminStoreTest.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ContainerAdminDataTest.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/FeatureAdminDataTest.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/GadgetAdminDataTest.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/admin/ServerAdminDataTest.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestServletTest.java
1174132
bq.
http://svn.apache.org/repos/asf/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
1174132
bq.
bq. Diff: https://reviews.apache.org/r/1666/diff
bq.
bq.
bq. Testing
bq. -------
bq.
bq. Created/updated unit tests.
bq.
bq.
bq. Thanks,
bq.
bq. Ryan
bq.
bq.
> Enhance Gadget Administration
> -----------------------------
>
> Key: SHINDIG-1601
> URL: https://issues.apache.org/jira/browse/SHINDIG-1601
> Project: Shindig
> Issue Type: New Feature
> Affects Versions: 3.0.0
> Reporter: Ryan Baxter
> Attachments: issue-1601.patch
>
> Original Estimate: 672h
> Remaining Estimate: 672h
>
> We want to add some administration features to Shindig. This patch
> adds/changes 3 things in Shindig.
> 1. Remove the existing blacklist functionality in Shindig which currently is
> enabled by pointing Shindig to a text file with a list of gadgets to
> blacklist. The new functionality uses a whitelist instead of a blacklist and
> is indexed on a per container basis. Meaning an admin could whitelist some
> gadgets in one container but not another. This functionality is enabled
> through a Guice module allowing implementors to use something else besides a
> text file.
> 2. Add the ability for administrators to specify which features are allowed
> and denied for a specific gadget in a specific container. This information
> is checked in two places, when the metadata request is made and when the
> gadget is rendered.
> 3. Add the ability for containers to secure RPC requests made by gadgets.
> The RPC code now has the ability to arbitrate all RPC calls made. Containers
> can specify their own arbitrator. The common container has its own default
> arbitrator available.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira