RE: [DISCUSS] Consider implementors of Sling API
+1 Regards, Amit -Original Message- From: Felix Meschberger [mailto:fmesc...@adobe.com] Sent: 05 August 2013 20:35 To: dev@sling.apache.org Subject: [DISCUSS] Consider implementors of Sling API Hi all While working on SLING-2944 [1] it occurred to me that we do not currently take good care to differentiate between interfaces to be implemented by a single bundle (such as SlingHttpServletRequest) and interfaces which may be implemented by multiple bundles to extend some functionality (such as ResourceProvider). Also, we have a number of constant, helper, and utility type classes in the Sling API, which we should not make available to extensibility. I have created SLING-2993 [2] and provided a patch to the Sling API such that: * All classes intended for extension remain unchanged * All classes not intended for extension are marked final * All interfaces intended to be implemented by multiple bundles (providers) are marked @ConsumerType * All interfaces intended to be implemented by a single bundle are marked as @ProviderType This change also requires to update the Maven Bundle Plugin version in the Sling parent POM to 2.4.0. This change would prevent us from collateral damage such in the context of SLING-2944 where the Servlet Resolver, Filesystem Resource Provider, and Bundle Resource Provider bundles have to be updated just because the ResourceResolverFactory API has been extended. WDYT ? Regards Felix [1] https://issues.apache.org/jira/browse/SLING-2944 [2] https://issues.apache.org/jira/browse/SLING-2993
RE: [VOTE] Apache Sling Auth Core 1.1.4 Release
+1 Amit -Original Message- From: ianbos...@gmail.com [mailto:ianbos...@gmail.com] On Behalf Of Ian Boston Sent: 03 October 2013 18:19 To: dev@sling.apache.org Subject: Re: [VOTE] Apache Sling Auth Core 1.1.4 Release +1 Ian On 3 October 2013 12:39, Justin Edelson wrote: > +1 > > On Thu, Oct 3, 2013 at 4:29 AM, Carsten Ziegeler wrote: >> Hi, >> >> I think it time for a new auth core release. We fixed a number of issues: >> >> https://issues.apache.org/jira/browse/SLING/fixforversion/12324311 >> >> Staging repository: >> https://repository.apache.org/content/repositories/orgapachesling-125/ >> >> You can use this UNIX script to download the release and verify the >> signatures: >> http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh >> >> Usage: >> sh check_staged_release.sh 125 /tmp/sling-staging >> >> Please vote to approve this release: >> >> [ ] +1 Approve the release >> [ ] 0 Don't care >> [ ] -1 Don't release, because ... >> >> This vote will be open for 72 hours. >> >> Regards >> >> >> -- >> Carsten Ziegeler >> cziege...@apache.org
RE: [ANN] New committer: Amit Gupta
Hi, Thanks Felix, Chetan & Bertrand for a warm welcome. Thanks to the team for this opportunity. Introduction: I work for Adobe Systems and have been using Sling for past couple of years. It is absolutely fantastic, and I look forward to make it even better. Thanks, Amit
RE: [OT] Feature flag influence on Resource access (Was: FYI: feature flags prototype)
>So, finally, I agree that baking the feature flag support directly into the >ResourceResolver implementation is suboptimal, it is probably still the most >comprehensive and complete solution to the requirements. And I cannot conceive >plugin hooks (at this point) to define such that we can do feature flag >plugins. I think that we should not put it directly into ResourceResolver, because if resourceResolver does not give me a resource if feature is disabled, Resource will stop existing for me. There will be no way to access that resource using ResourceResolver api i.e. let's say I want to remove sling:feature attribute from that resource, I can't do that. ResourceResolverDecorator should be the way to go (implementation could be restricted i.e. queryResources not supported), additionally providing a servlet filter as Alex suggested. Thanks, Amit -Original Message- From: Felix Meschberger [mailto:fmesc...@adobe.com] Sent: 15 November 2013 13:11 To: dev@sling.apache.org Subject: [OT] Feature flag influence on Resource access (Was: FYI: feature flags prototype) Hi TL;DR: Long discussion on why I think Feature flag support should currently be baked into the ResourceResolver implementation. I am forking of this discussion now to step back a bit and really look into what we expect from Feature flag support in the ResourceResolver. I go by the main resource access or methods there, so: * resolve() -> Resource Calculates a virtual list of resource candidates and returns the first one. Applying feature flags, it might not return the first one. Another level of features could be applied to supporting feature flags in the /etc/map mappings leading to the list of candidate resources. * map -> String The input path is first converted into a resource, which may have a feature flag applied. In addition to applying a feature flag to the resource which is finally mapped the /etc/map mappings can also be "filtered" with feature flags. * getResource() -> Resource For absolute path its a single yes/no question: Is the resource visible or not according to the feature flag. For relative paths its not as simple since the ResourceResolver iterates the search path looking for a resource. So each canidate is looked at and has to have its feature flag inspected. (feature flags of ancestors are ignored; only feature flags in the candidate resource itself are considered; so no feature flag inheritance down the tree) * getParentResource() -> Resource This is not an interesting case because it accesses the parent resource using the absolute path and we would not expect to get null here (except if the argument resource is the root resource). * listChildren -> Iterator * getChildren -> Iterable * queryResources -> Iterator> * findResources -> Iterator Simple case here: We just exclude child resources whose feature flag refers to a disabled feature. What options do we have ? * ResourceResolverDecorator (to be specced/implemented): Will have to do extra work getResource to iterate the search path for relative resources to consider the feature flag - might optimize by only iterating if the actual getResource method returns a resource with a disabled feature flag. Iterator can simply be decorated, too. queryResources is harder again because this might contain results from queries which should not be included according to the feature flag (so each entry would have to be inspected, if at all possible). Also: A ResourceDecorator cannot properly handle feature flags in /etc/map mappings at all and also support feature flags on resolveResource is probably hard to implement because the list of canidate resources is influence by /etc/map mappings so a decorator would have to replicate that work. * ResourceAccessGate: This is not leveraged by all ResourceProviders and we expressely leave it to these services to indicate the use of a gate. Defining Feature flag support to have all ResourceProviders require to leverage ResourceAccessGate sounds contradictionary. Also, while a case can be made for the Feature flag to be some kind of an access gate, the actual idea of the ResourceAccessGate is actual access control as in secure access. Also we just want to apply the feature flag "gate" to all Resourceproviders not a generic ACL gate which may also be defined. * Bake Feature support into the ResourceResolver implementation: This solves the ResourceResolverDecorator problems by being able to handle Feature flags early. But is bears the problem of overloading the implementation with the feature flag support. So, finally, I agree that baking the feature flag support directly into the ResourceResolver implementation is suboptimal, it is probably still the most comprehensive and complete solution to the requirements. And I cannot conceive plugin hooks (at this point) to define such that we can do feature flag plugins. Is the ServletResolver also affected by feature flags ? Probably not
RE: [OT] Feature flag influence on Resource access (Was: FYI: feature flags prototype)
Hi, @Dominik, Some other use cases could be - free features vs premium/paid features, where some features are disabled based on type of user account. @Felix, You are right, we can temporarily enable feature. But, as we advocate more and more use of ResourceResolver api instead of underlying content storage. There could be cases where even editors/tools used in development/installers are using the resourceResolver api and never see the resource. Like exporting some content package to be deployed to another sling instance, but package exporter use resouceResolver api and never see the resource. Thanks, Amit -Original Message- From: Dominik Süß [mailto:dominik.su...@gmail.com] Sent: 15 November 2013 18:49 To: dev Subject: Re: [OT] Feature flag influence on Resource access (Was: FYI: feature flags prototype) Hi Amit, maybe I haven't understood the idea of FeatureFlags right, but isn't this exactly what this is about. The system should behave if it wouldn't be there at all. The basic idea is that you don't have to branch it away during development so you can ship it in a non-productionready or non QEed state and turn it on without deployment (maybe just to a smaler audience or in the beta env). Therefore I would expect this to be completely hidden as it would like when being protected through ACLs. Cheers Dominik On Fri, Nov 15, 2013 at 2:11 PM, Amit.. Gupta. wrote: > >So, finally, I agree that baking the feature flag support directly > >into > the ResourceResolver implementation is suboptimal, it is probably > still the most comprehensive and complete solution to the > requirements. And I cannot conceive plugin hooks (at this point) to > define such that we can do feature flag plugins. > > I think that we should not put it directly into ResourceResolver, > because if resourceResolver does not give me a resource if feature is > disabled, Resource will stop existing for me. There will be no way to > access that resource using ResourceResolver api i.e. let's say I want > to remove sling:feature attribute from that resource, I can't do that. > ResourceResolverDecorator should be the way to go (implementation > could be restricted i.e. queryResources not supported), additionally > providing a servlet filter as Alex suggested. > > Thanks, > Amit > > -Original Message- > From: Felix Meschberger [mailto:fmesc...@adobe.com] > Sent: 15 November 2013 13:11 > To: dev@sling.apache.org > Subject: [OT] Feature flag influence on Resource access (Was: FYI: > feature flags prototype) > > Hi > > TL;DR: Long discussion on why I think Feature flag support should > currently be baked into the ResourceResolver implementation. > > I am forking of this discussion now to step back a bit and really look > into what we expect from Feature flag support in the ResourceResolver. > I go by the main resource access or methods there, so: > > * resolve() -> Resource > Calculates a virtual list of resource candidates and returns the first > one. Applying feature flags, it might not return the first one. > Another level of features could be applied to supporting feature flags > in the /etc/map mappings leading to the list of candidate resources. > > * map -> String > The input path is first converted into a resource, which may have a > feature flag applied. > In addition to applying a feature flag to the resource which is > finally mapped the /etc/map mappings can also be "filtered" with feature > flags. > > * getResource() -> Resource > For absolute path its a single yes/no question: Is the resource > visible or not according to the feature flag. > For relative paths its not as simple since the ResourceResolver > iterates the search path looking for a resource. So each canidate is > looked at and has to have its feature flag inspected. (feature flags > of ancestors are ignored; only feature flags in the candidate resource > itself are considered; so no feature flag inheritance down the tree) > > * getParentResource() -> Resource > This is not an interesting case because it accesses the parent > resource using the absolute path and we would not expect to get null > here (except if the argument resource is the root resource). > > * listChildren -> Iterator > * getChildren -> Iterable > * queryResources -> Iterator> > * findResources -> Iterator > Simple case here: We just exclude child resources whose feature flag > refers to a disabled feature. > > What options do we have ? > > * ResourceResolverDecorator (to be specced/implemented): Will have to > do extra work getResource to iterate the search path for relative > resources to consider the feature flag - might optimize by only > itera
RE: [VOTE] Release Apache Sling Commons Log 4.0.0
+1 -Original Message- From: Chetan Mehrotra [mailto:chetan.mehro...@gmail.com] Sent: 18 November 2013 15:16 To: dev Subject: Re: [VOTE] Release Apache Sling Commons Log 4.0.0 +1 Chetan Mehrotra On Mon, Nov 18, 2013 at 3:14 PM, Chetan Mehrotra wrote: > Hi, > > This is to vote for the Apache Sling Commons Log 4.0.0 release. This > is the first release which uses Logback as the logging backend. > > The docs are up to date at > http://sling.apache.org/documentation/development/logging.html > > Issues fixed > https://issues.apache.org/jira/browse/SLING/fixforversion/12324947 > > Staging repository: > https://repository.apache.org/content/repositories/orgapachesling-150/ > > You can use this UNIX script to download the release and verify the > signatures: > http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh > > Usage: > sh check_staged_release.sh 150 /tmp/sling-staging > > Please vote to approve this release: > > [ ] +1 Approve the release > [ ] 0 Don't care > [ ] -1 Don't release, because ... > > This vote will be open for 72 hours. > > Regards > Chetan Mehrotra
RE: [VOTE] Release Apache Sling org.apache.sling.commons.testing 2.0.16
+1 Amit -Original Message- From: ianbos...@gmail.com [mailto:ianbos...@gmail.com] On Behalf Of Ian Boston Sent: 26 November 2013 13:47 To: dev@sling.apache.org Subject: Re: [VOTE] Release Apache Sling org.apache.sling.commons.testing 2.0.16 +1 Ian On 26 November 2013 08:08, Mike Müller wrote: > +1 > Best regards > mike > >> -Original Message- >> From: Bertrand Delacretaz [mailto:bdelacre...@apache.org] >> Sent: Tuesday, November 19, 2013 5:28 PM >> To: dev >> Subject: [VOTE] Release Apache Sling org.apache.sling.commons.testing 2.0.16 >> >> Hi, >> >> We solved 5 issues in this release: >> >> https://issues.apache.org/jira/browse/SLING/fixforversion/12324059 >> >> Staging repository: >> https://repository.apache.org/content/repositories/orgapachesling-151/ >> >> You can use this UNIX script to download the release and verify the >> signatures: >> http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh >> >> Usage: >> sh check_staged_release.sh 151 /tmp/sling-staging >> >> Please vote to approve this release: >> >> [ ] +1 Approve the release >> [ ] 0 Don't care >> [ ] -1 Don't release, because ... >> >> This majority vote is open for at least 72 hours. >> >> -Bertrand
RE: [VOTE] Release Apache Sling discovery.impl 1.0.2
+1 -Amit -Original Message- From: Stefan Egli [mailto:e...@adobe.com] Sent: 27 November 2013 16:53 To: dev@sling.apache.org Subject: [VOTE] Release Apache Sling discovery.impl 1.0.2 Hi, We solved 4 issues in this release: https://issues.apache.org/jira/browse/SLING/fixforversion/12324866 Staging repository: https://repository.apache.org/content/repositories/orgapachesling-013/ You can use this UNIX script to download the release and verify the signatures: http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh Usage: sh check_staged_release.sh 013 /tmp/sling-staging Please vote to approve this release: [ ] +1 Approve the release [ ] 0 Don't care [ ] -1 Don't release, because ... This majority vote is open for at least 72 hours. Cheers, Stefan
some questions around job processing
Hi devs, I have some questions around job processing in sling; 1. What is the use case around - org.apache.sling.event.jobs.QueueConfiguration.Type#IGNORE. Code suggests that such jobs are not assigned any target instance but are persisted. 2. For parallel and round robin queues, target instance id is selected on a round robin basis from potential targets. Is this assignment only happening on the leader? Or can job assignment happen on any instance in the cluster? Asking this question as org.apache.sling.event.impl.jobs.TopologyCapabilities#roundRobinMap is a local variable. 3. If an instance dies then MaintenanceTask on leader takes of reassigning all its job. Is this the correct understanding? Thanks, Amit
RE: some questions around job processing
Hi Carsten, Another additional question/assumption around job processing: My current assumption is that we can keep queuing jobs in sling job queue without affecting the performance too much, job execution is anyways throttled with the type of queue ordered/max parallel jobs. So, we don't need to throttle while putting in the sling job queue.. Do you see any issue with such usage? Thanks, Amit -Original Message- From: Carsten Ziegeler [mailto:cziege...@apache.org] Sent: 12 December 2013 04:30 To: dev@sling.apache.org Subject: Re: some questions around job processing Hi Amit, 2013/12/12 Amit.. Gupta. > Hi devs, > > I have some questions around job processing in sling; > > 1. What is the use case around - > org.apache.sling.event.jobs.QueueConfiguration.Type#IGNORE. Code > suggests that such jobs are not assigned any target instance but are > persisted. > Yes, that's right - the idea is that you might want to suspend processing of a specific job type for some time (maintenance, heavy load etc.). Once you want to enable it, you either remove the config with IGNORE or change it to another type and the jobs will be processed. > > 2. For parallel and round robin queues, target instance id is > selected on a round robin basis from potential targets. Is this > assignment only happening on the leader? Or can job assignment happen > on any instance in the cluster? Asking this question as > org.apache.sling.event.impl.jobs.TopologyCapabilities#roundRobinMap is > a local variable. > > This assignment happens on all instances and therefore is not a true > round robin as each instance assigns the jobs round robin solely on its own information - but it's the closest we can do without having a communication between the instances. > 3. If an instance dies then MaintenanceTask on leader takes of > reassigning all its job. Is this the correct understanding? > > Yes, that's right Regards Carsten > Thanks, > Amit > -- Carsten Ziegeler cziege...@apache.org
RE: [RT] New Feature Flags API / Impl
Hi Carsten, In FeatureManager String[] getFeatureNames(); Javadoc says it returns all active features. Active might give an impression of this only returning enabled features, but rather it returns all available features. Changing the javadoc will also align with FeatureManager.isAvailable. And, I could not understand how context is passed on in FeatureManager.hideResource(final String featureName, final Resource resource) Is it the caller's responsibility to first check isEnabled(featureName, context), before calling hideResource? Thanks, -Amit -Original Message- From: Carsten Ziegeler [mailto:cziege...@apache.org] Sent: 19 December 2013 10:33 To: dev@sling.apache.org Subject: [RT] New Feature Flags API / Impl Hi, I've started with a new approach to implement the feature flags - the focus is on the API, which means what features do our feature flags have and how can they report it. (The implementation should be functional but I haven't checked it yet). I went back and forth with different approaches based on Bertrands prototype and all the discussions and I think this approach is the most promising one: The central service for client code is the Features service: public interface Features { String[] getFeatureNames(); boolean isAvailable(String featureName); ClientContext createClientContext(ResourceResolver resolver); ClientContext createClientContext(SlingHttpServletRequest request); ClientContext getCurrentClientContext(); } This can be used to find out which features are available and to create a client context - the context is either based on a request or on a resource resolver. The client context in turn can be used to find out whether a feature is enabled: public interface ClientContext { boolean isEnabled(String featureName); Collection getEnabledFeatures(); } So a script can use this, to do things differently etc. In addition the Features services provides the "current client context" which is automatically available for a request. Now, somehow we need an API to define which feature is available and what it does - I came up with an extended version of the FeatureProvider (and I'm not so sure about this one): public interface FeatureProvider { String [] getFeatureNames(); boolean isEnabled(String featureName, ProviderContext context); Map getResourceTypeMapping(String featureName); boolean hideResource(String featureName, Resource resource); } It's similar to the Bertrand's version, except that it takes a ProviderContext (which allows access to the request and resource resolver) and has two additional methods control the two most wanted features: hiding resources and changing of resource types. We could then implement this provider reading OSGi configurations or whatever to define features. All constructive feedback welcome - and as I said, let's first define the API Everything can be found at: http://svn.apache.org/repos/asf/sling/whiteboard/feature-flags/ Regards Carsten -- Carsten Ziegeler cziege...@apache.org
RE: [RT] New Feature Flags API / Impl
>>... If no one complains I'll move this stuff into the contrib section - +1 -Amit -Original Message- From: Bertrand Delacretaz [mailto:bdelacre...@apache.org] Sent: 24 December 2013 16:03 To: dev Subject: Re: [RT] New Feature Flags API / Impl On Tue, Dec 24, 2013 at 11:12 AM, Carsten Ziegeler wrote: >... If no one complains I'll move this stuff into the contrib section - >we can change it there anyway... Fine with me, I haven't found time to review yet but evolving it in there is not a problem IMO, thanks! -Bertrand
Issue with JcrResourceUtil.createPath
Hi, I have found an issue [0] with JcrResourceUtil.createPath. Attached the patch as well in the issue, I have also added some test cases for JcrResourceUtil.createPath Summary: JcrResourceUtil.createPath fails for path such as /a/b/c/d/e where /ab/c already exists and d/e needs to be created in certain acl setups i.e. user has read & write permission to /a/b/c not don't have read permission on /. Current implementation expects that user would have read permission on root node. Is it okie to fix this? I have only fixed the issue in Node createPath(String path, String intermediateNodeType, String nodeType, Session session, boolean autoSave) for the other variant, I am not sure if we need to fix that as well. As caller is already passing parentNode, so we can assume that user already have access to parentNode. Thanks, Amit [0] https://issues.apache.org/jira/browse/SLING-3361
RE: Issue with JcrResourceUtil.createPath
Thanks..I have updated the patch to cover both variants. -Original Message- From: Carsten Ziegeler [mailto:cziege...@apache.org] Sent: 31 January 2014 18:04 To: dev@sling.apache.org Subject: Re: Issue with JcrResourceUtil.createPath Hi Amit, patch looks good to me. For fixing the other method I'm not sure, I could argue that e.g. /a/b/c/d exists, user is allowed to read /a/b and read/write to /a/b/c/d but can't read /a/b/c. Now the user gets /a/b and calls createPath() passing this node and wanting to create /a/b/c/d/e - which would be possible but fail as /a/b/c is not readable for the user. A little bit artificial, I agree - but if it's easy to fix, I think we should do this - just to be consistent. Carsten 2014-01-31 Amit.. Gupta. : > Hi, > > I have found an issue [0] with JcrResourceUtil.createPath. Attached > the patch as well in the issue, I have also added some test cases for > JcrResourceUtil.createPath > > Summary: > JcrResourceUtil.createPath fails for path such as /a/b/c/d/e where > /ab/c already exists and d/e needs to be created in certain acl setups > i.e. > user has read & write permission to /a/b/c not don't have read > permission on /. > Current implementation expects that user would have read permission on > root node. > > Is it okie to fix this? > > I have only fixed the issue in > Node createPath(String path, > String intermediateNodeType, > String nodeType, > Session session, > boolean autoSave) > > for the other variant, I am not sure if we need to fix that as well. > As caller is already passing parentNode, so we can assume that user > already have access to parentNode. > > Thanks, > Amit > [0] https://issues.apache.org/jira/browse/SLING-3361 > > -- Carsten Ziegeler cziege...@apache.org
RE: buildbot failure in ASF Buildbot on sling-trunk
The integration tests are passing locally for bundles/extensions/models but failing in ci with following message 01.02.2014 11:46:52.889 *INFO* [FelixStartLevel] org.apache.sling.installer.core BundleEvent STARTING 01.02.2014 11:46:53.108 *INFO * [main] Startup completed 60496 [main] INFO org.apache.sling.models.it.RemoteIT - Server not ready after 60 seconds, giving up Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 60.52 sec <<< FAILURE! org.apache.sling.models.it.RemoteIT Time elapsed: 60.52 sec <<< ERROR! java.lang.AssertionError: Server not ready after 60 seconds, giving up at org.junit.Assert.fail(Assert.java:88) -Original Message- From: build...@apache.org [mailto:build...@apache.org] Sent: 01 February 2014 17:18 To: dev@sling.apache.org Subject: buildbot failure in ASF Buildbot on sling-trunk The Buildbot has detected a new failure on builder sling-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/sling-trunk/builds/235 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: osiris_ubuntu Build Reason: scheduler Build Source Stamp: [branch sling/trunk] 1563397 Blamelist: amitgupt BUILD FAILED: failed compile sincerely, -The Buildbot
RE: [featureflags] NPE in context.getResourceResolver()
Hi Felix, I saw this briefly. This comes if I try to use web console to see the list of features. In that case, if the isEnabled depends on resourceResolver that will perhaps fails. Thanks, -Amit -Original Message- From: Felix Meschberger [mailto:fmesc...@adobe.com] Sent: 06 February 2014 16:07 To: dev@sling.apache.org Subject: Re: [featureflags] NPE in context.getResourceResolver() Hi Am 06.02.2014 um 11:18 schrieb Simone Tripodi : > Hi all mates, > > A colleague of mine just let me notice that from the sling > ExecutionContextImpl implementation, it seems like resourceResolver > could be null, Well yes, that is how ExecutionContext.getResourceResolver is defined: > /** > * Returns a {@code ResourceResolver} object to retrieve information which > * may influence the decision whether a {@link Feature} is enabled or not. > * If a {@code ResourceResolver} object is not available in the context, > * this method may return {@code null}. > * > * @return the resource resolver or {@code null} > */ > ResourceResolver getResourceResolver(); > > SlingAuthenticator gets control after the Feature's filter & sets the > resolver... Can you provide a stack trace ? Thanks. > > Is there any way we can obtain the ResourceResolver before Feature's > filter is invoked? The implementation is that the FeatureManager as a Filter is called before the actual servlet (e.g. SlingMainServlet) is called for request processing. This should actually also happen after authentication is handled. The FeatureManager filter tries to extract the ResourceResolver from the request attribute which is expected to be set by the Sling Authenticator. If the request attribute is not available (or not a ResourceResolver instance), the ExecutionCOntext will not provide a resource resolver. Regards Felix > > Many thanks in advance, all the best! > -Simo > > http://people.apache.org/~simonetripodi/ > http://twitter.com/simonetripodi
RE: [VOTE] Release Apache Sling API 2.6.0 and Engine 2.3.0
+1 -Original Message- From: Carsten Ziegeler [mailto:cziege...@apache.org] Sent: 25 February 2014 15:21 To: dev@sling.apache.org Subject: Re: [VOTE] Release Apache Sling API 2.6.0 and Engine 2.3.0 +1 2014-02-25 10:41 GMT+01:00 Felix Meschberger : > +1 > > Regards > Felix > > Am 25.02.2014 um 10:38 schrieb Felix Meschberger : > > > Hi, > > > > This is the vote to release > > > > - Sling API 2.6.0 > > https://issues.apache.org/jira/browse/SLING/fixforversion/12325953 > > > > - Sling Engine 2.3.0 > > https://issues.apache.org/jira/browse/SLING/fixforversion/12325271 > > > > this vote is about the first release of the Resource Merger > > > > Staging repository: > > https://repository.apache.org/content/repositories/orgapachesling-10 > > 13 > > > > You can use this UNIX script to download the release and verify the > > signatures: > > http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh > > > > Usage: > > sh check_staged_release.sh 1013 /tmp/sling-staging > > > > Please vote to approve this release: > > > > [ ] +1 Approve the release > > [ ] 0 Don't care > > [ ] -1 Don't release, because ... > > > > This vote will be open for 72 hours. > > > > Sorry for conflating two released modules in a single module. The > > reason > is to speed things up since the Engine release really depends on the > API release because of implementing the new > SlingHttpServletRequest.getRequestParameterList() method. > > > > Regards > > Felix > > -- Carsten Ziegeler cziege...@apache.org
RE: using jdk 6 class in a sling patch
> * Java 5 by default * Java 6 acceptable (requiring appropriate Bundle-RequiredExceutionEnvironment setup and API checks) * Launchpad will require Java 6 in the future +1 Thanks, Amit
RE: User to tenant mapping
> * Based on property set in user home Will there be security issue with such approach? As a user would have write access to user node and thus change its tenant. Otherwise this looks fine. A path based approach is advantageous as it allows one to control the acls and thus restrict a tenant's admin to only create users for specific tenant. Thanks, Amit -Original Message- From: maret.timot...@gmail.com [mailto:maret.timot...@gmail.com] On Behalf Of Timothée Maret Sent: 16 January 2013 14:32 To: dev@sling.apache.org Subject: User to tenant mapping Hi, I have been using the sling tenant recently and although the tenant path matcher configuration is flexbile, the user to tenant resolution mechanism enforces to organize the users following a fixed structure where all the users must be under the tenantId root. As an example: /home/users//bob /us/alice /fr/charles This is not flexible enough, especially with enabling tenant support on legacy system where users location is already set. I think there two approaches to improve that * Based on group Instead of being applied against the user home path, the regex could be applied against all the groups the user is a member of. Each tenant would be assigned to a default group and the first tenant.default-group/user.group match would define the user as being part of the group. This offers the flexibility to store the user anywhere. However, the resolution would be undeterministic in cases where the user has more than one tenant group assigned. Moreover, this would interleave group and tenant support which sounds like a limitation in comparison to the path based approach. * Based on property set in user home Each user part of a tenant would have a property "tenantId" set which would map it to the tenant. This implies a bit more maintenance but would offer the flexibility to store users anywhere as well as a separation between group and tenants. To me, the property based is clearly the best way to go as it offers most flexibility in therms of group and user organization. Moreover, it could be implemented as an extension of the current design. Basically, instead of only trying to match against the user home path, the TenantAdapterFactory could also look for the userHome + "tenantId" property path. If the property is present, then the value could be appended to the user home path and tried to be matched against the regex. wdyt ? Regards, Timothee.
RE: [VOTE] Release Apache Sling Tenant 1.0.0 and Apache Sling javax.activation 0.1.0
+1 Thanks, Amit -Original Message- From: maret.timot...@gmail.com [mailto:maret.timot...@gmail.com] On Behalf Of Timothée Maret Sent: 25 April 2013 12:54 To: dev@sling.apache.org Subject: Re: [VOTE] Release Apache Sling Tenant 1.0.0 and Apache Sling javax.activation 0.1.0 +1 Regards, Timothee. 2013/4/25 Felix Meschberger > +1 > > Regards > Felix > > -- > Felix Meschberger | Principal Scientist | Adobe > > > > > On 23.04.13 12:02, "Carsten Ziegeler" wrote: > > >Hi, > > > >this vote is about a the first release for two of our modules > > > >So please vote for the release of: > >Apache Sling Tenant 1.0.0 > > > >Apache Sling javax.activation 0.1.0 > > > > > >Staging repository: > >https://repository.apache.org/content/repositories/orgapachesling-127 > >s://repository.apache.org/content/repositories/orgapachesling-237/> > > > > > >You can use this UNIX script to download the release and verify the > >signatures: > >http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh > > > >Usage: > >sh check_staged_release.sh 127 /tmp/sling-staging > > > > > >Please vote to approve this release: > > > > [ ] +1 Approve the release > > [ ] 0 Don't care > > [ ] -1 Don't release, because ... > > > >This vote will be open for 72 hours. > > > >Regards > >Carsten > >-- > >Carsten Ziegeler > >cziege...@apache.org > > -- Timothée Maret
Please vote for SLING-2853
Hi Devs, Please vote for [0]. This is a proposal for Adding ResourceCollection to Sling. There is a patch [1] attached as well, as a first cut implementation. Summary: This proposal is to add a ResourceCollection interface and implementation that allows creation of collection of resources. Collection is a simple list of members, where each member contains path of resource it refers to. In future, we might need to store additional information with the member, hence following structure is proposed N: resourceCollection (nt:unstructured) + P: sling:resourceType + N : members (nt:unstructured) + N: member_res1 > nt:unstructured + P: path > string, reference to actual resource + N: member_res2 > nt:unstructured + P: path > string, reference to actual resource Your views on the same are requested. Thanks, Amit [0] https://issues.apache.org/jira/browse/SLING-2853 [1] https://issues.apache.org/jira/secure/attachment/12581670/resourcecollection.zip
RE: [COLLECTION] ResoucreCollectionManager
Yeah, good suggestion that will also make it consistent with regards to use of resource resolver. Also, I was thinking that getCollection should take String path, instead of resource. Resource seems confusing, though I changed it to make it consistent with other methods in the interface. WDYT? -Amit -Original Message- From: Carsten Ziegeler [mailto:cziege...@apache.org] Sent: 06 May 2013 18:01 To: dev@sling.apache.org Subject: Re: [COLLECTION] ResoucreCollectionManager Btw, the current implementation is sometimes using the resource resolver from the passed resource and sometimes the one used when the manager was created. This should be avoided. 2013/5/6 Carsten Ziegeler > Hi, > > I looked at the recent version of the ResourceCollectionManager. I'm > fine with the API, but why not make this a simple service which one > can lookup from the service registry? > > With the new API there is no need to hold a resource resolver within > the manager, as always at least a resource is passed into a method. So > we can make this a real service, remove the getResourceResolver() > method and leave the adapter factory as a convenience way. > > WDYT? > > Carsten > > -- > Carsten Ziegeler > cziege...@apache.org > -- Carsten Ziegeler cziege...@apache.org
RE: Please vote for SLING-2853 (content Structure)
I am in favour of keeping both jcr:content and sling:members, it might look additional today. But this will ensure that we have enough flexibility to evolve in future. If this looks fine to everyone, I can work on a patch.. Thanks, -Amit -Original Message- From: Felix Meschberger [mailto:fmesc...@adobe.com] Sent: 06 May 2013 13:13 To: dev@sling.apache.org Subject: Re: Please vote for SLING-2853 Hi I have just committed the latest patch. Thanks for that so far. I am sure the discussion and fine-tuning will continue. So I invite to continue such discussions and create follow-up issues for implementation/fixes/etc. As for the last comment by AlexK: Yes, the jcr:content/sling:members child node may sound like an additional redirection. On the other hand it will help keeing the tree structure structurized -- Once we have some data stored out there it will probably become harder and harder to change the structure later. So much like API I like to get data structures right as early as possible. Regards Felix Am 06.05.2013 um 09:11 schrieb Felix Meschberger: > Hi > > Am 06.05.2013 um 08:54 schrieb Bertrand Delacretaz: > >> On Sun, May 5, 2013 at 11:40 AM, Carsten Ziegeler >> wrote: >>> ...One thing we imho should discuss is whether this should be using >>> the api package, like o.a.s.api.resource.collection; We could leave >>> it in the separate bundle as is right now, and once we consider it >>> stable, move the package to the official API package >> >> That would work but there's some potential for confusion if we do >> that, I prefer a separate o.a.s.collections package as now. > > Yes, the current proposal is o.a.s.resource.collections which sounds > good IMHO > > Regards > Felix
RE: Please vote for SLING-2853 (content Structure)
That does not seem to be a use case so far for collections.. -Amit -Original Message- From: Carsten Ziegeler [mailto:cziege...@apache.org] Sent: 06 May 2013 23:49 To: dev@sling.apache.org Subject: Re: Please vote for SLING-2853 (content Structure) The only potential reason I see for jcr:content is if we allow a hierarchy of collections, so /a/b points to collection B and /a/b/c points to collection C. Carsten 2013/5/6 Carsten Ziegeler > Ok, found it in the bug; I think "sling:members" is fine and I don't > see any need for jcr:content. It doesn't provide any additional value, > so let's just go with sling:members > > Carsten > > > 2013/5/6 Carsten Ziegeler > >> Sorry to ask, but what is jcr:content for? >> >> Regards >> Carsten >> >> >> 2013/5/6 Amit.. Gupta. >> >> I am in favour of keeping both jcr:content and sling:members, it >> might >>> look additional today. But this will ensure that we have enough >>> flexibility to evolve in future. >>> >>> If this looks fine to everyone, I can work on a patch.. >>> >>> Thanks, >>> -Amit >>> >>> -Original Message- >>> From: Felix Meschberger [mailto:fmesc...@adobe.com] >>> Sent: 06 May 2013 13:13 >>> To: dev@sling.apache.org >>> Subject: Re: Please vote for SLING-2853 >>> >>> Hi >>> >>> I have just committed the latest patch. Thanks for that so far. >>> >>> I am sure the discussion and fine-tuning will continue. So I invite >>> to continue such discussions and create follow-up issues for >>> implementation/fixes/etc. >>> >>> As for the last comment by AlexK: Yes, the jcr:content/sling:members >>> child node may sound like an additional redirection. On the other >>> hand it will help keeing the tree structure structurized -- Once we >>> have some data stored out there it will probably become harder and >>> harder to change the structure later. So much like API I like to get >>> data structures right as early as possible. >>> >>> Regards >>> Felix >>> >>> Am 06.05.2013 um 09:11 schrieb Felix Meschberger: >>> >>> > Hi >>> > >>> > Am 06.05.2013 um 08:54 schrieb Bertrand Delacretaz: >>> > >>> >> On Sun, May 5, 2013 at 11:40 AM, Carsten Ziegeler < >>> cziege...@apache.org> wrote: >>> >>> ...One thing we imho should discuss is whether this should be >>> >>> using the api package, like o.a.s.api.resource.collection; We >>> >>> could leave it in the separate bundle as is right now, and once >>> >>> we consider it stable, move the package to the official API package >>> >> >>> >> That would work but there's some potential for confusion if we do >>> >> that, I prefer a separate o.a.s.collections package as now. >>> > >>> > Yes, the current proposal is o.a.s.resource.collections which >>> > sounds good IMHO >>> > >>> > Regards >>> > Felix >>> >>> >> >> >> -- >> Carsten Ziegeler >> cziege...@apache.org >> > > > > -- > Carsten Ziegeler > cziege...@apache.org > -- Carsten Ziegeler cziege...@apache.org
RE: Please vote for SLING-2853 (content Structure)
Fixed the name of the node as sling:members in https://issues.apache.org/jira/browse/SLING-2857 Also, fixed the name of the property to sling:resources to make it consistent with sling:resource. Also, fixed another minor issue. Patch is attached in the bug. Thanks, Amit -Original Message- From: Carsten Ziegeler [mailto:cziege...@apache.org] Sent: 06 May 2013 23:49 To: dev@sling.apache.org Subject: Re: Please vote for SLING-2853 (content Structure) The only potential reason I see for jcr:content is if we allow a hierarchy of collections, so /a/b points to collection B and /a/b/c points to collection C. Carsten 2013/5/6 Carsten Ziegeler > Ok, found it in the bug; I think "sling:members" is fine and I don't > see any need for jcr:content. It doesn't provide any additional value, > so let's just go with sling:members > > Carsten > > > 2013/5/6 Carsten Ziegeler > >> Sorry to ask, but what is jcr:content for? >> >> Regards >> Carsten >> >> >> 2013/5/6 Amit.. Gupta. >> >> I am in favour of keeping both jcr:content and sling:members, it >> might >>> look additional today. But this will ensure that we have enough >>> flexibility to evolve in future. >>> >>> If this looks fine to everyone, I can work on a patch.. >>> >>> Thanks, >>> -Amit >>> >>> -Original Message- >>> From: Felix Meschberger [mailto:fmesc...@adobe.com] >>> Sent: 06 May 2013 13:13 >>> To: dev@sling.apache.org >>> Subject: Re: Please vote for SLING-2853 >>> >>> Hi >>> >>> I have just committed the latest patch. Thanks for that so far. >>> >>> I am sure the discussion and fine-tuning will continue. So I invite >>> to continue such discussions and create follow-up issues for >>> implementation/fixes/etc. >>> >>> As for the last comment by AlexK: Yes, the jcr:content/sling:members >>> child node may sound like an additional redirection. On the other >>> hand it will help keeing the tree structure structurized -- Once we >>> have some data stored out there it will probably become harder and >>> harder to change the structure later. So much like API I like to get >>> data structures right as early as possible. >>> >>> Regards >>> Felix >>> >>> Am 06.05.2013 um 09:11 schrieb Felix Meschberger: >>> >>> > Hi >>> > >>> > Am 06.05.2013 um 08:54 schrieb Bertrand Delacretaz: >>> > >>> >> On Sun, May 5, 2013 at 11:40 AM, Carsten Ziegeler < >>> cziege...@apache.org> wrote: >>> >>> ...One thing we imho should discuss is whether this should be >>> >>> using the api package, like o.a.s.api.resource.collection; We >>> >>> could leave it in the separate bundle as is right now, and once >>> >>> we consider it stable, move the package to the official API package >>> >> >>> >> That would work but there's some potential for confusion if we do >>> >> that, I prefer a separate o.a.s.collections package as now. >>> > >>> > Yes, the current proposal is o.a.s.resource.collections which >>> > sounds good IMHO >>> > >>> > Regards >>> > Felix >>> >>> >> >> >> -- >> Carsten Ziegeler >> cziege...@apache.org >> > > > > -- > Carsten Ziegeler > cziege...@apache.org > -- Carsten Ziegeler cziege...@apache.org
RE: [COLLECTION] ResoucreCollectionManager
> I mean ResourceCollectionManager and ResourceCollectionManagerImpl of course. Yeah, I was wondering if it is just me little sleepy.. or you really meant that :) -Original Message- From: Alexander Klimetschek [mailto:aklim...@adobe.com] Sent: 08 May 2013 01:35 To: dev@sling.apache.org Subject: Re: [COLLECTION] ResoucreCollectionManager On 07.05.2013, at 22:03, Alexander Klimetschek wrote: > This means we can remove both ResourceCollection and ResourceCollectionImpl, > unless I am missing something. I mean ResourceCollectionManager and ResourceCollectionManagerImpl of course. Alex
RE: [COLLECTION] API Package
I think that we can keep it in current state, until it stabilizes. And let's not split api and impl for now, to avoid multiple releases. -Amit -Original Message- From: Felix Meschberger [mailto:fmesc...@adobe.com] Sent: 08 May 2013 05:04 To: dev@sling.apache.org Subject: Re: [COLLECTION] API Package Hi I don't think we should have o.a.s.api packages outside of the api bundle. This would be confusing. Regards Felix -- Felix Meschberger | Principal Scientist | fmesc...@adobe.com Am 07.05.2013 um 18:44 schrieb "Carsten Ziegeler" : > The resource collection uses currently the package > org.apache.sling.resource.collection. > > I'm wondering if we should follow the original proposal and use > org.apache.sling.api.resource.collection instead? > We can keep the api in the separate bundle until it's stable and then > move it the Sling API bundle and wouldn't need to change the package > name but get a consistent package naming. > > WDYT? > Carsten > > -- > Carsten Ziegeler > cziege...@apache.org
JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior
Hi Devs, I have been debugging an issue with sling jobs and finally found that current implementation JobMangerImpl.writeJob can cause inconsistent behaviour (root cause is JcrResourceProvider.create) Issue that led to this: I observed that sometime all of my event properties were not being written to the job node. Though the job node was being created. But ultimately JobManager would error out giving following messages: 17.05.2013 16:41:57.578 *WARN* [Apache Sling Job Background Loader] org.apache.sling.event.impl.jobs.JobManagerImpl Discarding job - job topic is missing : /var/eventing/jobs/assigned/826cd21a-6a8f-48cb-b112-768b421af572/slingevent:eventadmin/2013/5/17/16/39/com.adobe.cq.collection.update.job_826cd21a-6a8f-48cb-b112-768b421af572_2 Sometime, my job handler would be called, but event won't have enough properties that I sent to jobManager. Problem: There was an issue in my code that was adding a property to the event, which had invalid key i.e. /a/b/c/a.txt and JcrResourceProvider can not persist it. Hence the issue. This is fine, I can correct it. But the main problem is that this persistence error was never reported in error logs, and job got persisted event though JcrResourceProvider.create threw a PersistenceException. But the job was created with fewer properties with what I intended. This resulted in sometime, my JobHandler being called, but not getting enough properties. With the debugging, I found that JobManagerImpl.writeJob can cause some inconsistent behaviour due to the way, ResourceUtil.getOrCreateResource and JcrResourceProvider.create. In this case following happened: JcrResourceProvider.create threw PE while persisting the property, but the node was already by this time. ResourceUtil.getOrCreateResource caught the PE, but checked for the existence of resource and hence ignored it. Now, above implementation is wrong, either JcrResourceProvider should ensure that operation is atomic. Or ResourceUtil.getOrCreateResource should be changed revert changes in case of exception. WDYT? Thanks, Amit
RE: JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior
Yeah, the key is okie, it was just a side effect of some logic, I didn't intend to put it there. I can fix that -Amit -Original Message- From: Carsten Ziegeler [mailto:cziege...@apache.org] Sent: 17 May 2013 17:27 To: dev@sling.apache.org Subject: Re: JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior Hi, good catch, I think JcrResourceProvider should remove the node if setting properties fails. But /a/b/c/a.txt shouldn't be an invalid key - this should be encoded. Regards Carsten 2013/5/17 Amit.. Gupta. > Hi Devs, > > I have been debugging an issue with sling jobs and finally found that > current implementation JobMangerImpl.writeJob can cause inconsistent > behaviour (root cause is JcrResourceProvider.create) > > Issue that led to this: > I observed that sometime all of my event properties were not being > written to the job node. Though the job node was being created. But > ultimately JobManager would error out giving following messages: > 17.05.2013 16:41:57.578 *WARN* [Apache Sling Job Background Loader] > org.apache.sling.event.impl.jobs.JobManagerImpl Discarding job - job > topic is missing : > /var/eventing/jobs/assigned/826cd21a-6a8f-48cb-b112-768b421af572/sling > event:eventadmin/2013/5/17/16/39/com.adobe.cq.collection.update.job_82 > 6cd21a-6a8f-48cb-b112-768b421af572_2 > Sometime, my job handler would be called, but event won't have enough > properties that I sent to jobManager. > Problem: > There was an issue in my code that was adding a property to the event, > which had invalid key i.e. /a/b/c/a.txt and JcrResourceProvider can > not persist it. Hence the issue. This is fine, I can correct it. > > But the main problem is that this persistence error was never reported > in error logs, and job got persisted event though > JcrResourceProvider.create threw a PersistenceException. But the job > was created with fewer properties with what I intended. This resulted > in sometime, my JobHandler being called, but not getting enough properties. > > With the debugging, I found that JobManagerImpl.writeJob can cause > some inconsistent behaviour due to the way, > ResourceUtil.getOrCreateResource and JcrResourceProvider.create. > > In this case following happened: > JcrResourceProvider.create threw PE while persisting the property, but > the node was already by this time. > ResourceUtil.getOrCreateResource caught the PE, but checked for the > existence of resource and hence ignored it. > > Now, above implementation is wrong, either JcrResourceProvider should > ensure that operation is atomic. Or ResourceUtil.getOrCreateResource > should be changed revert changes in case of exception. > > WDYT? > > Thanks, > Amit > > -- Carsten Ziegeler cziege...@apache.org
RE: JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior
Hi Carsten, I think that change has surfaced one more bug that was perhaps working as a side effect, after I used the latest changed JcrResourceResolver, I get following error in logs 19.05.2013 02:40:37.421 *ERROR* [Thread-33] org.apache.sling.event.impl.dea.DistributedEventReceiver Exception during writing the event to the resource tree. org.apache.sling.api.resource.PersistenceException: Unable to create resource with path /var/eventing/distribution/826cd21a-6a8f-48cb-b112-768b421af572/2013/5/19/2/40/event-372 at org.apache.sling.event.impl.support.ResourceHelper.getOrCreateResource(ResourceHelper.java:230) at org.apache.sling.event.impl.dea.DistributedEventReceiver.writeEvent(DistributedEventReceiver.java:208) at org.apache.sling.event.impl.dea.DistributedEventReceiver.processWriteQueue(DistributedEventReceiver.java:158) at org.apache.sling.event.impl.dea.DistributedEventReceiver.access$500(DistributedEventReceiver.java:75) at org.apache.sling.event.impl.dea.DistributedEventReceiver$1.run(DistributedEventReceiver.java:115) at java.lang.Thread.run(Thread.java:662) on debugging I found that this event has following property ":sling:jobs:asynchandler" which jcr wont allow This property is coming from JobConsumer. Thanks, -Amit
RE: JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior
Minor correction in the mail -Original Message- From: Amit.. Gupta. Sent: 19 May 2013 02:53 To: dev@sling.apache.org Subject: RE: JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior Hi Carsten, I think that change has surfaced one more bug that was perhaps working as a side effect, after I used the latest changed JcrResourceProvider, I get following error in logs 19.05.2013 02:40:37.421 *ERROR* [Thread-33] org.apache.sling.event.impl.dea.DistributedEventReceiver Exception during writing the event to the resource tree. org.apache.sling.api.resource.PersistenceException: Unable to create resource with path /var/eventing/distribution/826cd21a-6a8f-48cb-b112-768b421af572/2013/5/19/2/40/event-372 at org.apache.sling.event.impl.support.ResourceHelper.getOrCreateResource(ResourceHelper.java:230) at org.apache.sling.event.impl.dea.DistributedEventReceiver.writeEvent(DistributedEventReceiver.java:208) at org.apache.sling.event.impl.dea.DistributedEventReceiver.processWriteQueue(DistributedEventReceiver.java:158) at org.apache.sling.event.impl.dea.DistributedEventReceiver.access$500(DistributedEventReceiver.java:75) at org.apache.sling.event.impl.dea.DistributedEventReceiver$1.run(DistributedEventReceiver.java:115) at java.lang.Thread.run(Thread.java:662) on debugging I found that this event has following property ":sling:jobs:asynchandler" which jcr wont allow This property is coming from JobConsumer. Thanks, -Amit
RE: [sling/collection] Properties
ResourceCollection has /** * Creates a new entry in the collection at the last position and add a reference to resource * in the entry. * Changes are transient & have to be saved by calling resolver.commit() * * @param resource resource to be added * @param properties The additional properties to be stored with the collection entry (can be null). * @return true if addition of resource to collection was successful or * false if collection already contained the resource or resource is null. * * @throws {@link PersistenceException} if the operation fails */ boolean add(Resource resource, Map properties) throws PersistenceException; And, then to retrieve and update the properties. /** * Returns additional properties for a particular resource in Collection entry. * * @return properties of the Collection entry as ModifiableValueMap, returns null if entry found. */ ModifiableValueMap getProperties(Resource resource); Thanks -Amit From: Ben Helleman [mailto:bhell...@adobe.com] Sent: 25 July 2013 00:10 To: dev@sling.apache.org Subject: [sling/collection] Properties Is there any way which to apply properties to members of a sling/collection? For example I would like to apply properties to the websites node, not the resource which websites references. Yes, I'm aware that I could get the collection and dig through children until I find the node of interest and then apply properties. But there must a better way. [cid:image002.png@01CE887B.BB7E13C0] Thanks Ben
RE: [sling/collection] Properties
> however I find the ResourceCollection API a little inconsistent. For example > there is a mixed concept between the actual resource and the sling:member > reference. Which is why I ended up over looking getProperties. My initial > though was that you would be getting the properties of the _actual_ resource > which the collection references. > It would be nice to have a getMembers() API that would return you the > sling:members which then you could iterate over. This was originally discussed in [1] as well and it was decided that it not needed if we already have getProperties(). Still I have logged [0] to open discussion on the this. > There is a public static ResourceCollectionConstants.MEMBERS_NODE_NAME which > gave me the feeling that there should be an API that would return these > values. If this is not the case then I thought it would have been protected > or private. This is in impl package, and not exported. Thanks, Amit [0] https://issues.apache.org/jira/browse/SLING-2982 [1] https://issues.apache.org/jira/browse/SLING-2853 -Original Message- From: Ben Helleman [mailto:bhell...@adobe.com] Sent: 26 July 2013 17:20 To: dev@sling.apache.org Subject: Re: [sling/collection] Properties Hi Amit I managed to get things working with the APIs you specified, however I find the ResourceCollection API a little inconsistent. For example there is a mixed concept between the actual resource and the sling:member reference. Which is why I ended up over looking getProperties. My initial though was that you would be getting the properties of the _actual_ resource which the collection references. I thought this because when you add a resource to the collection it is the actual resource, so having a mix between the sling:member resources vs actual resources is confusing. I also have a requirement to iterate through the sling:members in the collection and pull the properties off the nodes to render UI, however this isn't simple enough to do with the current API. The two apis we have to use are getResources(), and getProperties() are do not reference the same resources which muddies the water. It would be nice to have a getMembers() API that would return you the sling:members which then you could iterate over. There is a public static ResourceCollectionConstants.MEMBERS_NODE_NAME which gave me the feeling that there should be an API that would return these values. If this is not the case then I thought it would have been protected or private. Ben On 2013-07-24, at 9:43 PM, Amit.. Gupta. wrote: > ResourceCollection has > > /** > * Creates a new entry in the collection at the last position and add a > reference to resource > * in the entry. > * Changes are transient & have to be saved by calling resolver.commit() > * > * @param resource resource to be added > * @param properties The additional properties to be stored with the > collection entry (can be null). > * @return true if addition of resource to collection was successful or > * false if collection already contained the resource or resource > is null. > * > * @throws {@link PersistenceException} if the operation fails > */ > boolean add(Resource resource, Map properties) throws > PersistenceException; > > And, then to retrieve and update the properties. > /** > * Returns additional properties for a particular resource in Collection > entry. > * > * @return properties of the Collection entry as > ModifiableValueMap, returns null if entry found. > */ >ModifiableValueMap getProperties(Resource resource); > > Thanks > -Amit > From: Ben Helleman [mailto:bhell...@adobe.com] > Sent: 25 July 2013 00:10 > To: dev@sling.apache.org > Subject: [sling/collection] Properties > > Is there any way which to apply properties to members of a sling/collection? > > For example I would like to apply properties to the websites node, not the > resource which websites references. Yes, I'm aware that I could get the > collection and dig through children until I find the node of interest and > then apply properties. But there must a better way. > > [cid:image002.png@01CE887B.BB7E13C0] > > Thanks > Ben
RE: [RT] Support for deep reads from a value map
> FWIW, there are lots of calls to resource.adaptTo(ValueMap) in rendering code. +1
RE: Events, Jobs and admin sessions
> However, the creator of a job could add the subject as a property to the job Can JobManager do that as it should have the creator information when the job is being created? Thanks, -Amit -Original Message- From: Lars Krapf [mailto:lkr...@adobe.com] Sent: 14 May 2014 19:20 To: dev@sling.apache.org Subject: Re: Events, Jobs and admin sessions Hello Carsten Thanks for your reply. No, I don't see an obvious solution either. It's just that while reviewing the loginAdmin() usages, I discovered that a lot of the cases are based on this problem, and I was hoping for a solution that is as generic as possible. For the jobs, I could imagine an extension of the JobManager API that allows passing the subject. The resource resolver factory could then take the event/job as a parameter and return a resolver with the privileges of the corresponding subject. For the events, the situation seems to be even more complicated because usualy the event is not created manually, and I'm not sure if it is possible to assign a specific subject to an event in many cases. The alternative is to use a service-user in the consumer who has access to the respective payload, which somehow looks wrong to me from a security perspective. Well.. Ideas very welcome :) Best greetings Lars On 13.05.2014 22:57, Carsten Ziegeler wrote: > Hi Lars, > > I see your point, I don't see right now how a general approach could > look like. However, the creator of a job could add the subject as a > property to the job and the consumer can use this value to create a > resource resolver based on that value. But I think this has to be done on a > job by job base. > > Or do you see a general mechanism which always gets the subject of the > sender? > > Carsten > > > 2014-05-13 17:21 GMT+02:00 Lars Krapf : > >> Hello list >> >> When processing events and jobs, the corresponding subject triggering >> the event usually gets lost. This lead to event handlers / job >> consumers often operating with administrative sessions/resolvers to >> do their work, which in turn can lead to privilege escalations. >> >> A possible solution to this problem could be to add a serialization >> of the event-triggering subject (if available) as a property to the >> event by default, so the handlers could easily recreate the session >> by using JAAS doAsPrivileged(). >> >> Would that make sense? >> >> Best greetings >> Lars >> > > >
RE: svn commit: r1624206 - /sling/tags/org.apache.sling.resourceresolver-1.1.2/
Okie. Reverted. Thanks, Amit From: Carsten Ziegeler Sent: Thursday, September 11, 2014 12:33 PM To: dev@sling.apache.org Subject: Re: svn commit: r1624206 - /sling/tags/org.apache.sling.resourceresolver-1.1.2/ Hi Amit, we still have open issues for the resource resolver and we really need to fix them before a release https://issues.apache.org/jira/browse/SLING/fixforversion/12326704 Can you please revert? Thanks Carsten 2014-09-11 8:46 GMT+02:00 : > Author: amitgupt > Date: Thu Sep 11 06:46:32 2014 > New Revision: 1624206 > > URL: http://svn.apache.org/r1624206 > Log: > [maven-release-plugin] copy for tag > org.apache.sling.resourceresolver-1.1.2 > > Added: > sling/tags/org.apache.sling.resourceresolver-1.1.2/ (props changed) > - copied from r1624205, sling/trunk/bundles/resourceresolver/ > > Propchange: sling/tags/org.apache.sling.resourceresolver-1.1.2/ > > -- > --- svn:ignore (added) > +++ svn:ignore Thu Sep 11 06:46:32 2014 > @@ -0,0 +1,11 @@ > +target > +bin > +derby.log > +*.iml > +*.ipr > +*.iws > +.settings > +.project > +.classpath > +.externalToolBuilders > +maven-eclipse.xml > > Propchange: sling/tags/org.apache.sling.resourceresolver-1.1.2/ > > -- > --- svn:mergeinfo (added) > +++ svn:mergeinfo Thu Sep 11 06:46:32 2014 > @@ -0,0 +1,2 @@ > > +/sling/whiteboard/fmeschbe/deprecate_login_administrative/resourceresolver:1458693-1499675 > +/sling/whiteboard/fmeschbe/featureflags/resourceresolver:1559092-1562000 > > > -- Carsten Ziegeler Adobe Research Switzerland cziege...@apache.org
[VOTE] Release Apache Sling Resource Resolver version 1.1.2
?Hi, We solved 23 issues in this release: https://issues.apache.org/jira/browse/SLING/fixforversion/12326704/ There are still some outstanding issues: https://issues.apache.org/jira/browse/SLING/component/12318907 Staging repository: https://repository.apache.org/content/repositories/orgapachesling-1116/ You can use this UNIX script to download the release and verify the signatures: http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh Usage: sh check_staged_release.sh 1116 /tmp/sling-staging Please vote to approve this release: [ ] +1 Approve the release [ ] 0 Don't care [ ] -1 Don't release, because ... This majority vote is open for at least 72 hours. Thanks, Amit
RE: [VOTE] Release Maven Launchpad Plugin 2.3.2
+1 From: Carsten Ziegeler Sent: Friday, September 12, 2014 11:57 AM To: dev@sling.apache.org Subject: [VOTE] Release Maven Launchpad Plugin 2.3.2 Hi, We solved one issue: https://issues.apache.org/jira/browse/SLING-3883 Staging repository: https://repository.apache.org/content/repositories/orgapachesling-1115 You can use this UNIX script to download the release and verify the signatures: http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh Usage: sh check_staged_release.sh 1115 /tmp/sling-staging Please vote to approve this release: [ ] +1 Approve the release [ ] 0 Don't care [ ] -1 Don't release, because ... This majority vote is open for at least 72 hours. Carsten -- Carsten Ziegeler Adobe Research Switzerland cziege...@apache.org
[RESULT] [VOTE] Release Apache Sling Resource Resolver version 1.1.2
Hi, The vote has passed with the following result : +1 (binding): Chetan Mehrotra, Oliver Lietz, Carsten Ziegler,? Justin Edelson, Antonio Sanso +1 (non binding): <> I will copy this release to the Sling dist directory and promote the artifacts to the central Maven repository. Thanks, Amit
not able to copy release to dist
I am getting following error, when I am trying to copy the release to dist.. any ideas.. $ svn import --username amitgupt --password ** -m "Sling Resource Resolver 1.1.2 Release" 1.1.2 https://dist.apache.org/repos/dist/release/sling Adding (bin) 1.1.2/org.apache.sling.resourceresolver-1.1.2-javadoc.jar svn: E175013: Access to '/repos/dist/!svn/txr/6520-5mo/release/sling/org.apache.sling.resourceresolver-1.1.2-javadoc.jar' forbidden svn: E175002: Additional errors: svn: E175002: PUT of '/repos/dist/!svn/txr/6520-5mo/release/sling/org.apache.sling.resourceresolver-1.1.2-javadoc.jar': 403 Forbidden Thanks, Amit?
RE: not able to copy release to dist
This isn't very clear on the Sling Release Management page. Shall I update it From: Carsten Ziegeler Sent: Tuesday, September 16, 2014 2:51 PM To: dev@sling.apache.org Subject: Re: not able to copy release to dist Hi Amit, you need to be on the PMC for ths final step, I'll take care of this one. You can continue with the other steps. Thanks Carsten 2014-09-15 19:57 GMT+02:00 Amit.. Gupta. : > I am getting following error, when I am trying to copy the release to > dist.. any ideas.. > $ svn import --username amitgupt --password ** -m "Sling Resource > Resolver 1.1.2 Release" 1.1.2 > https://dist.apache.org/repos/dist/release/sling > Adding (bin) 1.1.2/org.apache.sling.resourceresolver-1.1.2-javadoc.jar > svn: E175013: Access to > '/repos/dist/!svn/txr/6520-5mo/release/sling/org.apache.sling.resourceresolver-1.1.2-javadoc.jar' > forbidden > svn: E175002: Additional errors: > svn: E175002: PUT of > '/repos/dist/!svn/txr/6520-5mo/release/sling/org.apache.sling.resourceresolver-1.1.2-javadoc.jar': > 403 Forbidden > > > Thanks, > Amit? > > -- Carsten Ziegeler Adobe Research Switzerland cziege...@apache.org
Please review patch for (SLING-4512) Traversal Warnings in OAK while creating i18n JcrResourceBundle
Hi Devs, Please review patch for https://issues.apache.org/jira/browse/SLING-4512. I have run the unit and integration tests, are there more areas that I need to test. Thanks, Amit From: Amit Gupta (JIRA) Sent: Tuesday, March 24, 2015 4:33 PM To: dev@sling.apache.org Subject: [jira] [Commented] (SLING-4512) Traversal Warnings in OAK while creating i18n JcrResourceBundle [ https://issues.apache.org/jira/browse/SLING-4512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14377679#comment-14377679 ] Amit Gupta commented on SLING-4512: --- Attached is a patch that uses TreeTraverser, instead of query. As we are already doing a query to find language roots, second query to find messages is a not needed. Traversal should be better than query in such cases where all the nodes returned by the query need to be used. While fixing it, I had to modify tests as well. I am not quite sure about one particular thing in tests, Test data create nodes of type sling:MessageEntry, while the xpath query was looking for sling:Message. Assuming xpath query finds sub types as well, I have taken care of following cases in my implementation 1, Node has a mixin sling:Message 2. Node is of type sling:MessageEntry {code} final NodeType[] mixinNodeTypes = node.getMixinNodeTypes(); for (NodeType ntype: mixinNodeTypes) { if (MIXIN_NAME.equals(ntype.getName())) { return true; } } //if the node is of type sling:MessageEntry final NodeType primaryNodeType = node.getPrimaryNodeType(); if (primaryNodeType.isNodeType(SLING_MESSAGE_ENTRY)) { return true; } return false; {code} can this check be optimized? > Traversal Warnings in OAK while creating i18n JcrResourceBundle > --- > > Key: SLING-4512 > URL: https://issues.apache.org/jira/browse/SLING-4512 > Project: Sling > Issue Type: Improvement > Components: Extensions >Reporter: Srijan Bhatnagar >Assignee: Amit Gupta > Attachments: SLING-4512.diff > > > org.apache.sling.i18n.impl.JcrResourceBundle#loadFully uses an XPath query to > load [sling:Message] nodes under given paths. If the subtree under the path > is too big (>1000), we receive traversal warnings in Oak. The following > warning is generated if the path is /libs/wcm/core/i18n/de : > {code} > GET /content/geometrixx/de.html HTTP/1.1] > org.apache.jackrabbit.oak.spi.query.Cursors$TraversingCursor Traversed 1000 > nodes with filter Filter(query=select [jcr:path], [jcr:score], * from > [sling:Message] as a where isdescendantnode(a, '/libs/wcm/core/i18n/de') /* > xpath: /jcr:root/libs/wcm/core/i18n/de//element(*,sling:Message) */, > path=/libs/wcm/core/i18n/de//*); consider creating an index or changing the > query > {code} > A suggestion would be to use > [TreeTraverser|http://jackrabbit.apache.org/api/2.4/org/apache/jackrabbit/commons/flat/TreeTraverser.html] > instead of XPath query since the subtree is mostly a flat list. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
Question on dependency management while adding a test case
Hello Team, I am adding a test case of [0], for this I need to use latest of org.apache.sling org.apache.sling.testing.resourceresolver-mock ? This introduces a dependency to sling.api:2.7.0, because of resource.getValueMap sling event module, otherwise is quite content with older api dependency. So, I don't want to introduce this higher dependency. I can explicitly give a lower bound in import, which isn't nice either. Is there any other way. Regards, Amit [0] https://issues.apache.org/jira/browse/SLING-4014
Re: Question on dependency management while adding a test case
Hi Robert, Currently tests are part of sling event module. Thanks -Amit From: Robert Munteanu Sent: Friday, October 10, 2014 1:41 PM To: dev@sling.apache.org Subject: Re: Question on dependency management while adding a test case Hi Amit, On Fri, Oct 10, 2014 at 10:57 AM, Amit.. Gupta. wrote: > Hello Team, > > > I am adding a test case of [0], for this I need to use latest of > > >org.apache.sling > > org.apache.sling.testing.resourceresolver-mock > > ? > > This introduces a dependency to sling.api:2.7.0, because of > resource.getValueMap > > > sling event module, otherwise is quite content with older api dependency. So, > I don't want to introduce this higher dependency. > > I can explicitly give a lower bound in import, which isn't nice either. Is > there any other way. Are the Event tests part of the same module? If they are, you can move them to a different module and then test + runtime dependencies are separated. Robert > > > Regards, > > Amit > > > [0] https://issues.apache.org/jira/browse/SLING-4014
Re: Question on dependency management while adding a test case
Hi Carsten, That won't work, because the mock resource resolver implementation uses the Resource.getValueMap. Julian's suggestion works, but I need to change the MockResourceResolver to use ResourceUtil.getValueMap instead. Using above, I can stay on sling.api:2.4.0, but then my test fails, since it relies on SLING-2894 in ResourceUtil, which came in sling.api:2.5.0 I have attached my test case patch to the bug [0] Thanks, Amit [0] https://issues.apache.org/jira/secure/attachment/12674209/SLING-4014-Test.patch From: Carsten Ziegeler Sent: Friday, October 10, 2014 8:17 PM To: dev@sling.apache.org Subject: Re: Question on dependency management while adding a test case Rethinking this, can't we simply exclude the api dependency when including the resourceresolver-mock ? org.apache.sling org.apache.sling.testing.resourceresolver-mock org.apache.sling org.apache.sling.api Carsten Am 10.10.14 um 16:27 schrieb Julian Sedding: > Hi Amit > > We could change the resourceresolver-mock to "use" a lower Sling API > version than it "implements". I.e. in MockResourceResolver, change all > resource.getValueMap() to ResourceUtil.getValueMap(resource). Then it > should be compatible with lower API versions. This should work as long > as there are no major API changes. > > Regards > Julian > > On Fri, Oct 10, 2014 at 9:57 AM, Amit.. Gupta. wrote: >> Hello Team, >> >> >> I am adding a test case of [0], for this I need to use latest of >> >> >>org.apache.sling >> >> org.apache.sling.testing.resourceresolver-mock >> >> ? >> >> This introduces a dependency to sling.api:2.7.0, because of >> resource.getValueMap >> >> >> sling event module, otherwise is quite content with older api dependency. >> So, I don't want to introduce this higher dependency. >> >> I can explicitly give a lower bound in import, which isn't nice either. Is >> there any other way. >> >> >> Regards, >> >> Amit >> >> >> [0] https://issues.apache.org/jira/browse/SLING-4014 > -- Carsten Ziegeler Adobe Research Switzerland cziege...@apache.org
[RTC] SLING-4080 - API to capture/measure application-level metrics
Hi Devs, I would like to add API to capture application-level metrics. The api is inspired by Yammer Metrics [0]. A first cut implementation is available at [1] Idea is to provide high level constructs such as Timer, Counter, Gauge, which can be used by applications. This RTC is only for api, plan is to also provide a metrics based implementation as well. Driver for this api, is to provide easy to use first class constructs that can be quickly integrated into new and existing application. Metrics [0] one of the widely used implementation and provide some OOTB integration with JMX and popular monitoring tools such as Ganglia, Graphite. Thanks, Amit [0] https://dropwizard.github.io/metrics/3.1.0/? [1] https://svn.apache.org/repos/asf/sling/whiteboard/amitgupt/monitoring/ [2] https://issues.apache.org/jira/browse/SLING-4080?
Re: [RTC] SLING-4080 - API to capture/measure application-level metrics
>I am sure we could do a simple implementation of the SPI for those >that don't want to run Metrics but we don't need to as the >proposal stands. It has a null impl built in. yeah, that's right. It provides a No-Op implementation. > isn't there another choice besides building our own? We are adding api only and allowing different implementations to be supported. >We have Sling commons, which is intended to host stuff that is not tied >to Sling. Sure, It can be moved there. Thanks, Amit From: Carsten Ziegeler Sent: Tuesday, October 21, 2014 7:17 PM To: dev@sling.apache.org Subject: Re: [RTC] SLING-4080 - API to capture/measure application-level metrics Am 21.10.14 um 15:07 schrieb Ian Boston: > > Agreed, imho thats what Amit's proposal does, but it needs to be > somewhere it can be used. If Oak and Felix dont want to use it, then > Sling is the right place. > We have Sling commons, which is intended to host stuff that is not tied to Sling. My initial comment would have been the same as Bertrand, why reinvent? But I've tried to use Yammer in the past and fell into the incompatible API changes (and other things). It's a shame that there is no real library out there which can be used ootb and does not come with the mentioned problems Carsten -- Carsten Ziegeler Adobe Research Switzerland cziege...@apache.org
[jira] [Updated] (SLING-3045) [logback]Warning logs logged for 'No appenders present in context [sling] for logger'
[ https://issues.apache.org/jira/browse/SLING-3045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-3045: -- Assignee: Amit Gupta > [logback]Warning logs logged for 'No appenders present in context [sling] for > logger' > - > > Key: SLING-3045 > URL: https://issues.apache.org/jira/browse/SLING-3045 > Project: Sling > Issue Type: Bug > Components: Commons >Affects Versions: Commons Log 4.0.0 >Reporter: Chetan Mehrotra >Assignee: Amit Gupta >Priority: Minor > Attachments: SLING-3045.patch > > > During system startup at times following warning is seen > --- > 14:48:24,969 |-WARN in > Logger[org.apache.sling.installer.core.impl.OsgiInstallerImpl] - No appenders > present in context [sling] for logger > [org.apache.sling.installer.core.impl.OsgiInstallerImpl]. > --- > Further some debug level logs are also seen during the startup -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-3045) [logback]Warning logs logged for 'No appenders present in context [sling] for logger'
[ https://issues.apache.org/jira/browse/SLING-3045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13761674#comment-13761674 ] Amit Gupta commented on SLING-3045: --- applied patch in revision: 1520970 > [logback]Warning logs logged for 'No appenders present in context [sling] for > logger' > - > > Key: SLING-3045 > URL: https://issues.apache.org/jira/browse/SLING-3045 > Project: Sling > Issue Type: Bug > Components: Commons >Affects Versions: Commons Log 4.0.0 >Reporter: Chetan Mehrotra >Assignee: Amit Gupta >Priority: Minor > Attachments: SLING-3045.patch > > > During system startup at times following warning is seen > --- > 14:48:24,969 |-WARN in > Logger[org.apache.sling.installer.core.impl.OsgiInstallerImpl] - No appenders > present in context [sling] for logger > [org.apache.sling.installer.core.impl.OsgiInstallerImpl]. > --- > Further some debug level logs are also seen during the startup -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-3047) Log message from other loggers get added to error.log
[ https://issues.apache.org/jira/browse/SLING-3047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13761813#comment-13761813 ] Amit Gupta commented on SLING-3047: --- I have applied the patch At revision: 1521082. Thanks Chetan. > Log message from other loggers get added to error.log > - > > Key: SLING-3047 > URL: https://issues.apache.org/jira/browse/SLING-3047 > Project: Sling > Issue Type: Bug > Components: Commons >Affects Versions: Commons Log 4.0.0 >Reporter: Chetan Mehrotra >Priority: Minor > Labels: logback > Attachments: SLING-3047.patch > > > With new Logback based Log the error message for other categories like > "log.request" get added to error.log. This is happening because by default > Logback Loggers have additivity [1] set to true. For compatibility purpose > the additivity for Loggers configured vis OSGi config must be set to false > [1] http://logback.qos.ch/manual/architecture.html#additivity -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (SLING-3047) Log message from other loggers get added to error.log
[ https://issues.apache.org/jira/browse/SLING-3047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-3047: -- Assignee: Amit Gupta > Log message from other loggers get added to error.log > - > > Key: SLING-3047 > URL: https://issues.apache.org/jira/browse/SLING-3047 > Project: Sling > Issue Type: Bug > Components: Commons >Affects Versions: Commons Log 4.0.0 >Reporter: Chetan Mehrotra >Assignee: Amit Gupta >Priority: Minor > Labels: logback > Attachments: SLING-3047.patch > > > With new Logback based Log the error message for other categories like > "log.request" get added to error.log. This is happening because by default > Logback Loggers have additivity [1] set to true. For compatibility purpose > the additivity for Loggers configured vis OSGi config must be set to false > [1] http://logback.qos.ch/manual/architecture.html#additivity -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (SLING-3250) [SlingPostServlet] Request Tracking does not include information about PostOperation
Amit Gupta created SLING-3250: - Summary: [SlingPostServlet] Request Tracking does not include information about PostOperation Key: SLING-3250 URL: https://issues.apache.org/jira/browse/SLING-3250 Project: Sling Issue Type: Bug Components: General Affects Versions: Servlets Post 2.3.4 Reporter: Amit Gupta Assignee: Amit Gupta Priority: Minor org.apache.sling.servlets.post.impl.SlingPostServlet does not record information about the PostOperation in the request tracker. This information is useful when looking at recent requests in web console, to find out post operation that processed the request. Specially in case of custom post operations. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Resolved] (SLING-3250) [SlingPostServlet] Request Tracking does not include information about PostOperation
[ https://issues.apache.org/jira/browse/SLING-3250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta resolved SLING-3250. --- Resolution: Fixed Fix Version/s: Servlets Post 2.3.4 committed At revision: 1544497 added a log in request tracker to record the post operation used > [SlingPostServlet] Request Tracking does not include information about > PostOperation > > > Key: SLING-3250 > URL: https://issues.apache.org/jira/browse/SLING-3250 > Project: Sling > Issue Type: Bug > Components: General >Affects Versions: Servlets Post 2.3.4 >Reporter: Amit Gupta >Assignee: Amit Gupta >Priority: Minor > Fix For: Servlets Post 2.3.4 > > > org.apache.sling.servlets.post.impl.SlingPostServlet > does not record information about the PostOperation in the request tracker. > This information is useful when looking at recent requests in web console, to > find out post operation that processed the request. Specially in case of > custom post operations. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Updated] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups
[ https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-3361: -- Attachment: bug.patch patch file > JcrResourceUtil.createPath does not work in certain ACL setups > -- > > Key: SLING-3361 > URL: https://issues.apache.org/jira/browse/SLING-3361 > Project: Sling > Issue Type: Bug > Components: JCR >Affects Versions: JCR Resource 2.3.0 > Reporter: Amit Gupta >Assignee: Amit Gupta >Priority: Minor > Fix For: JCR Resource 2.3.2 > > Attachments: bug.patch > > > JcrResourceUtil.createPath fails for path such as > /a/b/c/d/e > where /ab/c already exists and d/e needs to be created in certain acl setups > i.e. > user has read & write permission to /a/b/c not don't have read permission on > /. > Current implementation expects that user would have read permission on root > node. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups
Amit Gupta created SLING-3361: - Summary: JcrResourceUtil.createPath does not work in certain ACL setups Key: SLING-3361 URL: https://issues.apache.org/jira/browse/SLING-3361 Project: Sling Issue Type: Bug Components: JCR Affects Versions: JCR Resource 2.3.0 Reporter: Amit Gupta Assignee: Amit Gupta Priority: Minor Fix For: JCR Resource 2.3.2 Attachments: bug.patch JcrResourceUtil.createPath fails for path such as /a/b/c/d/e where /ab/c already exists and d/e needs to be created in certain acl setups i.e. user has read & write permission to /a/b/c not don't have read permission on /. Current implementation expects that user would have read permission on root node. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups
[ https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887695#comment-13887695 ] Amit Gupta commented on SLING-3361: --- only fixed the issue in Node createPath(String path, String intermediateNodeType, String nodeType, Session session, boolean autoSave) for the other variant, I am not sure if we need to fix that as well. As caller is already passing parentNode, so we can assume that user already have access to parentNode. > JcrResourceUtil.createPath does not work in certain ACL setups > -- > > Key: SLING-3361 > URL: https://issues.apache.org/jira/browse/SLING-3361 > Project: Sling > Issue Type: Bug > Components: JCR >Affects Versions: JCR Resource 2.3.0 >Reporter: Amit Gupta >Assignee: Amit Gupta >Priority: Minor > Fix For: JCR Resource 2.3.2 > > Attachments: bug.patch > > > JcrResourceUtil.createPath fails for path such as > /a/b/c/d/e > where /ab/c already exists and d/e needs to be created in certain acl setups > i.e. > user has read & write permission to /a/b/c not don't have read permission on > /. > Current implementation expects that user would have read permission on root > node. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups
[ https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-3361: -- Attachment: SLING-3361.patch fixing other variants as well.. added one more specific test for the variant. > JcrResourceUtil.createPath does not work in certain ACL setups > -- > > Key: SLING-3361 > URL: https://issues.apache.org/jira/browse/SLING-3361 > Project: Sling > Issue Type: Bug > Components: JCR >Affects Versions: JCR Resource 2.3.0 > Reporter: Amit Gupta >Assignee: Amit Gupta >Priority: Minor > Fix For: JCR Resource 2.3.2 > > Attachments: SLING-3361.patch, bug.patch > > > JcrResourceUtil.createPath fails for path such as > /a/b/c/d/e > where /ab/c already exists and d/e needs to be created in certain acl setups > i.e. > user has read & write permission to /a/b/c not don't have read permission on > /. > Current implementation expects that user would have read permission on root > node. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups
[ https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887883#comment-13887883 ] Amit Gupta commented on SLING-3361: --- patch applied At revision: 1563166 > JcrResourceUtil.createPath does not work in certain ACL setups > -- > > Key: SLING-3361 > URL: https://issues.apache.org/jira/browse/SLING-3361 > Project: Sling > Issue Type: Bug > Components: JCR >Affects Versions: JCR Resource 2.3.0 >Reporter: Amit Gupta >Assignee: Amit Gupta >Priority: Minor > Fix For: JCR Resource 2.3.2 > > Attachments: SLING-3361.patch, bug.patch > > > JcrResourceUtil.createPath fails for path such as > /a/b/c/d/e > where /ab/c already exists and d/e needs to be created in certain acl setups > i.e. > user has read & write permission to /a/b/c not don't have read permission on > /. > Current implementation expects that user would have read permission on root > node. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Resolved] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups
[ https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta resolved SLING-3361. --- Resolution: Fixed > JcrResourceUtil.createPath does not work in certain ACL setups > -- > > Key: SLING-3361 > URL: https://issues.apache.org/jira/browse/SLING-3361 > Project: Sling > Issue Type: Bug > Components: JCR >Affects Versions: JCR Resource 2.3.0 > Reporter: Amit Gupta >Assignee: Amit Gupta >Priority: Minor > Fix For: JCR Resource 2.3.2 > > Attachments: SLING-3361.patch, bug.patch > > > JcrResourceUtil.createPath fails for path such as > /a/b/c/d/e > where /ab/c already exists and d/e needs to be created in certain acl setups > i.e. > user has read & write permission to /a/b/c not don't have read permission on > /. > Current implementation expects that user would have read permission on root > node. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (SLING-3362) org.apache.sling.installer.factory.deploymentpackage fails to build
Amit Gupta created SLING-3362: - Summary: org.apache.sling.installer.factory.deploymentpackage fails to build Key: SLING-3362 URL: https://issues.apache.org/jira/browse/SLING-3362 Project: Sling Issue Type: Bug Components: Installer Reporter: Amit Gupta Assignee: Amit Gupta pom has dependency on installer.api 1.0-SNAPSHOT. org.apache.sling org.apache.sling.installer.api 1.0-SNAPSHOT provided on a fresh machine, this snapshot version is not available and the build fails. api has been merged into core. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (SLING-3362) org.apache.sling.installer.factory.deploymentpackage fails to build
[ https://issues.apache.org/jira/browse/SLING-3362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13888540#comment-13888540 ] Amit Gupta commented on SLING-3362: --- seems to be affect of SLING-2947 > org.apache.sling.installer.factory.deploymentpackage fails to build > --- > > Key: SLING-3362 > URL: https://issues.apache.org/jira/browse/SLING-3362 > Project: Sling > Issue Type: Bug > Components: Installer > Reporter: Amit Gupta >Assignee: Amit Gupta > > pom has dependency on installer.api 1.0-SNAPSHOT. > > org.apache.sling > org.apache.sling.installer.api > 1.0-SNAPSHOT > provided > > on a fresh machine, this snapshot version is not available and the build > fails. > api has been merged into core. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Resolved] (SLING-3362) org.apache.sling.installer.factory.deploymentpackage fails to build
[ https://issues.apache.org/jira/browse/SLING-3362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta resolved SLING-3362. --- Resolution: Fixed Fix Version/s: Installer Core 3.5.2 fixed the pom in revision: 1563397 using latest released installer.core now. > org.apache.sling.installer.factory.deploymentpackage fails to build > --- > > Key: SLING-3362 > URL: https://issues.apache.org/jira/browse/SLING-3362 > Project: Sling > Issue Type: Bug > Components: Installer > Reporter: Amit Gupta > Assignee: Amit Gupta > Fix For: Installer Core 3.5.2 > > > pom has dependency on installer.api 1.0-SNAPSHOT. > > org.apache.sling > org.apache.sling.installer.api > 1.0-SNAPSHOT > provided > > on a fresh machine, this snapshot version is not available and the build > fails. > api has been merged into core. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Assigned] (SLING-3376) TenantProvider passes tenant with old state to TenantCustomizer
[ https://issues.apache.org/jira/browse/SLING-3376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta reassigned SLING-3376: - Assignee: Amit Gupta > TenantProvider passes tenant with old state to TenantCustomizer > --- > > Key: SLING-3376 > URL: https://issues.apache.org/jira/browse/SLING-3376 > Project: Sling > Issue Type: Bug > Components: Extensions >Affects Versions: Tenant 1.0.0 >Reporter: Roland Schaer >Assignee: Amit Gupta >Priority: Minor > Attachments: SLING-3376.patch > > > The TenantProvider does pass a Tenant with the old state to the > TenantCustomizer#setup() method, making it impossible to handle changes on > the update case. I would expect to have a Tenant (in a transient state) > passed which reflects the new state. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (SLING-3376) TenantProvider passes tenant with old state to TenantCustomizer
[ https://issues.apache.org/jira/browse/SLING-3376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13893063#comment-13893063 ] Amit Gupta commented on SLING-3376: --- Thanks for the patch applied At revision: 1565082 > TenantProvider passes tenant with old state to TenantCustomizer > --- > > Key: SLING-3376 > URL: https://issues.apache.org/jira/browse/SLING-3376 > Project: Sling > Issue Type: Bug > Components: Extensions >Affects Versions: Tenant 1.0.0 >Reporter: Roland Schaer >Assignee: Amit Gupta >Priority: Minor > Attachments: SLING-3376.patch > > > The TenantProvider does pass a Tenant with the old state to the > TenantCustomizer#setup() method, making it impossible to handle changes on > the update case. I would expect to have a Tenant (in a transient state) > passed which reflects the new state. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (SLING-3392) JobManager MaintenanceTask should not rely on search for removing tokens
Amit Gupta created SLING-3392: - Summary: JobManager MaintenanceTask should not rely on search for removing tokens Key: SLING-3392 URL: https://issues.apache.org/jira/browse/SLING-3392 Project: Sling Issue Type: Bug Components: Extensions Affects Versions: Event 3.3.4 Reporter: Amit Gupta org.apache.sling.event.impl.jobs.MaintenanceTask relies on search to find obsolete locks and remove those. Search can fail for reasons such as index corruption. It should not rely on search for such critical tasks. And, another issue with locks is that those are created in a flat hierarchy. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (SLING-3392) JobManager MaintenanceTask should not rely on search for removing locks
[ https://issues.apache.org/jira/browse/SLING-3392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-3392: -- Summary: JobManager MaintenanceTask should not rely on search for removing locks (was: JobManager MaintenanceTask should not rely on search for removing tokens) > JobManager MaintenanceTask should not rely on search for removing locks > --- > > Key: SLING-3392 > URL: https://issues.apache.org/jira/browse/SLING-3392 > Project: Sling > Issue Type: Bug > Components: Extensions >Affects Versions: Event 3.3.4 > Reporter: Amit Gupta > > org.apache.sling.event.impl.jobs.MaintenanceTask relies on search to find > obsolete locks and remove those. > Search can fail for reasons such as index corruption. It should not rely on > search for such critical tasks. > And, another issue with locks is that those are created in a flat hierarchy. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (SLING-3393) Parameter re-encoding does not work for Jetty 7 and above
[ https://issues.apache.org/jira/browse/SLING-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13901294#comment-13901294 ] Amit Gupta commented on SLING-3393: --- I think that we can keep both parameters to support previous versions > Parameter re-encoding does not work for Jetty 7 and above > - > > Key: SLING-3393 > URL: https://issues.apache.org/jira/browse/SLING-3393 > Project: Sling > Issue Type: Bug > Components: Engine >Affects Versions: Engine 2.2.10 >Reporter: Dominique Pfister > > SLING-559 changed the query encoding to 8859-1 when used in combination with > Jetty, by setting a request attribute called: > "org.mortbay.jetty.Request.queryEncoding" > With Jetty 7 and above, this attribute has been changed to: > "org.eclipse.jetty.server.Request.queryEncoding" > [1], so the fix no longer works. I suggest to either use both attribute names > or only the new one, if support for Jetty 6 or earlier is no longer a must. > [1] > http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/Request.html#setQueryEncoding(java.lang.String) -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Assigned] (SLING-3393) Parameter re-encoding does not work for Jetty 7 and above
[ https://issues.apache.org/jira/browse/SLING-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta reassigned SLING-3393: - Assignee: Amit Gupta > Parameter re-encoding does not work for Jetty 7 and above > - > > Key: SLING-3393 > URL: https://issues.apache.org/jira/browse/SLING-3393 > Project: Sling > Issue Type: Bug > Components: Engine >Affects Versions: Engine 2.2.10 >Reporter: Dominique Pfister >Assignee: Amit Gupta > > SLING-559 changed the query encoding to 8859-1 when used in combination with > Jetty, by setting a request attribute called: > "org.mortbay.jetty.Request.queryEncoding" > With Jetty 7 and above, this attribute has been changed to: > "org.eclipse.jetty.server.Request.queryEncoding" > [1], so the fix no longer works. I suggest to either use both attribute names > or only the new one, if support for Jetty 6 or earlier is no longer a must. > [1] > http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/Request.html#setQueryEncoding(java.lang.String) -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (SLING-3393) Parameter re-encoding does not work for Jetty 7 and above
[ https://issues.apache.org/jira/browse/SLING-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-3393: -- Attachment: SLING-3393.patch patch tested with latest Jetty >7, not tested with older version. > Parameter re-encoding does not work for Jetty 7 and above > - > > Key: SLING-3393 > URL: https://issues.apache.org/jira/browse/SLING-3393 > Project: Sling > Issue Type: Bug > Components: Engine >Affects Versions: Engine 2.2.10 >Reporter: Dominique Pfister >Assignee: Amit Gupta > Attachments: SLING-3393.patch > > > SLING-559 changed the query encoding to 8859-1 when used in combination with > Jetty, by setting a request attribute called: > "org.mortbay.jetty.Request.queryEncoding" > With Jetty 7 and above, this attribute has been changed to: > "org.eclipse.jetty.server.Request.queryEncoding" > [1], so the fix no longer works. I suggest to either use both attribute names > or only the new one, if support for Jetty 6 or earlier is no longer a must. > [1] > http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/Request.html#setQueryEncoding(java.lang.String) -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Assigned] (SLING-3370) Bootdelegation support for third party library
[ https://issues.apache.org/jira/browse/SLING-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta reassigned SLING-3370: - Assignee: Amit Gupta > Bootdelegation support for third party library > -- > > Key: SLING-3370 > URL: https://issues.apache.org/jira/browse/SLING-3370 > Project: Sling > Issue Type: Improvement > Components: Launchpad >Affects Versions: Launchpad Base 2.5.0 >Reporter: Rohit Kumar >Assignee: Amit Gupta > Attachments: SLING-3370_New.patch > > > Requirement: > 1) Bootdelegate third party library in SLing OSGI framework. > 2) Bootdelegated classes and resources should be looked up from configured > third party jars only. Similar classes from parent classloaders should not > leak into system. This case arises usually in Web deployment scenario. > Infact we want to bootdelegate RSA library and at the same time prevent > interference from parent classloaders in Web deployment model. > Approach: > 1) We extend SlingLauncherClassloader to scan a predefined path (say > /lib/etx) for jar files and add them to its classpath. This is > done at startup. SlingLauncherClassloader will try to load class from its > classpath before trying parent classloaders. Currently it is done for > org.apache.sling.launchpad.base.jar. > 2) The packages can be configured for bootdelegation using sling properties: > sling.bootdelegation.class.= package> -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (SLING-3416) Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on windows
Amit Gupta created SLING-3416: - Summary: Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on windows Key: SLING-3416 URL: https://issues.apache.org/jira/browse/SLING-3416 Project: Sling Issue Type: Bug Components: Maven Plugins and Archetypes Affects Versions: Maven Launchpad Plugin 2.2.0 Reporter: Amit Gupta Assignee: Amit Gupta Fix For: Maven Launchpad Plugin 2.2.2 Some of the test like testInstall5 fails with following error "Expecting file:/FAKE_BUNDLE/commons-io/0/null in children of resources/install/0 (result= file:/C:/FAKE_BUNDLE/commons-io/0/null)" seems to be platform specific, fixing the test -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (SLING-3416) Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on windows
[ https://issues.apache.org/jira/browse/SLING-3416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13910589#comment-13910589 ] Amit Gupta commented on SLING-3416: --- fix Completed: At revision: 1571375 > Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on > windows > --- > > Key: SLING-3416 > URL: https://issues.apache.org/jira/browse/SLING-3416 > Project: Sling > Issue Type: Bug > Components: Maven Plugins and Archetypes >Affects Versions: Maven Launchpad Plugin 2.2.0 >Reporter: Amit Gupta >Assignee: Amit Gupta > Fix For: Maven Launchpad Plugin 2.2.2 > > > Some of the test like testInstall5 fails with following error > "Expecting file:/FAKE_BUNDLE/commons-io/0/null in children of > resources/install/0 (result= file:/C:/FAKE_BUNDLE/commons-io/0/null)" > seems to be platform specific, fixing the test -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Resolved] (SLING-3416) Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on windows
[ https://issues.apache.org/jira/browse/SLING-3416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta resolved SLING-3416. --- Resolution: Fixed > Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on > windows > --- > > Key: SLING-3416 > URL: https://issues.apache.org/jira/browse/SLING-3416 > Project: Sling > Issue Type: Bug > Components: Maven Plugins and Archetypes >Affects Versions: Maven Launchpad Plugin 2.2.0 >Reporter: Amit Gupta >Assignee: Amit Gupta > Fix For: Maven Launchpad Plugin 2.2.2 > > Time Spent: 1h > Remaining Estimate: 0h > > Some of the test like testInstall5 fails with following error > "Expecting file:/FAKE_BUNDLE/commons-io/0/null in children of > resources/install/0 (result= file:/C:/FAKE_BUNDLE/commons-io/0/null)" > seems to be platform specific, fixing the test -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Resolved] (SLING-3370) Bootdelegation support for third party library
[ https://issues.apache.org/jira/browse/SLING-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta resolved SLING-3370. --- Resolution: Fixed Fix Version/s: Launchpad Base 2.5.2 Completed: At revision: 1571975 Applied with slight modification, external libraries can be put at ${sling.home}/ext, if ext does not exists it is not created by launchpad > Bootdelegation support for third party library > -- > > Key: SLING-3370 > URL: https://issues.apache.org/jira/browse/SLING-3370 > Project: Sling > Issue Type: Improvement > Components: Launchpad >Affects Versions: Launchpad Base 2.5.0 >Reporter: Rohit Kumar >Assignee: Amit Gupta > Fix For: Launchpad Base 2.5.2 > > Attachments: SLING-3370_New.patch > > > Requirement: > 1) Bootdelegate third party library in SLing OSGI framework. > 2) Bootdelegated classes and resources should be looked up from configured > third party jars only. Similar classes from parent classloaders should not > leak into system. This case arises usually in Web deployment scenario. > Infact we want to bootdelegate RSA library and at the same time prevent > interference from parent classloaders in Web deployment model. > Approach: > 1) We extend SlingLauncherClassloader to scan a predefined path (say > /lib/etx) for jar files and add them to its classpath. This is > done at startup. SlingLauncherClassloader will try to load class from its > classpath before trying parent classloaders. Currently it is done for > org.apache.sling.launchpad.base.jar. > 2) The packages can be configured for bootdelegation using sling properties: > sling.bootdelegation.class.= package> -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (SLING-3433) Unclosed session detected with ResourceResolverContext#getParentResourceType
Amit Gupta created SLING-3433: - Summary: Unclosed session detected with ResourceResolverContext#getParentResourceType Key: SLING-3433 URL: https://issues.apache.org/jira/browse/SLING-3433 Project: Sling Issue Type: Bug Components: ResourceResolver Affects Versions: Resource Resolver 1.0.6 Reporter: Amit Gupta Assignee: Amit Gupta Fix For: Resource Resolver 1.1.0 03.03.2014 00:46:19.103 *WARN* [Finalizer] org.apache.jackrabbit.core.SessionImpl Unclosed session detected. The session was opened here: java.lang.Exception: Stack Trace at org.apache.jackrabbit.core.SessionImpl.(SessionImpl.java:222) ~[na:na] at org.apache.jackrabbit.core.XASessionImpl.(XASessionImpl.java:117) ~[na:na] at com.day.crx.core.CRXSessionImpl.(CRXSessionImpl.java:69) ~[na:na] at com.day.crx.core.CRXRepositoryImpl.createSessionInstance(CRXRepositoryImpl.java:935) ~[na:na] at org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:984) ~[na:na] at org.apache.jackrabbit.core.SessionFactory.createAdminSession(SessionFactory.java:42) ~[na:na] at com.day.crx.sling.server.impl.SlingRepositoryWrapper.loginAdministrative(SlingRepositoryWrapper.java:76) ~[na:na] at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProviderInternal(JcrResourceProviderFactory.java:191) ~[na:na] at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getAdministrativeResourceProvider(JcrResourceProviderFactory.java:154) ~[na:na] at org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.login(ResourceProviderFactoryHandler.java:162) ~[na:na] at org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry.loginToRequiredFactories(RootResourceProviderEntry.java:95) ~[na:na] at org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:106) ~[na:na] at org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getAdministrativeResourceResolver(CommonResourceResolverFactoryImpl.java:73) ~[na:na] at org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getResourceTypeResourceResolver(ResourceResolverContext.java:226) ~[na:na] at org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getParentResourceType(ResourceResolverContext.java:250) ~[na:na] at org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1082) ~[na:na] at org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1072) ~[na:na] at org.apache.sling.resourceresolver.impl.ResourceResolverImpl.isResourceType(ResourceResolverImpl.java:1097) ~[na:na] at org.apache.sling.api.resource.AbstractResource.isResourceType(AbstractResource.java:123) ~[na:na] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (SLING-3433) Unclosed session detected with ResourceResolverContext#getParentResourceType
[ https://issues.apache.org/jira/browse/SLING-3433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13920575#comment-13920575 ] Amit Gupta commented on SLING-3433: --- Interesting, I see that now. The code flow that is calling this is using older way to get the admin session. {code} Session admin = null; try { admin = repository.loginAdministrative(null); } finally { if (admin != null) { try { admin.logout(); } catch (Exception ignore) { } } } {code} logout should have called the close() on resolver?? > Unclosed session detected with ResourceResolverContext#getParentResourceType > > > Key: SLING-3433 > URL: https://issues.apache.org/jira/browse/SLING-3433 > Project: Sling > Issue Type: Bug > Components: ResourceResolver >Affects Versions: Resource Resolver 1.0.6 >Reporter: Amit Gupta >Assignee: Amit Gupta > Fix For: Resource Resolver 1.1.0 > > > 03.03.2014 00:46:19.103 *WARN* [Finalizer] > org.apache.jackrabbit.core.SessionImpl Unclosed session detected. The session > was opened here: > java.lang.Exception: Stack Trace > at org.apache.jackrabbit.core.SessionImpl.(SessionImpl.java:222) > ~[na:na] > at > org.apache.jackrabbit.core.XASessionImpl.(XASessionImpl.java:117) > ~[na:na] > at com.day.crx.core.CRXSessionImpl.(CRXSessionImpl.java:69) > ~[na:na] > at > com.day.crx.core.CRXRepositoryImpl.createSessionInstance(CRXRepositoryImpl.java:935) > ~[na:na] > at > org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:984) > ~[na:na] > at > org.apache.jackrabbit.core.SessionFactory.createAdminSession(SessionFactory.java:42) > ~[na:na] > at > com.day.crx.sling.server.impl.SlingRepositoryWrapper.loginAdministrative(SlingRepositoryWrapper.java:76) > ~[na:na] > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProviderInternal(JcrResourceProviderFactory.java:191) > ~[na:na] > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getAdministrativeResourceProvider(JcrResourceProviderFactory.java:154) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.login(ResourceProviderFactoryHandler.java:162) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry.loginToRequiredFactories(RootResourceProviderEntry.java:95) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:106) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getAdministrativeResourceResolver(CommonResourceResolverFactoryImpl.java:73) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getResourceTypeResourceResolver(ResourceResolverContext.java:226) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getParentResourceType(ResourceResolverContext.java:250) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1082) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1072) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.isResourceType(ResourceResolverImpl.java:1097) > ~[na:na] > at > org.apache.sling.api.resource.AbstractResource.isResourceType(AbstractResource.java:123) > ~[na:na] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (SLING-3433) Unclosed session detected with ResourceResolverContext#getParentResourceType
[ https://issues.apache.org/jira/browse/SLING-3433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta resolved SLING-3433. --- Resolution: Not A Problem As Carsten explained, this does not seem to be an sling issue, rather an issue in the calling code. closing this > Unclosed session detected with ResourceResolverContext#getParentResourceType > > > Key: SLING-3433 > URL: https://issues.apache.org/jira/browse/SLING-3433 > Project: Sling > Issue Type: Bug > Components: ResourceResolver >Affects Versions: Resource Resolver 1.0.6 > Reporter: Amit Gupta >Assignee: Amit Gupta > Fix For: Resource Resolver 1.1.0 > > > 03.03.2014 00:46:19.103 *WARN* [Finalizer] > org.apache.jackrabbit.core.SessionImpl Unclosed session detected. The session > was opened here: > java.lang.Exception: Stack Trace > at org.apache.jackrabbit.core.SessionImpl.(SessionImpl.java:222) > ~[na:na] > at > org.apache.jackrabbit.core.XASessionImpl.(XASessionImpl.java:117) > ~[na:na] > at com.day.crx.core.CRXSessionImpl.(CRXSessionImpl.java:69) > ~[na:na] > at > com.day.crx.core.CRXRepositoryImpl.createSessionInstance(CRXRepositoryImpl.java:935) > ~[na:na] > at > org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:984) > ~[na:na] > at > org.apache.jackrabbit.core.SessionFactory.createAdminSession(SessionFactory.java:42) > ~[na:na] > at > com.day.crx.sling.server.impl.SlingRepositoryWrapper.loginAdministrative(SlingRepositoryWrapper.java:76) > ~[na:na] > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProviderInternal(JcrResourceProviderFactory.java:191) > ~[na:na] > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getAdministrativeResourceProvider(JcrResourceProviderFactory.java:154) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.login(ResourceProviderFactoryHandler.java:162) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry.loginToRequiredFactories(RootResourceProviderEntry.java:95) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:106) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getAdministrativeResourceResolver(CommonResourceResolverFactoryImpl.java:73) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getResourceTypeResourceResolver(ResourceResolverContext.java:226) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getParentResourceType(ResourceResolverContext.java:250) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1082) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1072) > ~[na:na] > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.isResourceType(ResourceResolverImpl.java:1097) > ~[na:na] > at > org.apache.sling.api.resource.AbstractResource.isResourceType(AbstractResource.java:123) > ~[na:na] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (SLING-2656) Multitenancy support
Amit Gupta created SLING-2656: - Summary: Multitenancy support Key: SLING-2656 URL: https://issues.apache.org/jira/browse/SLING-2656 Project: Sling Issue Type: New Feature Components: API, JCR Affects Versions: API 2.2.4 Reporter: Amit Gupta Adding support for proposal listed at https://cwiki.apache.org/SLING/multitenancy-support.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2656) Multitenancy support
[ https://issues.apache.org/jira/browse/SLING-2656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493076#comment-13493076 ] Amit Gupta commented on SLING-2656: --- A first cut implementation is available at https://github.com/amitxlnc/sling/compare/mt I have added Tenant and TenantProvider interfaces. and a basic implementation for JCR based TenantProvider. Also, I have added a JcrTenantAdapterFactory that can adapt ResourceResolver to a tenant, based on logged in user. TODO: * externalize the logic of identifying tenant based on logged in User. * Add support to resolve resource to a tenant, for use cases where there is no logged in user and execution is happening in some admin context. i.e. observation listener. With above basic support, we can later add support for new Tenant Aware JcrResourceResolver. > Multitenancy support > > > Key: SLING-2656 > URL: https://issues.apache.org/jira/browse/SLING-2656 > Project: Sling > Issue Type: New Feature > Components: API, JCR >Affects Versions: API 2.2.4 >Reporter: Amit Gupta > Original Estimate: 168h > Remaining Estimate: 168h > > Adding support for proposal listed at > https://cwiki.apache.org/SLING/multitenancy-support.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (SLING-2656) Multitenancy support
[ https://issues.apache.org/jira/browse/SLING-2656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-2656: -- Attachment: org.apache.sling.tenant-0.0.1-SNAPSHOT-src.zip attaching source zip patch > Multitenancy support > > > Key: SLING-2656 > URL: https://issues.apache.org/jira/browse/SLING-2656 > Project: Sling > Issue Type: New Feature > Components: API, JCR >Affects Versions: API 2.2.4 > Reporter: Amit Gupta > Attachments: org.apache.sling.tenant-0.0.1-SNAPSHOT-src.zip > > Original Estimate: 168h > Remaining Estimate: 168h > > Adding support for proposal listed at > https://cwiki.apache.org/SLING/multitenancy-support.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2656) Multitenancy support
[ https://issues.apache.org/jira/browse/SLING-2656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13495067#comment-13495067 ] Amit Gupta commented on SLING-2656: --- >I am not sure about the TenantProvider.getTenants(String filter): Should this >throw the InvalidSyntaxException ? Somehow this does not feel right. Yes, this can be wrapped as IllegalArgumentException >To allow for the TenantAdapterFactory to make use of the tenant resolution >without exposing implementation details through the API, the adapter factory >is not a separate component but is created from the TenantProviderImpl and >registered as a separate service. Maybe it would even make sense to combine >them both in a single class. Yes, make sense >As for tenant administration: I suggest you create a Web Console plugin which >allows to create, modify and remove tenants and maybe pluggable support to >configure tenants on creation. okie, I will work on this. > Multitenancy support > > > Key: SLING-2656 > URL: https://issues.apache.org/jira/browse/SLING-2656 > Project: Sling > Issue Type: New Feature > Components: API, JCR >Affects Versions: API 2.2.4 >Reporter: Amit Gupta >Assignee: Felix Meschberger > Attachments: org.apache.sling.tenant-0.0.1-SNAPSHOT-src.zip > > Original Estimate: 168h > Remaining Estimate: 168h > > Adding support for proposal listed at > https://cwiki.apache.org/SLING/multitenancy-support.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (SLING-2671) TenantProvider configuration should be allow multiple values
Amit Gupta created SLING-2671: - Summary: TenantProvider configuration should be allow multiple values Key: SLING-2671 URL: https://issues.apache.org/jira/browse/SLING-2671 Project: Sling Issue Type: Bug Components: JCR Reporter: Amit Gupta Tenants Path Matcher configuration property should allow multiple values for TenantProvider Implementation. diff --git a/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java b/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java index 8cc366c..86ab106 100644 --- a/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java +++ b/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java @@ -36,6 +36,7 @@ import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Deactivate; import org.apache.felix.scr.annotations.Properties; import org.apache.felix.scr.annotations.Property; +import org.apache.felix.scr.annotations.PropertyUnbounded; import org.apache.felix.scr.annotations.Reference; import org.apache.felix.scr.annotations.Service; import org.apache.sling.api.resource.LoginException; @@ -78,6 +79,7 @@ public class TenantProviderImpl implements TenantProvider { @Property( value = {}, +unbounded = PropertyUnbounded.ARRAY, label = "Tenants Path Matcher", description = "Defines tenants path matcher i.e. /content/sample/([^/]+)/*, used while resolving path to tenant") private static final String TENANT_PATH_MATCHER = "tenant.path.matcher"; -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (SLING-2676) Web console plugin for tenant tenant management
Amit Gupta created SLING-2676: - Summary: Web console plugin for tenant tenant management Key: SLING-2676 URL: https://issues.apache.org/jira/browse/SLING-2676 Project: Sling Issue Type: Improvement Components: Extensions Reporter: Amit Gupta Priority: Minor Fix For: Tenant 1.0 Extending the support for Tenant API, we need to add a console plugin to create/remove tenants. We also need a pluggable support to register tenant setup handler, so that various modules/implementations can be plugged in. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2676) Web console plugin for tenant tenant management
[ https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503177#comment-13503177 ] Amit Gupta commented on SLING-2676: --- We can an interface {code} /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.sling.tenant.spi; import java.util.Map; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.tenant.Tenant; /** * This is a service interface which services are called by the WebConsole plugin (or admim tool) * to complete the Tenant setup. * */ public interface TenantSetup { /** * Method called to create or update the given tenant. * The method may return additional properties to be added * to the Tenant's property list. * The ResourceResolver allows for access to the persistence; * the ResourceResolver.commit method must not be called by * this method. */ public Map setup(Tenant tenant, ResourceResolver resolver); /** * Called to remove the setup for the given Tenant. This reverts all changes * done by the #setup method. * The ResourceResolver allows for access to the persistence; * the ResourceResolver.commit method must not be called by * this method. */ public void remove(Tenant tenant, ResourceResolver resolver); } {code} This is a service interface which services are called by the WebConsole plugin (or admim tool) to complete the Tenant setup. > Web console plugin for tenant tenant management > --- > > Key: SLING-2676 > URL: https://issues.apache.org/jira/browse/SLING-2676 > Project: Sling > Issue Type: Improvement > Components: Extensions >Reporter: Amit Gupta >Priority: Minor > Fix For: Tenant 1.0 > > > Extending the support for Tenant API, we need to add a console plugin to > create/remove tenants. > We also need a pluggable support to register tenant setup handler, so that > various modules/implementations can be plugged in. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (SLING-2676) Web console plugin for tenant tenant management
[ https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503177#comment-13503177 ] Amit Gupta edited comment on SLING-2676 at 11/23/12 12:17 PM: -- We can provide an interface /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.sling.tenant.spi; import java.util.Map; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.tenant.Tenant; /** * This is a service interface which services are called by the WebConsole Plugin (or admin tool) * to complete the Tenant setup. * */ public interface TenantSetup { /** * Method called to create or update the given tenant. * The method may return additional properties to be added * to the Tenant's property list. * The ResourceResolver allows for access to the persistence; * the ResourceResolver.commit method must not be called by * this method. */ public Map setup(Tenant tenant, ResourceResolver resolver); /** * Called to remove the setup for the given Tenant. This reverts all changes * done by the #setup method. * The ResourceResolver allows for access to the persistence; * the ResourceResolver.commit method must not be called by * this method. */ public void remove(Tenant tenant, ResourceResolver resolver); } This is a service interface which services are called by the WebConsole plugin (or admim tool) to complete the Tenant setup. was (Author: amitxlnc): We can an interface {code} /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.sling.tenant.spi; import java.util.Map; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.tenant.Tenant; /** * This is a service interface which services are called by the WebConsole plugin (or admim tool) * to complete the Tenant setup. * */ public interface TenantSetup { /** * Method called to create or update the given tenant. * The method may return additional properties to be added * to the Tenant's property list. * The ResourceResolver allows for access to the persistence; * the ResourceResolver.commit method must not be called by * this method. */ public Map setup(Tenant tenant, ResourceResolver resolver); /** * Called to remove the setup for the given Tenant. This reverts all changes * done by the #setup method. * The ResourceResolver allows for access to the persistence; * the ResourceResolver.commit method must not be called by * this method. */ public void remove(Tenant tenant, ResourceResolver resolver); } {code} This is a service interface which services are called by the WebConsole plugin (or admim tool) to complete the Tenant setup. > Web console plugin for tenant tenant management > --- > > Key: SLING-2676 > URL: https://issues.apache.org/jira/browse/SLING-2676 > Project: Sling > Issue Type: Improvement > Components: Extensions >Reporter: Amit Gupta >Priority: Minor > Fix For: Tenant 1.0 > > > Extending the support for Tenant API, we
[jira] [Updated] (SLING-2676) Web console plugin for tenant management
[ https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-2676: -- Summary: Web console plugin for tenant management (was: Web console plugin for tenant tenant management) > Web console plugin for tenant management > > > Key: SLING-2676 > URL: https://issues.apache.org/jira/browse/SLING-2676 > Project: Sling > Issue Type: Improvement > Components: Extensions > Reporter: Amit Gupta >Priority: Minor > Fix For: Tenant 1.0 > > > Extending the support for Tenant API, we need to add a console plugin to > create/remove tenants. > We also need a pluggable support to register tenant setup handler, so that > various modules/implementations can be plugged in. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (SLING-2676) Web console plugin for tenant management
[ https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-2676: -- Attachment: tenant.rar patched bundle for tenant extension > Web console plugin for tenant management > > > Key: SLING-2676 > URL: https://issues.apache.org/jira/browse/SLING-2676 > Project: Sling > Issue Type: Improvement > Components: Extensions > Reporter: Amit Gupta >Priority: Minor > Fix For: Tenant 1.0 > > Attachments: tenant.rar > > > Extending the support for Tenant API, we need to add a console plugin to > create/remove tenants. > We also need a pluggable support to register tenant setup handler, so that > various modules/implementations can be plugged in. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2676) Web console plugin for tenant management
[ https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503585#comment-13503585 ] Amit Gupta commented on SLING-2676: --- patch available at https://github.com/amitxlnc/sling/commits/trunk > Web console plugin for tenant management > > > Key: SLING-2676 > URL: https://issues.apache.org/jira/browse/SLING-2676 > Project: Sling > Issue Type: Improvement > Components: Extensions > Reporter: Amit Gupta >Priority: Minor > Fix For: Tenant 1.0 > > Attachments: tenant.rar > > > Extending the support for Tenant API, we need to add a console plugin to > create/remove tenants. > We also need a pluggable support to register tenant setup handler, so that > various modules/implementations can be plugged in. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (SLING-2676) Web console plugin for tenant management
[ https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-2676: -- Attachment: tenant-web-console.diff created from git fork, and can be applied using patch command. Please note that there are some new files > Web console plugin for tenant management > > > Key: SLING-2676 > URL: https://issues.apache.org/jira/browse/SLING-2676 > Project: Sling > Issue Type: Improvement > Components: Extensions > Reporter: Amit Gupta >Assignee: Felix Meschberger >Priority: Minor > Fix For: Tenant 1.0 > > Attachments: tenant.rar, tenant-web-console.diff > > > Extending the support for Tenant API, we need to add a console plugin to > create/remove tenants. > We also need a pluggable support to register tenant setup handler, so that > various modules/implementations can be plugged in. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2707) Support of chunked file upload into Sling
[ https://issues.apache.org/jira/browse/SLING-2707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13580933#comment-13580933 ] Amit Gupta commented on SLING-2707: --- Introducing a new node type sling:PartialFile seems unnecessary complexity. And then whether to store chunks in JCR or in file system that is anyways implementation details. Implementation can be changed/improved when OAK comes in. Current spec with part number gives opportunity for future extension for supporting uploading of parallel chunks. It takes best of amazon S3 multi part chunk upload, using part number approach. And, by use of part number amazon s3 upload also encourages concurrent uploads of parts. I think that we all agree that multi connection upload at this point is an added complexity, but if just by using part number (which is already simple enough), we can keep scope for future extension then that is not a bad idea at all. > Support of chunked file upload into Sling > - > > Key: SLING-2707 > URL: https://issues.apache.org/jira/browse/SLING-2707 > Project: Sling > Issue Type: New Feature > Components: General >Reporter: Shashank Gupta > Attachments: uploadclient.jar > > > Use cases: > 1. Large file upload - With high speed internet connections, advent of cloud > and HD going mainstream, Sling should support large files (> 2GB) upload. > 2. Fault tolerant uploads - Sling should provide capability to resume upload > from failure point. It should not require client to restart the complete > upload process. > 3. Faster upload: Sling should support its clients to initiate multiple > connection and upload file chunks in parallel. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2710) Define TenantManager API
[ https://issues.apache.org/jira/browse/SLING-2710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13582036#comment-13582036 ] Amit Gupta commented on SLING-2710: --- looks good.. > Define TenantManager API > > > Key: SLING-2710 > URL: https://issues.apache.org/jira/browse/SLING-2710 > Project: Sling > Issue Type: New Feature > Components: Extensions >Reporter: Felix Meschberger > Fix For: Tenant 1.0 > > Attachments: SLING-2710.patch > > > Tenants currently can only be administered (create, update, remove) through > the Web Console. In addition the TenantProvider service interface allows for > looking tenants up (read). > For administrative purposes it would be good to have a TenantManager service > interface which allows for these administrative tasks. Something like: > public interface TenantManager extends TenantProvider { >Tenant create(String tenantId, Map properties); >void setProperty(Tenant tenant, String name, Object value); >void remove(Tenant tenant); > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2707) Support of chunked file upload into Sling
[ https://issues.apache.org/jira/browse/SLING-2707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13616545#comment-13616545 ] Amit Gupta commented on SLING-2707: --- Hi, I am on vacation till 29th March 2013. Please contact my manager Gitesh Malik for any critical issue. Thanks, Amit > Support of chunked file upload into Sling > - > > Key: SLING-2707 > URL: https://issues.apache.org/jira/browse/SLING-2707 > Project: Sling > Issue Type: New Feature > Components: General >Reporter: Shashank Gupta > Attachments: uploadclient.jar > > > Use cases: > 1. Large file upload - With high speed internet connections, advent of cloud > and HD going mainstream, Sling should support large files (> 2GB) upload. > 2. Fault tolerant uploads - Sling should provide capability to resume upload > from failure point. It should not require client to restart the complete > upload process. > 3. Faster upload: Sling should support its clients to initiate multiple > connection and upload file chunks in parallel. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (SLING-2853) Add ResourceCollection to SLING
Amit Gupta created SLING-2853: - Summary: Add ResourceCollection to SLING Key: SLING-2853 URL: https://issues.apache.org/jira/browse/SLING-2853 Project: Sling Issue Type: New Feature Components: API Affects Versions: API 2.0.2 Reporter: Amit Gupta Priority: Minor Creating a collection of resources has been a use case for a while and there has been no inherent support in SLING for the same. This proposal is to add a ResourceCollection interface and implementation that allows creation of collection of resources. Collection is a simple list of members, where each member contains path of resource it refers to. In future, we might need to store additional information with the member, hence following structure is proposed {code} N: resourceCollection (nt:unstructured) + P: sling:resourceType + N : members (nt:unstructured) + N: member_res1 > nt:unstructured + P: path > string, reference to actual resource + N: member_res2 > nt:unstructured + P: path > string, reference to actual resource {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (SLING-2853) Add ResourceCollection to SLING
[ https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-2853: -- Description: Creating a collection of resources has been a use case for a while and there has been no inherent support in SLING for the same. This proposal is to add a ResourceCollection interface and implementation that allows creation of collection of resources. Collection is a simple list of members, where each member contains path of resource it refers to. In future, we might need to store additional information with the member, hence following structure is proposed N: resourceCollection (nt:unstructured) + P: sling:resourceType + N : members (nt:unstructured) + N: member_res1 > nt:unstructured + P: path > string, reference to actual resource + N: member_res2 > nt:unstructured + P: path > string, reference to actual resource was: Creating a collection of resources has been a use case for a while and there has been no inherent support in SLING for the same. This proposal is to add a ResourceCollection interface and implementation that allows creation of collection of resources. Collection is a simple list of members, where each member contains path of resource it refers to. In future, we might need to store additional information with the member, hence following structure is proposed {code} N: resourceCollection (nt:unstructured) + P: sling:resourceType + N : members (nt:unstructured) + N: member_res1 > nt:unstructured + P: path > string, reference to actual resource + N: member_res2 > nt:unstructured + P: path > string, reference to actual resource {code} > Add ResourceCollection to SLING > --- > > Key: SLING-2853 > URL: https://issues.apache.org/jira/browse/SLING-2853 > Project: Sling > Issue Type: New Feature > Components: API >Affects Versions: API 2.0.2 >Reporter: Amit Gupta >Priority: Minor > > Creating a collection of resources has been a use case for a while and there > has been no inherent support in SLING for the same. > This proposal is to add a ResourceCollection interface and implementation > that allows creation of collection of resources. > Collection is a simple list of members, where each member contains path of > resource it refers to. In future, we might need to store additional > information with the member, hence following structure is proposed > N: resourceCollection (nt:unstructured) > + P: sling:resourceType > + N : members (nt:unstructured) > + N: member_res1 > nt:unstructured > + P: path > string, reference to actual resource > + N: member_res2 > nt:unstructured > + P: path > string, reference to actual resource -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (SLING-2853) Add ResourceCollection to SLING
[ https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-2853: -- Attachment: resourcecollection.zip Patch zip. > Add ResourceCollection to SLING > --- > > Key: SLING-2853 > URL: https://issues.apache.org/jira/browse/SLING-2853 > Project: Sling > Issue Type: New Feature > Components: API >Affects Versions: API 2.0.2 > Reporter: Amit Gupta >Priority: Minor > Attachments: resourcecollection.zip > > > Creating a collection of resources has been a use case for a while and there > has been no inherent support in SLING for the same. > This proposal is to add a ResourceCollection interface and implementation > that allows creation of collection of resources. > Collection is a simple list of members, where each member contains path of > resource it refers to. In future, we might need to store additional > information with the member, hence following structure is proposed > N: resourceCollection (nt:unstructured) > + P: sling:resourceType > + N : members (nt:unstructured) > + N: member_res1 > nt:unstructured > + P: path > string, reference to actual resource > + N: member_res2 > nt:unstructured > + P: path > string, reference to actual resource -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2853) Add ResourceCollection to Sling
[ https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13648382#comment-13648382 ] Amit Gupta commented on SLING-2853: --- > The ResourceCollection interface exposes the resources exposed but does not > expose the collection entries are said to have additional properties in the > future. What is the way forward here ? There are two options 1. expose the member resource with additional api i.e. getMembers() and this return member resource iterator instead of iterator of resource referred to. 2. give api getMemberProperties(Resource resource); this can return a ModifiableValueMap. While adding resource, we can take a map i.e. add(Resource resource, Map props); Above has not been added to api, as there was no immediate need. But content structure has been proposed to accomodate future extensions > ResourceCollections don't seem to be orderable ? Would ordering be simulated > by an order property on the resourceCollection root resource ? Not too sure about making it orderable, would collection needs to be ordered in general use cases. Basically should it be a list or set? Ordering is simple to add + P: sling:resourceType + N : members (nt:unstructured) +P: memberPaths > String[] [member_res1, member_res2] + N: member_res1 > nt:unstructured + P: path > string, reference to actual resource + N: member_res2 > nt:unstructured + P: path > string, reference to actual resource Or order can be stored as a property with each node. I like the first one, as to change the order only one property needs to be changed. > Add ResourceCollection to Sling > --- > > Key: SLING-2853 > URL: https://issues.apache.org/jira/browse/SLING-2853 > Project: Sling > Issue Type: New Feature > Components: API >Affects Versions: API 2.0.2 >Reporter: Amit Gupta >Priority: Minor > Attachments: resourcecollection.zip > > > Creating a collection of resources has been a use case for a while and there > has been no inherent support in SLING for the same. > This proposal is to add a ResourceCollection interface and implementation > that allows creation of collection of resources. > Collection is a simple list of members, where each member contains path of > resource it refers to. In future, we might need to store additional > information with the member, hence following structure is proposed > N: resourceCollection (nt:unstructured) > + P: sling:resourceType > + N : members (nt:unstructured) > + N: member_res1 > nt:unstructured > + P: path > string, reference to actual resource > + N: member_res2 > nt:unstructured > + P: path > string, reference to actual resource -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (SLING-2853) Add ResourceCollection to Sling
[ https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Amit Gupta updated SLING-2853: -- Attachment: collection.zip updated patch > Add ResourceCollection to Sling > --- > > Key: SLING-2853 > URL: https://issues.apache.org/jira/browse/SLING-2853 > Project: Sling > Issue Type: New Feature > Components: API >Affects Versions: API 2.0.2 > Reporter: Amit Gupta >Priority: Minor > Attachments: collection.zip, resourcecollection.zip > > > Creating a collection of resources has been a use case for a while and there > has been no inherent support in SLING for the same. > This proposal is to add a ResourceCollection interface and implementation > that allows creation of collection of resources. > Collection is a simple list of members, where each member contains path of > resource it refers to. In future, we might need to store additional > information with the member, hence following structure is proposed > N: resourceCollection (nt:unstructured) > + P: sling:resourceType > + N : members (nt:unstructured) > + N: member_res1 > nt:unstructured > + P: path > string, reference to actual resource > + N: member_res2 > nt:unstructured > + P: path > string, reference to actual resource -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2853) Add ResourceCollection to Sling
[ https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13648941#comment-13648941 ] Amit Gupta commented on SLING-2853: --- > Your bundle provides API in the o.a.s.api namespace. I think this namespace > should be reserved for the Sling API bundle. So either the new API is in the > o.a.s.resource.collection (or similar) namespace or is moved to the Sling API > bundle. refactored > ResourceCollectionUtil.createValidChildName actually does > "createUniqueChildName" and should maybe provided in the existing > ResourceUtil class (IIRC the Sling POST Servlet has a similar method) Refactored the name, one can move it to ResourceUtil, while applying the patch. > ResourceCollectionManager.getByPath should probably be renamed to > ResourceCollectionManager.getCollection to align with the createCollection > method. refactored > ResourceCollectionManager declares its methods to be transient referring to > ResourceResolver.commit. At least I think the JavaDoc of this interface must > define how one can get an instance of the ResourceResolverManager and how it > relates to the ResourceResolver. Maybe the ResourceResolver used by the > ResourceResolverManager should be exposed through a getResourceResolver > method. Updated java doc, added a getRsourceResolver() method > The ResourceCollection interface exposes the resources exposed but does not > expose the collection entries are said to have additional properties in the > future. What is the way forward here ? Added aditional api getEntries() and updated javadoc to make it more clear. Collection.add now takes a map of additional properties which can be null > ResourceCollections don't seem to be orderable ? Would ordering be simulated > by an order property on the resourceCollection root resource ? added implementation for ordering, a new api orderBefore is added to maintain the order > Automated tests wouldn't hurt, of course. Added Junit test cases. > Can't you use the adapter pattern Instead of > ResourceCollectionManager.getByPath(...) ? Adapt a Resource to a > ResourceCollectionManager. Intentionally kept that way so that if there is any additional code needs to be executed on delete of collection, then can be plugged in/added. To create instance of ResourceCollectionManager, one can adapt from ResourceResolver. Please review the latest patch. Regards, Amit > Add ResourceCollection to Sling > --- > > Key: SLING-2853 > URL: https://issues.apache.org/jira/browse/SLING-2853 > Project: Sling > Issue Type: New Feature > Components: API >Affects Versions: API 2.0.2 >Reporter: Amit Gupta >Priority: Minor > Attachments: collection.zip, resourcecollection.zip > > > Creating a collection of resources has been a use case for a while and there > has been no inherent support in SLING for the same. > This proposal is to add a ResourceCollection interface and implementation > that allows creation of collection of resources. > Collection is a simple list of members, where each member contains path of > resource it refers to. In future, we might need to store additional > information with the member, hence following structure is proposed > N: resourceCollection (nt:unstructured) > + P: sling:resourceType > + N : members (nt:unstructured) > + N: member_res1 > nt:unstructured > + P: path > string, reference to actual resource > + N: member_res2 > nt:unstructured > + P: path > string, reference to actual resource -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (SLING-2853) Add ResourceCollection to Sling
[ https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13649385#comment-13649385 ] Amit Gupta commented on SLING-2853: --- > If you look at the code, it's actually simpler. The current code already > relies on the "pathorder" property for the order, which needs to keep all > references anyway for it to work. code is simpler, but if you look at it will eventually add inconsistencies. such that getEntries returns a iterator over resources which represent entries in collection. So, for simple entries, I actually can not return the entries. That is the reason why I didn't try to do that optimization. > Add ResourceCollection to Sling > --- > > Key: SLING-2853 > URL: https://issues.apache.org/jira/browse/SLING-2853 > Project: Sling > Issue Type: New Feature > Components: API >Affects Versions: API 2.0.2 >Reporter: Amit Gupta >Priority: Minor > Attachments: collection.zip, resourcecollection.zip > > > Creating a collection of resources has been a use case for a while and there > has been no inherent support in SLING for the same. > This proposal is to add a ResourceCollection interface and implementation > that allows creation of collection of resources. > Collection is a simple list of members, where each member contains path of > resource it refers to. In future, we might need to store additional > information with the member, hence following structure is proposed > N: resourceCollection (nt:unstructured) > + P: sling:resourceType > + N : members (nt:unstructured) > + N: member_res1 > nt:unstructured > + P: path > string, reference to actual resource > + N: member_res2 > nt:unstructured > + P: path > string, reference to actual resource -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (SLING-2853) Add ResourceCollection to Sling
[ https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13649385#comment-13649385 ] Amit Gupta edited comment on SLING-2853 at 5/5/13 6:10 PM: --- > If you look at the code, it's actually simpler. The current code already > relies on the "pathorder" property for the order, which needs to keep all > references anyway for it to work. code is simpler, but if you look at it will eventually add inconsistencies. such that getEntries returns a iterator over resources which represent entries in collection. So, for simple entries, I actually can not return the entries. That is the reason why I didn't try to do that optimization. GetEntries is needed otherwise, there is no way to return the additional properties stored with an entry in collection. was (Author: amitxlnc): > If you look at the code, it's actually simpler. The current code already relies on the "pathorder" property for the order, which needs to keep all references anyway for it to work. code is simpler, but if you look at it will eventually add inconsistencies. such that getEntries returns a iterator over resources which represent entries in collection. So, for simple entries, I actually can not return the entries. That is the reason why I didn't try to do that optimization. > Add ResourceCollection to Sling > --- > > Key: SLING-2853 > URL: https://issues.apache.org/jira/browse/SLING-2853 > Project: Sling > Issue Type: New Feature > Components: API >Affects Versions: API 2.0.2 >Reporter: Amit Gupta >Priority: Minor > Attachments: collection.zip, resourcecollection.zip > > > Creating a collection of resources has been a use case for a while and there > has been no inherent support in SLING for the same. > This proposal is to add a ResourceCollection interface and implementation > that allows creation of collection of resources. > Collection is a simple list of members, where each member contains path of > resource it refers to. In future, we might need to store additional > information with the member, hence following structure is proposed > N: resourceCollection (nt:unstructured) > + P: sling:resourceType > + N : members (nt:unstructured) > + N: member_res1 > nt:unstructured > + P: path > string, reference to actual resource > + N: member_res2 > nt:unstructured > + P: path > string, reference to actual resource -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira