[jira] Created: (SLING-936) The use of the JR UserManager may not scale.
The use of the JR UserManager may not scale. Key: SLING-936 URL: https://issues.apache.org/jira/browse/SLING-936 Project: Sling Issue Type: Improvement Reporter: Ian Boston By default the CreateUserServlet and CreateGroupServlet create users under the node of the current user, or the base node if no current user (anon). For systems that want have more than a few 1000 users or groups this will make add and possibly access slow as the parent nodes will become large. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-936) The use of the JR UserManager may not scale.
[ https://issues.apache.org/jira/browse/SLING-936?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-936: - Attachment: SLING-936.patch Very small change to the patch to make the path ab/ef/f3/ rather than a/b/e The use of the JR UserManager may not scale. Key: SLING-936 URL: https://issues.apache.org/jira/browse/SLING-936 Project: Sling Issue Type: Improvement Reporter: Ian Boston Attachments: SLING-936.patch By default the CreateUserServlet and CreateGroupServlet create users under the node of the current user, or the base node if no current user (anon). For systems that want have more than a few 1000 users or groups this will make add and possibly access slow as the parent nodes will become large. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (SLING-936) The use of the JR UserManager may not scale.
[ https://issues.apache.org/jira/browse/SLING-936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12701667#action_12701667 ] Ian Boston commented on SLING-936: -- The current patch has been tested with a bash script and curl and appears to be keeping the add user response time linear, although initially the operation takes slightly longer. (presumably as a result of populating the parts of the tree on each new user) The use of the JR UserManager may not scale. Key: SLING-936 URL: https://issues.apache.org/jira/browse/SLING-936 Project: Sling Issue Type: Improvement Reporter: Ian Boston Attachments: SLING-936.patch By default the CreateUserServlet and CreateGroupServlet create users under the node of the current user, or the base node if no current user (anon). For systems that want have more than a few 1000 users or groups this will make add and possibly access slow as the parent nodes will become large. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-940) UserManager and Authorization rest services documentation.
UserManager and Authorization rest services documentation. -- Key: SLING-940 URL: https://issues.apache.org/jira/browse/SLING-940 Project: Sling Issue Type: Improvement Components: JCR Affects Versions: JCR Jackrabbit Server 2.0.2 Reporter: Ian Boston Patch to follow that adds some Javadoc describing the details of the REST services in the user manager and acl servlets. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-940) UserManager and AccessManager rest services documentation.
[ https://issues.apache.org/jira/browse/SLING-940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-940: - Attachment: SLING-940.patch Patch that adds javadoc so that a description of the services appears somewhere a UI developer might be able to read it. Ideally a set of links or perhapse something that introspected the javadoc so that its available at runtime. UserManager and AccessManager rest services documentation. -- Key: SLING-940 URL: https://issues.apache.org/jira/browse/SLING-940 Project: Sling Issue Type: Improvement Components: JCR Affects Versions: JCR Jackrabbit Server 2.0.2 Reporter: Ian Boston Attachments: SLING-940.patch Patch to follow that adds some Javadoc describing the details of the REST services in the user manager and acl servlets. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-943) deadlock when a single thread is adding users
deadlock when a single thread is adding users - Key: SLING-943 URL: https://issues.apache.org/jira/browse/SLING-943 Project: Sling Issue Type: Bug Affects Versions: Launchpad App 4, Servlets Get 2.0.4, JCR Jackrabbit Server 2.0.4 Environment: Sling Trunk at r768397 with 1 patch SLING-940, OSX 10.5, JDK 1.5, JMX, and Debug ports open. Reporter: Ian Boston I have a script that tests adding users. When running this as a single thread, after about 7K users, Sling stops dead with the following deadlock. I have previously done runs adding 12K users. Will try and investigate, still have the JVM up with profiler connected Stack traces of all running threads 11655...@qtp-12248553-1 - Acceptor0 ajp13socketconnec...@0.0.0.0:8009 [RUNNABLE] java.net.PlainSocketImpl.socketAccept(native method) java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) java.net.ServerSocket.implAccept(ServerSocket.java:450) java.net.ServerSocket.accept(ServerSocket.java:421) org.mortbay.jetty.bio.SocketConnector.accept(SocketConnector.java:99) org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:707) org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) 127.0.0.1 [1240657176563] POST /system/userManager/user.create.html HTTP/1.1 [WAITING] java.lang.Object.wait(native method) java.lang.Object.wait(Object.java:474) EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.put(unknown source) EDU.oswego.cs.dl.util.concurrent.PooledExecutor$WaitWhenBlocked.blockedAction(unknown source) EDU.oswego.cs.dl.util.concurrent.PooledExecutor.execute(unknown source) org.apache.jackrabbit.core.query.lucene.DynamicPooledExecutor.executeAndWait(DynamicPooledExecutor.java:114) org.apache.jackrabbit.core.query.lucene.AbstractIndex.addDocuments(AbstractIndex.java:195) org.apache.jackrabbit.core.query.lucene.VolatileIndex.commitPending(VolatileIndex.java:162) org.apache.jackrabbit.core.query.lucene.VolatileIndex.getIndexReader(VolatileIndex.java:129) org.apache.jackrabbit.core.query.lucene.AbstractIndex.getReadOnlyIndexReader(AbstractIndex.java:265) org.apache.jackrabbit.core.query.lucene.MultiIndex.getIndexReader(MultiIndex.java:721) org.apache.jackrabbit.core.query.lucene.SearchIndex.getIndexReader(SearchIndex.java:862) org.apache.jackrabbit.core.query.lucene.SearchIndex.executeQuery(SearchIndex.java:702) org.apache.jackrabbit.core.query.lucene.QueryResultImpl.executeQuery(QueryResultImpl.java:242) org.apache.jackrabbit.core.query.lucene.QueryResultImpl.getResults(QueryResultImpl.java:292) org.apache.jackrabbit.core.query.lucene.QueryResultImpl.init(QueryResultImpl.java:191) org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:130) org.apache.jackrabbit.core.query.QueryImpl.execute(QueryImpl.java:177) org.apache.jackrabbit.core.security.user.IndexNodeResolver.findNode(IndexNodeResolver.java:63) org.apache.jackrabbit.core.security.user.UserManagerImpl.getUserNode(UserManagerImpl.java:401) org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:96) org.apache.sling.jackrabbit.usermanager.resource.AuthorizableResourceProvider.getResource(AuthorizableResourceProvider.java:107) org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry.getResource(ResourceProviderEntry.java:376) org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry.getResource(ResourceProviderEntry.java:367) org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry.getResource(ResourceProviderEntry.java:122) org.apache.sling.jcr.resource.internal.JcrResourceResolver2.getResourceInternal(JcrResourceResolver2.java:686) org.apache.sling.jcr.resource.internal.JcrResourceResolver2.resolveInternal(JcrResourceResolver2.java:580) org.apache.sling.jcr.resource.internal.JcrResourceResolver2.map(JcrResourceResolver2.java:276) org.apache.sling.jcr.resource.internal.JcrResourceResolver2.map(JcrResourceResolver2.java:247) org.apache.sling.jackrabbit.usermanager.post.AbstractAuthorizablePostServlet.externalizePath(AbstractAuthorizablePostServlet.java:682) org.apache.sling.jackrabbit.usermanager.post.CreateUserServlet.handleOperation(CreateUserServlet.java:177) org.apache.sling.jackrabbit.usermanager.post.AbstractAuthorizablePostServlet.doPost(AbstractAuthorizablePostServlet.java:140) org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:143) org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:338) org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:369) org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:520) org.apache.sling.engine.impl.SlingMainServlet.processRequest(SlingMainServlet.java:409) org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
[jira] Commented: (SLING-943) deadlock when a single thread is adding users
[ https://issues.apache.org/jira/browse/SLING-943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12702679#action_12702679 ] Ian Boston commented on SLING-943: -- I have memory and thread snapshots stored on disk, too big to upload ( and probably not that interesting) deadlock when a single thread is adding users - Key: SLING-943 URL: https://issues.apache.org/jira/browse/SLING-943 Project: Sling Issue Type: Bug Affects Versions: Launchpad App 4, Servlets Get 2.0.4, JCR Jackrabbit Server 2.0.4 Environment: Sling Trunk at r768397 with 1 patch SLING-940, OSX 10.5, JDK 1.5, JMX, and Debug ports open. Reporter: Ian Boston I have a script that tests adding users. When running this as a single thread, after about 7K users, Sling stops dead with the following deadlock. I have previously done runs adding 12K users. Will try and investigate, still have the JVM up with profiler connected Stack traces of all running threads 11655...@qtp-12248553-1 - Acceptor0 ajp13socketconnec...@0.0.0.0:8009 [RUNNABLE] java.net.PlainSocketImpl.socketAccept(native method) java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) java.net.ServerSocket.implAccept(ServerSocket.java:450) java.net.ServerSocket.accept(ServerSocket.java:421) org.mortbay.jetty.bio.SocketConnector.accept(SocketConnector.java:99) org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:707) org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) 127.0.0.1 [1240657176563] POST /system/userManager/user.create.html HTTP/1.1 [WAITING] java.lang.Object.wait(native method) java.lang.Object.wait(Object.java:474) EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.put(unknown source) EDU.oswego.cs.dl.util.concurrent.PooledExecutor$WaitWhenBlocked.blockedAction(unknown source) EDU.oswego.cs.dl.util.concurrent.PooledExecutor.execute(unknown source) org.apache.jackrabbit.core.query.lucene.DynamicPooledExecutor.executeAndWait(DynamicPooledExecutor.java:114) org.apache.jackrabbit.core.query.lucene.AbstractIndex.addDocuments(AbstractIndex.java:195) org.apache.jackrabbit.core.query.lucene.VolatileIndex.commitPending(VolatileIndex.java:162) org.apache.jackrabbit.core.query.lucene.VolatileIndex.getIndexReader(VolatileIndex.java:129) org.apache.jackrabbit.core.query.lucene.AbstractIndex.getReadOnlyIndexReader(AbstractIndex.java:265) org.apache.jackrabbit.core.query.lucene.MultiIndex.getIndexReader(MultiIndex.java:721) org.apache.jackrabbit.core.query.lucene.SearchIndex.getIndexReader(SearchIndex.java:862) org.apache.jackrabbit.core.query.lucene.SearchIndex.executeQuery(SearchIndex.java:702) org.apache.jackrabbit.core.query.lucene.QueryResultImpl.executeQuery(QueryResultImpl.java:242) org.apache.jackrabbit.core.query.lucene.QueryResultImpl.getResults(QueryResultImpl.java:292) org.apache.jackrabbit.core.query.lucene.QueryResultImpl.init(QueryResultImpl.java:191) org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:130) org.apache.jackrabbit.core.query.QueryImpl.execute(QueryImpl.java:177) org.apache.jackrabbit.core.security.user.IndexNodeResolver.findNode(IndexNodeResolver.java:63) org.apache.jackrabbit.core.security.user.UserManagerImpl.getUserNode(UserManagerImpl.java:401) org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:96) org.apache.sling.jackrabbit.usermanager.resource.AuthorizableResourceProvider.getResource(AuthorizableResourceProvider.java:107) org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry.getResource(ResourceProviderEntry.java:376) org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry.getResource(ResourceProviderEntry.java:367) org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry.getResource(ResourceProviderEntry.java:122) org.apache.sling.jcr.resource.internal.JcrResourceResolver2.getResourceInternal(JcrResourceResolver2.java:686) org.apache.sling.jcr.resource.internal.JcrResourceResolver2.resolveInternal(JcrResourceResolver2.java:580) org.apache.sling.jcr.resource.internal.JcrResourceResolver2.map(JcrResourceResolver2.java:276) org.apache.sling.jcr.resource.internal.JcrResourceResolver2.map(JcrResourceResolver2.java:247) org.apache.sling.jackrabbit.usermanager.post.AbstractAuthorizablePostServlet.externalizePath(AbstractAuthorizablePostServlet.java:682) org.apache.sling.jackrabbit.usermanager.post.CreateUserServlet.handleOperation(CreateUserServlet.java:177) org.apache.sling.jackrabbit.usermanager.post.AbstractAuthorizablePostServlet.doPost(AbstractAuthorizablePostServlet.java:140) org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:143)
[jira] Created: (SLING-957) JCR EventListeners are not easy to create or write
JCR EventListeners are not easy to create or write -- Key: SLING-957 URL: https://issues.apache.org/jira/browse/SLING-957 Project: Sling Issue Type: New Feature Components: JCR Reporter: Ian Boston JCE EventListeners have some drawbacks in the current sling environment. Its relatively expensive to register them as each provider needs its own jcr session. Its not possible to register synchronous event listeners as this is part of the jackrabbit-server bundle. The patch to follow adds an EventManager to jackrabbit-server that ServiceTrack(s) a provider interface, registering InjectableEventListners as normal jcr event listeners or sync event listeners. This patch assumes that you trust all the code in the JVM and are happy giving bundles access to the JCR System Session. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-957) JCR EventListeners are not easy to create or write
[ https://issues.apache.org/jira/browse/SLING-957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-957: - Attachment: RegisterableEventManager.patch Patch provides EventManager implmentation the the exported interface. JCR EventListeners are not easy to create or write -- Key: SLING-957 URL: https://issues.apache.org/jira/browse/SLING-957 Project: Sling Issue Type: New Feature Components: JCR Reporter: Ian Boston Attachments: RegisterableEventManager.patch JCE EventListeners have some drawbacks in the current sling environment. Its relatively expensive to register them as each provider needs its own jcr session. Its not possible to register synchronous event listeners as this is part of the jackrabbit-server bundle. The patch to follow adds an EventManager to jackrabbit-server that ServiceTrack(s) a provider interface, registering InjectableEventListners as normal jcr event listeners or sync event listeners. This patch assumes that you trust all the code in the JVM and are happy giving bundles access to the JCR System Session. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-959) NPE in webconsole/config
[ https://issues.apache.org/jira/browse/SLING-959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-959: - Attachment: org.apache.felix.webconsole-1.2.9-SNAPSHOT.jar This is a known good snapshot of the web console. If you replace the 1.2.8 version of web console that comes with the Sling 5 release, the configuartion screen will work. However, this *might* introduce other problems as its a SNAPSHOT jar. This was built from trunk Felix NPE in webconsole/config Key: SLING-959 URL: https://issues.apache.org/jira/browse/SLING-959 Project: Sling Issue Type: Bug Components: Console Reporter: Bertrand Delacretaz Attachments: org.apache.felix.webconsole-1.2.9-SNAPSHOT.jar The Sling 5 release uses the Felix webconsole 1.2.8, which throws an NPE when accessing system/console/configMgr The root cause is FELIX-1028 The current workaround is to use a trunk build of the Felix webconsole - using the broken webconsole that's present in Sling 5 to update to that should work. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-962) Unused imports and missing serialVersionUID
[ https://issues.apache.org/jira/browse/SLING-962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-962: - Description: There are some weird imports in http auth including java.awt, all unused patch to follow. was: There are some weird imports in http auth including java.awt, all unsed patch to follow. Unused imports and missing serialVersionUID Key: SLING-962 URL: https://issues.apache.org/jira/browse/SLING-962 Project: Sling Issue Type: Improvement Components: Engine Affects Versions: Extensions httpauth 2.0.4 Reporter: Ian Boston There are some weird imports in http auth including java.awt, all unused patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-962) Unused imports and missing serialVersionUID
Unused imports and missing serialVersionUID Key: SLING-962 URL: https://issues.apache.org/jira/browse/SLING-962 Project: Sling Issue Type: Improvement Components: Engine Affects Versions: Extensions httpauth 2.0.4 Reporter: Ian Boston There are some weird imports in http auth including java.awt, all unsed patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-962) Unused imports and missing serialVersionUID
[ https://issues.apache.org/jira/browse/SLING-962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-962: - Attachment: SLING-962.patch Unused imports and missing serialVersionUID Key: SLING-962 URL: https://issues.apache.org/jira/browse/SLING-962 Project: Sling Issue Type: Improvement Components: Engine Affects Versions: Extensions httpauth 2.0.4 Reporter: Ian Boston Attachments: SLING-962.patch There are some weird imports in http auth including java.awt, all unused patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-971) Content Loader format descriptions have some discrepencies.
Content Loader format descriptions have some discrepencies. --- Key: SLING-971 URL: https://issues.apache.org/jira/browse/SLING-971 Project: Sling Issue Type: Bug Components: JCR Contentloader, Samples Reporter: Ian Boston The contentloader format descriptions for json are not correct in samples, and not present in the classes. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-971) Content Loader format descriptions have some discrepencies.
[ https://issues.apache.org/jira/browse/SLING-971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-971: - Attachment: SLING-971.patch Patch corrects the documentation in the sample project, corrects and adds javadoc in the content loader project Content Loader format descriptions have some discrepencies. --- Key: SLING-971 URL: https://issues.apache.org/jira/browse/SLING-971 Project: Sling Issue Type: Bug Components: JCR Contentloader, Samples Reporter: Ian Boston Attachments: SLING-971.patch The contentloader format descriptions for json are not correct in samples, and not present in the classes. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-977) Add Events to the UserManager Post Servlets
Add Events to the UserManager Post Servlets --- Key: SLING-977 URL: https://issues.apache.org/jira/browse/SLING-977 Project: Sling Issue Type: Improvement Affects Versions: JCR Jackrabbit User Manager 2.0.2 Reporter: Ian Boston In many situations when a user is created a number of there are a number of things content structures that an application will want to create. Adding Sychronous OSGi events to the crud methods in the UserManager servlets will allow this to happen. Access to those events should be managed inside the OSGi framework as per the R4.1 spec, since in the patch to follow the privileged session is handed thought the event. The second use case is to have an async event of the information about the operation without any objects that need to remain bound to the request thread. These will allow auditing of the user management process to be handed off to another bundle. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-977) Add Events to the UserManager Post Servlets
[ https://issues.apache.org/jira/browse/SLING-977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-977: - Attachment: SLING-977.patch Patch adds events to post servlets. against 775291 Add Events to the UserManager Post Servlets --- Key: SLING-977 URL: https://issues.apache.org/jira/browse/SLING-977 Project: Sling Issue Type: Improvement Affects Versions: JCR Jackrabbit User Manager 2.0.2 Reporter: Ian Boston Attachments: SLING-977.patch In many situations when a user is created a number of there are a number of things content structures that an application will want to create. Adding Sychronous OSGi events to the crud methods in the UserManager servlets will allow this to happen. Access to those events should be managed inside the OSGi framework as per the R4.1 spec, since in the patch to follow the privileged session is handed thought the event. The second use case is to have an async event of the information about the operation without any objects that need to remain bound to the request thread. These will allow auditing of the user management process to be handed off to another bundle. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Closed: (SLING-957) JCR EventListeners are not easy to create or write
[ https://issues.apache.org/jira/browse/SLING-957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston closed SLING-957. Closing to use sync OSGi events in preference. JCR EventListeners are not easy to create or write -- Key: SLING-957 URL: https://issues.apache.org/jira/browse/SLING-957 Project: Sling Issue Type: New Feature Components: JCR Reporter: Ian Boston Attachments: RegisterableEventManager.patch JCE EventListeners have some drawbacks in the current sling environment. Its relatively expensive to register them as each provider needs its own jcr session. Its not possible to register synchronous event listeners as this is part of the jackrabbit-server bundle. The patch to follow adds an EventManager to jackrabbit-server that ServiceTrack(s) a provider interface, registering InjectableEventListners as normal jcr event listeners or sync event listeners. This patch assumes that you trust all the code in the JVM and are happy giving bundles access to the JCR System Session. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (SLING-957) JCR EventListeners are not easy to create or write
[ https://issues.apache.org/jira/browse/SLING-957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston resolved SLING-957. -- Resolution: Invalid The patch is invalid because AFAICT its not possible for the EventManager to access the RepositoryImpl which is required to get hold of a SystemSession. The SystemSession could be faked up, but thats probably a bad idea, and the repository that is injected is a SlingRepository so its possible to bind to other repository implementations. JCR EventListeners are not easy to create or write -- Key: SLING-957 URL: https://issues.apache.org/jira/browse/SLING-957 Project: Sling Issue Type: New Feature Components: JCR Reporter: Ian Boston Attachments: RegisterableEventManager.patch JCE EventListeners have some drawbacks in the current sling environment. Its relatively expensive to register them as each provider needs its own jcr session. Its not possible to register synchronous event listeners as this is part of the jackrabbit-server bundle. The patch to follow adds an EventManager to jackrabbit-server that ServiceTrack(s) a provider interface, registering InjectableEventListners as normal jcr event listeners or sync event listeners. This patch assumes that you trust all the code in the JVM and are happy giving bundles access to the JCR System Session. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-977) Add Events to the UserManager Post Servlets
[ https://issues.apache.org/jira/browse/SLING-977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-977: - Attachment: (was: SLING-977.patch) Add Events to the UserManager Post Servlets --- Key: SLING-977 URL: https://issues.apache.org/jira/browse/SLING-977 Project: Sling Issue Type: Improvement Affects Versions: JCR Jackrabbit User Manager 2.0.2 Reporter: Ian Boston Attachments: SLING-977.patch In many situations when a user is created a number of there are a number of things content structures that an application will want to create. Adding Sychronous OSGi events to the crud methods in the UserManager servlets will allow this to happen. Access to those events should be managed inside the OSGi framework as per the R4.1 spec, since in the patch to follow the privileged session is handed thought the event. The second use case is to have an async event of the information about the operation without any objects that need to remain bound to the request thread. These will allow auditing of the user management process to be handed off to another bundle. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-977) Add Events to the UserManager Post Servlets
[ https://issues.apache.org/jira/browse/SLING-977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-977: - Attachment: SLING-977.patch Rethought and updated the patch into an interface and a factory util to make it easier for others to subscribe. Also realized that if the event propagates outside the JVM, then the event classes are probably not helpful. Also reset the import order and corrected the license headers. (too many projects in the same eclipse instance), should make the patch easier to read. Oh, and added an r in the right places. Thanks Add Events to the UserManager Post Servlets --- Key: SLING-977 URL: https://issues.apache.org/jira/browse/SLING-977 Project: Sling Issue Type: Improvement Affects Versions: JCR Jackrabbit User Manager 2.0.2 Reporter: Ian Boston Attachments: SLING-977.patch In many situations when a user is created a number of there are a number of things content structures that an application will want to create. Adding Sychronous OSGi events to the crud methods in the UserManager servlets will allow this to happen. Access to those events should be managed inside the OSGi framework as per the R4.1 spec, since in the patch to follow the privileged session is handed thought the event. The second use case is to have an async event of the information about the operation without any objects that need to remain bound to the request thread. These will allow auditing of the user management process to be handed off to another bundle. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-977) Add Events to the UserManager Post Servlets
[ https://issues.apache.org/jira/browse/SLING-977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-977: - Attachment: (was: SLING-977.patch) Add Events to the UserManager Post Servlets --- Key: SLING-977 URL: https://issues.apache.org/jira/browse/SLING-977 Project: Sling Issue Type: Improvement Affects Versions: JCR Jackrabbit User Manager 2.0.2 Reporter: Ian Boston Attachments: SLING-977.patch In many situations when a user is created a number of there are a number of things content structures that an application will want to create. Adding Sychronous OSGi events to the crud methods in the UserManager servlets will allow this to happen. Access to those events should be managed inside the OSGi framework as per the R4.1 spec, since in the patch to follow the privileged session is handed thought the event. The second use case is to have an async event of the information about the operation without any objects that need to remain bound to the request thread. These will allow auditing of the user management process to be handed off to another bundle. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-981) A security loader, along the lines of the contentloader to make it possible to populate ACL,s and Authorizables on startup
A security loader, along the lines of the contentloader to make it possible to populate ACL,s and Authorizables on startup -- Key: SLING-981 URL: https://issues.apache.org/jira/browse/SLING-981 Project: Sling Issue Type: New Feature Components: JCR Contentloader Reporter: Ian Boston Th small tar to follow allows bundles to include a Sakai-Initial-Security (to be renamed) header in the manifest that points to a json file containing acl and authorizable setup for the repository. This may include users or groups as required by the acl's and the acls. In for form { principals : [ { name:owner, isgroup:true, members:[], dynamic:true }, { name:everyone, isgroup:true, members:[], dynamic:true } ], acl : [ { path:/_private, principal:owner, privil...@jcr:read:granted, privil...@jcr:write:granted }, { path:/public, principal:owner, privil...@jcr:read:granted, privil...@jcr:write:granted }, { path:/public, principal:everyone, privil...@jcr:read:granted } ] } The code is largely based on the contentloader with quite a bit of copying (ugly sorry), but since it may not be wanted in in some installations I feel its better off in its own bundle. If its acceptable to have it in all distributions, then obviusly it should be a patch to contentloader. I looked and asked for this functionality already existing in Sling, but could not find it hence the patch. If there is a better way of doing the same already in the code base then closing this with invalid would be the right thing to do. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-981) A security loader, along the lines of the contentloader to make it possible to populate ACL,s and Authorizables on startup
[ https://issues.apache.org/jira/browse/SLING-981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-981: - Attachment: securityloader.tgz Here is a tarball of the code, wherever the Sakai Foundation is mentioned, please feel free to change to Apache Software Foundation, and also change any constants to a suitable more mainstream alternative. A security loader, along the lines of the contentloader to make it possible to populate ACL,s and Authorizables on startup -- Key: SLING-981 URL: https://issues.apache.org/jira/browse/SLING-981 Project: Sling Issue Type: New Feature Components: JCR Contentloader Reporter: Ian Boston Attachments: securityloader.tgz Th small tar to follow allows bundles to include a Sakai-Initial-Security (to be renamed) header in the manifest that points to a json file containing acl and authorizable setup for the repository. This may include users or groups as required by the acl's and the acls. In for form { principals : [ { name:owner, isgroup:true, members:[], dynamic:true }, { name:everyone, isgroup:true, members:[], dynamic:true } ], acl : [ { path:/_private, principal:owner, privil...@jcr:read:granted, privil...@jcr:write:granted }, { path:/public, principal:owner, privil...@jcr:read:granted, privil...@jcr:write:granted }, { path:/public, principal:everyone, privil...@jcr:read:granted } ] } The code is largely based on the contentloader with quite a bit of copying (ugly sorry), but since it may not be wanted in in some installations I feel its better off in its own bundle. If its acceptable to have it in all distributions, then obviusly it should be a patch to contentloader. I looked and asked for this functionality already existing in Sling, but could not find it hence the patch. If there is a better way of doing the same already in the code base then closing this with invalid would be the right thing to do. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-986) Dynamic URL rewriting as per discussion on list.
Dynamic URL rewriting as per discussion on list. Key: SLING-986 URL: https://issues.apache.org/jira/browse/SLING-986 Project: Sling Issue Type: New Feature Components: Engine Affects Versions: JCR Resource 2.0.6 Reporter: Ian Boston Attachments: SLING-251.patch After discussion on list http://markmail.org/thread/yvm3xoqtmpvrkijk The patch to follow creates the ability to have nodes of the following form /etc/map/http/myhost/~ - sling:mapper=(prefix='~') Where the value of the sling:mapper property is a valid OSGi Filter and locates a Service implementation of type MappingResolver. Where the request path matches pattern, the service will be used to resolve the request path to an internal path and to map the internal path to a url. The patch that follows is a first pass, that passes existing tests, but does not have unit test coverage. One area of concern is the extent to which the bundle context needs to be propagated to facilitate a ServiceTracker. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-986) Dynamic URL rewriting as per discussion on list.
[ https://issues.apache.org/jira/browse/SLING-986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-986: - Attachment: SLING-251.patch Patch (the patch name relates to the original but now closed issue) Dynamic URL rewriting as per discussion on list. Key: SLING-986 URL: https://issues.apache.org/jira/browse/SLING-986 Project: Sling Issue Type: New Feature Components: Engine Affects Versions: JCR Resource 2.0.6 Reporter: Ian Boston Attachments: SLING-251.patch After discussion on list http://markmail.org/thread/yvm3xoqtmpvrkijk The patch to follow creates the ability to have nodes of the following form /etc/map/http/myhost/~ - sling:mapper=(prefix='~') Where the value of the sling:mapper property is a valid OSGi Filter and locates a Service implementation of type MappingResolver. Where the request path matches pattern, the service will be used to resolve the request path to an internal path and to map the internal path to a url. The patch that follows is a first pass, that passes existing tests, but does not have unit test coverage. One area of concern is the extent to which the bundle context needs to be propagated to facilitate a ServiceTracker. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (SLING-986) Dynamic URL rewriting as per discussion on list.
[ https://issues.apache.org/jira/browse/SLING-986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston resolved SLING-986. -- Resolution: Invalid I now believe this approach to be invalid, as the same results can be achieved with a simple servlet request dispatch. Closing as invalid to avoid adding more unused code to sling. (We will have reverted this patch from our branch) Dynamic URL rewriting as per discussion on list. Key: SLING-986 URL: https://issues.apache.org/jira/browse/SLING-986 Project: Sling Issue Type: New Feature Components: Engine Affects Versions: JCR Resource 2.0.6 Reporter: Ian Boston Attachments: SLING-251.patch After discussion on list http://markmail.org/thread/yvm3xoqtmpvrkijk The patch to follow creates the ability to have nodes of the following form /etc/map/http/myhost/~ - sling:mapper=(prefix='~') Where the value of the sling:mapper property is a valid OSGi Filter and locates a Service implementation of type MappingResolver. Where the request path matches pattern, the service will be used to resolve the request path to an internal path and to map the internal path to a url. The patch that follows is a first pass, that passes existing tests, but does not have unit test coverage. One area of concern is the extent to which the bundle context needs to be propagated to facilitate a ServiceTracker. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-995) resource types for users are sling:users in some places and sling/users in others.
resource types for users are sling:users in some places and sling/users in others. -- Key: SLING-995 URL: https://issues.apache.org/jira/browse/SLING-995 Project: Sling Issue Type: Bug Affects Versions: JCR Jackrabbit User Manager 2.0.2 Reporter: Ian Boston I think they should be sling/users et al everywhere ? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-995) resource types for users are sling:users in some places and sling/users in others.
[ https://issues.apache.org/jira/browse/SLING-995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-995: - Attachment: SLING-995.patch I m not 100% certain about this, as there might be a : to / translation somewhere I am missing (and after all the UserManager does work) however the resourceType is a resourceType at this stage and not a node type so : looks out of place. resource types for users are sling:users in some places and sling/users in others. -- Key: SLING-995 URL: https://issues.apache.org/jira/browse/SLING-995 Project: Sling Issue Type: Bug Affects Versions: JCR Jackrabbit User Manager 2.0.2 Reporter: Ian Boston Attachments: SLING-995.patch I think they should be sling/users et al everywhere ? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (SLING-977) Add Events to the UserManager Post Servlets
[ https://issues.apache.org/jira/browse/SLING-977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston resolved SLING-977. -- Resolution: Invalid The same effect can be achieved using a SlingPostProcessor attached to the Usermanager servlets, since this does not requrie any changes to sling, I am closing this issue as invalid. Add Events to the UserManager Post Servlets --- Key: SLING-977 URL: https://issues.apache.org/jira/browse/SLING-977 Project: Sling Issue Type: Improvement Affects Versions: JCR Jackrabbit User Manager 2.0.2 Reporter: Ian Boston Attachments: SLING-977.patch In many situations when a user is created a number of there are a number of things content structures that an application will want to create. Adding Sychronous OSGi events to the crud methods in the UserManager servlets will allow this to happen. Access to those events should be managed inside the OSGi framework as per the R4.1 spec, since in the patch to follow the privileged session is handed thought the event. The second use case is to have an async event of the information about the operation without any objects that need to remain bound to the request thread. These will allow auditing of the user management process to be handed off to another bundle. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (SLING-936) The use of the JR UserManager may not scale.
[ https://issues.apache.org/jira/browse/SLING-936?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston resolved SLING-936. -- Resolution: Invalid Although the patch would help scalability, its perfectly possible to achieve the same results in an extension bundle, I am therefore closing this as invalid since its probably not necessary for core Sling. The use of the JR UserManager may not scale. Key: SLING-936 URL: https://issues.apache.org/jira/browse/SLING-936 Project: Sling Issue Type: Improvement Reporter: Ian Boston Attachments: SLING-936.patch By default the CreateUserServlet and CreateGroupServlet create users under the node of the current user, or the base node if no current user (anon). For systems that want have more than a few 1000 users or groups this will make add and possibly access slow as the parent nodes will become large. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-1012) JcrResourceResolverFactoryImpl does not register JcrResourceTypeProviders correctly.
JcrResourceResolverFactoryImpl does not register JcrResourceTypeProviders correctly. Key: SLING-1012 URL: https://issues.apache.org/jira/browse/SLING-1012 Project: Sling Issue Type: Bug Components: JCR Resource Affects Versions: JCR Resource 2.0.6 Reporter: Ian Boston JcrResourceResolverFactoryImpl only works for 0 or 1 JcrResourceTypeProvider Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-1012) JcrResourceResolverFactoryImpl does not register JcrResourceTypeProviders correctly.
[ https://issues.apache.org/jira/browse/SLING-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-1012: -- Attachment: SLING-1012.patch This area could also do with a bit of updating since its all a bit inefficient, creating a new array on very request and synchronizing every request on an effectively immutable object. JcrResourceResolverFactoryImpl does not register JcrResourceTypeProviders correctly. Key: SLING-1012 URL: https://issues.apache.org/jira/browse/SLING-1012 Project: Sling Issue Type: Bug Components: JCR Resource Affects Versions: JCR Resource 2.0.6 Reporter: Ian Boston Attachments: SLING-1012.patch JcrResourceResolverFactoryImpl only works for 0 or 1 JcrResourceTypeProvider Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-1016) Make membership management depend on the principal name not the URI of the principal, since the principal name is already unique.
Make membership management depend on the principal name not the URI of the principal, since the principal name is already unique. - Key: SLING-1016 URL: https://issues.apache.org/jira/browse/SLING-1016 Project: Sling Issue Type: Improvement Components: JCR Affects Versions: JCR Jackrabbit User Manager 2.0.4 Reporter: Ian Boston As per thread on sling-dev --- You are probably right, the principal name is sufficient to find the authorizable. Can you make the patch? Thanks! On Fri, Jun 19, 2009 at 7:43 AM, Ian Boston i...@tfd.co.uk wrote: I was wondering, curl -F:member=/system/userManager/user/ieb http://admin:ad...@localhost :8080/system/userManager/group/g-group1.update.json appears to be the way to add members to groups or curl -F:member=../../ieb http://admin:ad...@localhost :8080/system/userManager/group/g-group1.update.json I can see where this is in the code, but it looks a bit odd and slightly hard for a UI developer to work with when curl -F:member=ieb http://admin:ad...@localhost :8080/system/userManager/group/g-group1.update.json would have worked. Was there a reason I am missing this is like it is ? I would like to change it, happy to do a patch. Ian -- -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-1016) Make membership management depend on the principal name not the URI of the principal, since the principal name is already unique.
[ https://issues.apache.org/jira/browse/SLING-1016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-1016: -- Attachment: SLING-1016.patch Patch that maintains backwards compatibility, ,but allows members to be added by their principal name rather than the path to the principal. Make membership management depend on the principal name not the URI of the principal, since the principal name is already unique. - Key: SLING-1016 URL: https://issues.apache.org/jira/browse/SLING-1016 Project: Sling Issue Type: Improvement Components: JCR Affects Versions: JCR Jackrabbit User Manager 2.0.4 Reporter: Ian Boston Attachments: SLING-1016.patch As per thread on sling-dev --- You are probably right, the principal name is sufficient to find the authorizable. Can you make the patch? Thanks! On Fri, Jun 19, 2009 at 7:43 AM, Ian Boston i...@tfd.co.uk wrote: I was wondering, curl -F:member=/system/userManager/user/ieb http://admin:ad...@localhost :8080/system/userManager/group/g-group1.update.json appears to be the way to add members to groups or curl -F:member=../../ieb http://admin:ad...@localhost :8080/system/userManager/group/g-group1.update.json I can see where this is in the code, but it looks a bit odd and slightly hard for a UI developer to work with when curl -F:member=ieb http://admin:ad...@localhost :8080/system/userManager/group/g-group1.update.json would have worked. Was there a reason I am missing this is like it is ? I would like to change it, happy to do a patch. Ian -- -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (SLING-1017) JCR Resource Resolver 2
JCR Resource Resolver 2 Key: SLING-1017 URL: https://issues.apache.org/jira/browse/SLING-1017 Project: Sling Issue Type: Bug Components: JCR Resource Affects Versions: JCR Resource 2.0.6 Reporter: Ian Boston THe JCR Resource Resolver creates 1 array of JcrResourceTypeProviders per request, even if there has been no change to the array. The Array is immutable once created and so it should really be created on change not on request. The creation of this array alos synchronizes all request, which is probably not great for scalability. patch to follow -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-1017) JCR Resource Resolver 2 generates the same immutable array of JcrResourceTypeProviders on each request.
[ https://issues.apache.org/jira/browse/SLING-1017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-1017: -- Summary: JCR Resource Resolver 2 generates the same immutable array of JcrResourceTypeProviders on each request. (was: JCR Resource Resolver 2 ) JCR Resource Resolver 2 generates the same immutable array of JcrResourceTypeProviders on each request. --- Key: SLING-1017 URL: https://issues.apache.org/jira/browse/SLING-1017 Project: Sling Issue Type: Bug Components: JCR Resource Affects Versions: JCR Resource 2.0.6 Reporter: Ian Boston Attachments: SLING-1017.path THe JCR Resource Resolver creates 1 array of JcrResourceTypeProviders per request, even if there has been no change to the array. The Array is immutable once created and so it should really be created on change not on request. The creation of this array alos synchronizes all request, which is probably not great for scalability. patch to follow -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-1017) JCR Resource Resolver 2
[ https://issues.apache.org/jira/browse/SLING-1017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-1017: -- Attachment: SLING-1017.path Patch that takes the array generation out of the request thread. (and a spelling correction :) ) JCR Resource Resolver 2 Key: SLING-1017 URL: https://issues.apache.org/jira/browse/SLING-1017 Project: Sling Issue Type: Bug Components: JCR Resource Affects Versions: JCR Resource 2.0.6 Reporter: Ian Boston Attachments: SLING-1017.path THe JCR Resource Resolver creates 1 array of JcrResourceTypeProviders per request, even if there has been no change to the array. The Array is immutable once created and so it should really be created on change not on request. The creation of this array alos synchronizes all request, which is probably not great for scalability. patch to follow -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-1023) Allow NonExistant Resources to have a Resource Type
[ https://issues.apache.org/jira/browse/SLING-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Boston updated SLING-1023: -- Attachment: SLING-1023.patch Here is a patch against r788637 I would also be happy to contribute something that uses it eg http://github.com/ieb/open-experiments/blob/7df1869137eba26e4b2af1d5da966af4ec59c0d6/slingtests/osgikernel/bundles/resource/src/main/java/org/sakaiproject/kernel/resource/AbstractPathResourceTypeProvider.java http://github.com/ieb/open-experiments/blob/7df1869137eba26e4b2af1d5da966af4ec59c0d6/slingtests/osgikernel/bundles/resource/src/main/java/org/sakaiproject/kernel/resource/AbstractVirtualPathServlet.java http://github.com/ieb/open-experiments/blob/7df1869137eba26e4b2af1d5da966af4ec59c0d6/slingtests/osgikernel/bundles/resource/src/main/java/org/sakaiproject/kernel/resource/VirtualResource.java Allow NonExistant Resources to have a Resource Type --- Key: SLING-1023 URL: https://issues.apache.org/jira/browse/SLING-1023 Project: Sling Issue Type: Improvement Affects Versions: JCR Resource 2.0.4 Reporter: Ian Boston Attachments: SLING-1023.patch We have been using a patch to the jcr.resolver bundle that allows us to map non existent resources to a resource type so that they can be handled by a servlet registered to that resource type. Our use case is to allow a node to act as a marker and container for the virtual store where the URL path does not equal the JCR storage path. eg the URL /_user/messages/ieb/101 maps to /_user/messages/ed/fe/45/3e/ieb/23/ef/e4/d0/101 where only the node /_user/messages is marked with a resource type. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (SLING-1023) Allow NonExistant Resources to have a Resource Type
[ https://issues.apache.org/jira/browse/SLING-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12724495#action_12724495 ] Ian Boston commented on SLING-1023: --- There is a potential problem with this patch in the way that the RequestPathInfo is generated. At the moment it doesn't correctly cause selectors to parse properly. I will update. Allow NonExistant Resources to have a Resource Type --- Key: SLING-1023 URL: https://issues.apache.org/jira/browse/SLING-1023 Project: Sling Issue Type: Improvement Affects Versions: JCR Resource 2.0.4 Reporter: Ian Boston Attachments: SLING-1023.patch We have been using a patch to the jcr.resolver bundle that allows us to map non existent resources to a resource type so that they can be handled by a servlet registered to that resource type. Our use case is to allow a node to act as a marker and container for the virtual store where the URL path does not equal the JCR storage path. eg the URL /_user/messages/ieb/101 maps to /_user/messages/ed/fe/45/3e/ieb/23/ef/e4/d0/101 where only the node /_user/messages is marked with a resource type. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (SLING-1023) Allow NonExistant Resources to have a Resource Type
[ https://issues.apache.org/jira/browse/SLING-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12724719#action_12724719 ] Ian Boston commented on SLING-1023: --- What would make the patch acceptable ? SyntheticResource ? Setting the resource supertype (although I think this might have just gone) ? IMHO the nonexisting approach adds a second level of resource dispatching, which I really would prefer not to have, not least At the moment we are on a branch with this in, since (I am sorry to say this, and absolutely no offense intended because everything else *is* fantastic!) Sling/Jackrabbit doesn't scale 1000 syblings at one location in a URL space if its mapped directly to JCR paths. We have ~100K users, and they all need a number of predictable home storage spaces and a number of predictable message storage spaces, which I dont want to hard code or expose unfriendly urls. We can keep going on our branch, but I keep on seeing others with similar problems on lists, not just sling-dev, and having a branch like this makes me nervous. Allow NonExistant Resources to have a Resource Type --- Key: SLING-1023 URL: https://issues.apache.org/jira/browse/SLING-1023 Project: Sling Issue Type: Improvement Affects Versions: JCR Resource 2.0.4 Reporter: Ian Boston Attachments: SLING-1023.patch We have been using a patch to the jcr.resolver bundle that allows us to map non existent resources to a resource type so that they can be handled by a servlet registered to that resource type. Our use case is to allow a node to act as a marker and container for the virtual store where the URL path does not equal the JCR storage path. eg the URL /_user/messages/ieb/101 maps to /_user/messages/ed/fe/45/3e/ieb/23/ef/e4/d0/101 where only the node /_user/messages is marked with a resource type. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (SLING-1023) Allow NonExistant Resources to have a Resource Type
[ https://issues.apache.org/jira/browse/SLING-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12724812#action_12724812 ] Ian Boston commented on SLING-1023: --- BTW if doing something at this level is never going to be acceptable, then please say, close the jira as invalid or wont fix and I will find an alternative, possibly using an extra servlet dispatch although that will add extra time and GC to every request which wont go down very well. Allow NonExistant Resources to have a Resource Type --- Key: SLING-1023 URL: https://issues.apache.org/jira/browse/SLING-1023 Project: Sling Issue Type: Improvement Affects Versions: JCR Resource 2.0.4 Reporter: Ian Boston Attachments: SLING-1023.patch We have been using a patch to the jcr.resolver bundle that allows us to map non existent resources to a resource type so that they can be handled by a servlet registered to that resource type. Our use case is to allow a node to act as a marker and container for the virtual store where the URL path does not equal the JCR storage path. eg the URL /_user/messages/ieb/101 maps to /_user/messages/ed/fe/45/3e/ieb/23/ef/e4/d0/101 where only the node /_user/messages is marked with a resource type. Patch to follow. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.