[jira] Created: (SLING-936) The use of the JR UserManager may not scale.

2009-04-22 Thread Ian Boston (JIRA)
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.

2009-04-22 Thread Ian Boston (JIRA)

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

2009-04-22 Thread Ian Boston (JIRA)

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

2009-04-23 Thread Ian Boston (JIRA)
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.

2009-04-23 Thread Ian Boston (JIRA)

 [ 
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

2009-04-25 Thread Ian Boston (JIRA)
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

2009-04-25 Thread Ian Boston (JIRA)

[ 
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

2009-05-06 Thread Ian Boston (JIRA)
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

2009-05-06 Thread Ian Boston (JIRA)

 [ 
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

2009-05-11 Thread Ian Boston (JIRA)

 [ 
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

2009-05-11 Thread Ian Boston (JIRA)

 [ 
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

2009-05-11 Thread Ian Boston (JIRA)
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

2009-05-11 Thread Ian Boston (JIRA)

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

2009-05-15 Thread Ian Boston (JIRA)
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.

2009-05-15 Thread Ian Boston (JIRA)

 [ 
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

2009-05-18 Thread Ian Boston (JIRA)
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

2009-05-18 Thread Ian Boston (JIRA)

 [ 
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

2009-05-18 Thread Ian Boston (JIRA)

 [ 
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

2009-05-18 Thread Ian Boston (JIRA)

 [ 
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

2009-05-18 Thread Ian Boston (JIRA)

 [ 
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

2009-05-19 Thread Ian Boston (JIRA)

 [ 
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

2009-05-19 Thread Ian Boston (JIRA)

 [ 
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

2009-05-21 Thread Ian Boston (JIRA)
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

2009-05-21 Thread Ian Boston (JIRA)

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

2009-05-27 Thread Ian Boston (JIRA)
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.

2009-05-27 Thread Ian Boston (JIRA)

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

2009-06-04 Thread Ian Boston (JIRA)

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

2009-06-05 Thread Ian Boston (JIRA)
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.

2009-06-05 Thread Ian Boston (JIRA)

 [ 
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

2009-06-05 Thread Ian Boston (JIRA)

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

2009-06-09 Thread Ian Boston (JIRA)

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

2009-06-18 Thread Ian Boston (JIRA)
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.

2009-06-18 Thread Ian Boston (JIRA)

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

2009-06-22 Thread Ian Boston (JIRA)
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.

2009-06-22 Thread Ian Boston (JIRA)

 [ 
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

2009-06-22 Thread Ian Boston (JIRA)
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.

2009-06-22 Thread Ian Boston (JIRA)

 [ 
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

2009-06-22 Thread Ian Boston (JIRA)

 [ 
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

2009-06-26 Thread Ian Boston (JIRA)

 [ 
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

2009-06-26 Thread Ian Boston (JIRA)

[ 
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

2009-06-26 Thread Ian Boston (JIRA)

[ 
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

2009-06-27 Thread Ian Boston (JIRA)

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