[jira] Closed: (SLING-1022) Make script resolution cacheable

2009-06-29 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-1022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-1022.
---

Resolution: Fixed

The resource collector now contains all relevant information and implements 
equals() and hashCode()

 Make script resolution cacheable
 

 Key: SLING-1022
 URL: https://issues.apache.org/jira/browse/SLING-1022
 Project: Sling
  Issue Type: Improvement
  Components: Servlets Resolver
Affects Versions:  Servlets Resolver 2.0.6
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Servlets Resolver 2.0.8


 The ResourceCollector object needs to be enhanced in order to use it as a key 
 for caching the script resolution. Besides the extension, selectors etc. it 
 should contain the resource type and resource super type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (SLING-1021) Use admin (configurable user) session for script resolution

2009-06-29 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-1021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-1021.
---

   Resolution: Fixed
Fix Version/s: Servlets Resolver 2.0.8

The admin session is now used to resolve all scripts. A script user is 
configurable, if this configuration is set, a session with this user is used 
instead of the admin session.

 Use admin (configurable user) session for script resolution
 ---

 Key: SLING-1021
 URL: https://issues.apache.org/jira/browse/SLING-1021
 Project: Sling
  Issue Type: New Feature
  Components: Servlets Resolver
Affects Versions:  Servlets Resolver 2.0.6
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Servlets Resolver 2.0.8


 Currently the user session from the current request is used to resolve a 
 script. This has many drawbacks like the scripts need to be readable for all 
 users, caching of the script resolution is not that efficient etc.
 As discussed in the mailing list, we'll change the script resolution to use a 
 single session. By default the admin session is used, but this will be 
 configurable to use a specific user instead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: OSGi Compendium

2009-06-26 Thread Carsten Ziegeler
Dominik Süß wrote:
 Wouldn't it be more straight forward to exclude the Compendium Libraries
 from the Declarative Services as well and have it as seperate bundle in
 general?
 I know this thoughts might lead to a big amount of small bundles and some
 might not like this, but in this case I think it really would make sense.
This actually would require to split up the compendium into the various
parts and have an api bundle for each part.
Updating the DS then would require to update the api and the impl bundle.

Hmm, not sure what the better option is. At least, it seems that pre
bundling the compendium libs is wrong. So +1 to remove them from
launchpad/base.

I like the way how the Apache Felix DS implementation does it. You get
one bundle containing everything you need. So updating to a new spec
version is pretty simply as the bundle is self contained.

How do other implementations do this?

Carsten
 
 Regards,
 Dominik
 
 On Thu, Jun 25, 2009 at 4:39 PM, Felix Meschberger fmesc...@gmail.comwrote:
 
 Hi all,

 Currently the Sling launcher (in the launchpad/base module) contains the
 Felix framework, the OSGi Core libraries as well as the OSGi Compendium
 libraries.

 While working on the implementation of the new Declarative Services 1.1
 features planned for addition in the OSGi Compendium Specification 4.2 I
 ran into a problem with this setup.

 Consider a bundle X importing the Declarative Services packages *before*
 the new implementation is installed. Both the system bundle (as per the
 launchpad/base module) and the Declarative Services implementation
 export version 1.0 of the org.osgi.service.component package. This
 results in all bundles wiring to the system bundle. Everything is fine.

 Now update the Declarative Services bundle which now exports version 1.1
 of the org.osgi.service.component package. The Declarative Services
 bundle binds to its own export using the latest version available.
 Bundle X is still wired to the system bundle because there is no
 rewiring taking place.

 The consequence is, that the new Declarative Services bundle cannot call
 any of the activate or deactivate methods of the components in Bundle X
 because the ComponentContext argument is not compatible.

 As a fix, I suggest we modify the launchpad/base bundle to *not* provide
 the Compendium packages any more. Instead we will expect that either the
 Compendium implementation bundles export the packages (as for example
 the Apache Felix Declarative Services bundle does) or that the
 compendium packages are installed as a bundle.

 WDYT ?

 Regards
 Felix

 


-- 
Carsten Ziegeler
cziege...@apache.org


Revisiting the resource super type handling

2009-06-26 Thread Carsten Ziegeler
Hi,

while changing the script resolution in the last days a little bit to
make it cacheable, I stumbled across the handling of the resource super
type.
The jcr resource implementation checks if the node has the
sling:resourceSuperType property and returns this value if existent.
If not, it tries to find a resource under the search paths (usually libs
and apps) with the resource type converted to a path. So if a resource
has the type a/b, the resources /apps/a/b and /libs/a/b are tested if
they exist and contain a resource super type property.

Other resource implementations like the bundle resource always returns
null. The fs resource implemenations returns a special resource type for
the resource super type.

I think this behaviour is a little bit inconsistent. I would change it
that if a resource does not know it's super type, it should return null.
So basically this effects the implementation of the jcr resource.
The script resolver already checks if the resource super type is null
and then applies the above algoritm from the jcr resource as well.

Otherwise each resource implemenation should apply the algorithm to be
consistent. But I would prefer the first solution.

While the change is incompatible, I think this doesn't have any real effect.

WDYT?
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: OSGi Compendium

2009-06-26 Thread Carsten Ziegeler
Felix Meschberger schrieb:
 
 Carsten Ziegeler schrieb:
 Dominik Süß wrote:
 Wouldn't it be more straight forward to exclude the Compendium Libraries
 from the Declarative Services as well and have it as seperate bundle in
 general?
 I know this thoughts might lead to a big amount of small bundles and some
 might not like this, but in this case I think it really would make sense.
 This actually would require to split up the compendium into the various
 parts and have an api bundle for each part.
 Updating the DS then would require to update the api and the impl bundle.

 Hmm, not sure what the better option is. At least, it seems that pre
 bundling the compendium libs is wrong. So +1 to remove them from
 launchpad/base.

 I like the way how the Apache Felix DS implementation does it. You get
 one bundle containing everything you need. So updating to a new spec
 version is pretty simply as the bundle is self contained.
 
 Actually the Apache Felix DS implementation also exports the
 Configuration Admin packages. This will probably be removed for the next
 release.
 
 How do other implementations do this?
 
 AFAICT the Eclipse/Equinox project is using the approach of not
 including the API in the implementation bundles but to have you install
 the compendium library bundle.
 
 There are basically two approaches to the question of where to locate
 API with respect to the implementations: One is to include the
 implemented API with the implementation. The other is to strictly
 separate API from implementation.
 
 My stance is somewhere in-between. Generally I prefer separating the API
 from the implementation, unless ...
 
 For example, in Sling we have the Sling API bundle. This is IMHO a
 coherent API which is implemented by multiple bundles, e.g. the engine
 and the jcr/resource bundles. This API is separate.
 
 On the other hand we have the exported API of the jcr/resource bundle.
 While we could separate it out into a separate bundle, the resulting
 bundle would be so small, that it probably makes no sense. In addition,
  chances of another implementation of that API are close to zero.
 
 For the compendium API, the case is that the Compendium library is a
 collection of more or less unrelated packages (there is close to no
 interpackage references on the API level). So having one Compendium
 bundle tends to lead to issues if we upgrade the implementations
 independetly of the versioning of the different packages.
 
Yepp, exactly. That's why we either have to split up the compendium into
several api bundles (one for DS, one for config admin etc.) or the
implementations should bundle it.

It is a little bit strange that while OSGi is about modularity the
compendium is a single library :)

Carsten


-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Closed: (SLING-987) Jobs/Events are purged in an uncontrolled way

2009-06-26 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-987.
--

Resolution: Fixed

 Jobs/Events are purged in an uncontrolled way
 -

 Key: SLING-987
 URL: https://issues.apache.org/jira/browse/SLING-987
 Project: Sling
  Issue Type: Bug
  Components: Event
Affects Versions: Extensions Event 2.0.4
Reporter: Philipp Koch
Assignee: Carsten Ziegeler
Priority: Blocker
 Fix For: Extensions Event 2.0.6


 We already had this problem for pretty big event/job queues once (a month ago 
 or so. could not find a jira issue) that the job in the queue got purged 
 because the job acknowledge timed out for that job (by default the 
 job/event is purged after 3 timeouts). the above mentioned fix fixed the 
 issue quite well. it appeared now again when running such big queues on very 
 fast boxes: 
 9.05.2009 13:00:07.904 *INFO* [pool-4-thread-1] 
 org.apache.sling.event.impl.JobEventHandler No acknowledge received for job 
 org.osgi.service.event.Event [topic=com/day/cq/workflow/job] stored at 
 /var/eventing/jobs/com.day.cq.workflow.job/Job5a50f993-8f36-4eae-81d5-3124ca455bf5.
  Requeueing job.
 the funny thing is now that the timeout does not happen after hours but 
 already after 10 mins. there are no (debug) log entries that would point to 
 some event handler problems...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (SLING-904) jcrinstall - take three

2009-06-24 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12723502#action_12723502
 ] 

Carsten Ziegeler commented on SLING-904:


Implemented a quick and dirty retry if the bundle can't be started the first 
time it's tried.

 jcrinstall - take three
 ---

 Key: SLING-904
 URL: https://issues.apache.org/jira/browse/SLING-904
 Project: Sling
  Issue Type: Improvement
  Components: JCR Install
Reporter: Bertrand Delacretaz

 Refactor and reengineer jcrinstall based on the accumulated experiences of 
 the take two, SLING-646.
 See discussion in http://markmail.org/message/ld6tkz6fdseknntx

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (SLING-1020) Add some methods from JcrResourceUtil to ResourceUtil

2009-06-24 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-1020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12723534#action_12723534
 ] 

Carsten Ziegeler commented on SLING-1020:
-

Added the methods to ResourceUtil together with some base tests in revision 
787983

 Add some methods from JcrResourceUtil to ResourceUtil
 -

 Key: SLING-1020
 URL: https://issues.apache.org/jira/browse/SLING-1020
 Project: Sling
  Issue Type: New Feature
  Components: API, JCR Resource
Affects Versions: JCR Resource 2.0.4, API 2.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: API 2.0.6, JCR Resource 2.0.6


 The getResourceSuperType, resourceTypeToPath methods in the JcrResourceUtil 
 are of general interest and not tied to jcr; for example the script 
 resolution makes use of them. We should move them to the API ResourceUtil, 
 let the old methods invoke the new ones and deprecate them

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (SLING-1020) Add some methods from JcrResourceUtil to ResourceUtil

2009-06-24 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-1020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12723537#action_12723537
 ] 

Carsten Ziegeler commented on SLING-1020:
-

Deprecate getResourceSuperType, resourceTypeToPath from JcrResourceUtil and 
improve resource super handling. in revision: 787987

 Add some methods from JcrResourceUtil to ResourceUtil
 -

 Key: SLING-1020
 URL: https://issues.apache.org/jira/browse/SLING-1020
 Project: Sling
  Issue Type: New Feature
  Components: API, JCR Resource
Affects Versions: JCR Resource 2.0.4, API 2.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: API 2.0.6, JCR Resource 2.0.6


 The getResourceSuperType, resourceTypeToPath methods in the JcrResourceUtil 
 are of general interest and not tied to jcr; for example the script 
 resolution makes use of them. We should move them to the API ResourceUtil, 
 let the old methods invoke the new ones and deprecate them

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (SLING-1020) Add some methods from JcrResourceUtil to ResourceUtil

2009-06-24 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-1020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-1020.
---

Resolution: Fixed

 Add some methods from JcrResourceUtil to ResourceUtil
 -

 Key: SLING-1020
 URL: https://issues.apache.org/jira/browse/SLING-1020
 Project: Sling
  Issue Type: New Feature
  Components: API, Engine, JCR Resource
Affects Versions: JCR Resource 2.0.4, Engine 2.0.4, API 2.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Engine 2.0.6, API 2.0.6, JCR Resource 2.0.6


 The getResourceSuperType, resourceTypeToPath methods in the JcrResourceUtil 
 are of general interest and not tied to jcr; for example the script 
 resolution makes use of them. We should move them to the API ResourceUtil, 
 let the old methods invoke the new ones and deprecate them

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (SLING-1021) Use admin (configurable user) session for script resolution

2009-06-24 Thread Carsten Ziegeler (JIRA)
Use admin (configurable user) session for script resolution
---

 Key: SLING-1021
 URL: https://issues.apache.org/jira/browse/SLING-1021
 Project: Sling
  Issue Type: New Feature
  Components: Servlets Resolver
Affects Versions:  Servlets Resolver 2.0.6
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler


Currently the user session from the current request is used to resolve a 
script. This has many drawbacks like the scripts need to be readable for all 
users, caching of the script resolution is not that efficient etc.
As discussed in the mailing list, we'll change the script resolution to use a 
single session. By default the admin session is used, but this will be 
configurable to use a specific user instead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (SLING-1022) Make script resolution cacheable

2009-06-24 Thread Carsten Ziegeler (JIRA)
Make script resolution cacheable


 Key: SLING-1022
 URL: https://issues.apache.org/jira/browse/SLING-1022
 Project: Sling
  Issue Type: Improvement
  Components: Servlets Resolver
Affects Versions:  Servlets Resolver 2.0.6
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Servlets Resolver 2.0.8


The ResourceCollector object needs to be enhanced in order to use it as a key 
for caching the script resolution. Besides the extension, selectors etc. it 
should contain the resource type and resource super type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Code Coverage and Metrics

2009-06-23 Thread Carsten Ziegeler
Hi,

Sling has been added to the public Sonar instance:

http://nemo.sonarsource.org/project/index/org.apache.sling:sling-builder

So we get some nice graphics about code coverage, some metrics etc.

Atm we have 9% coverage :) Anyone interested in making us look better?

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Created: (SLING-1018) Remove dependency to DS

2009-06-23 Thread Carsten Ziegeler (JIRA)
Remove dependency to DS
---

 Key: SLING-1018
 URL: https://issues.apache.org/jira/browse/SLING-1018
 Project: Sling
  Issue Type: Improvement
  Components: JCR Install
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler


Currently the jcr install requires the declarative services. In order to have 
minimal dependencies, an activator in combination with service trackers should 
be used instead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (SLING-1018) Remove dependency to DS

2009-06-23 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-1018.
---

   Resolution: Fixed
Fix Version/s: JCR Install 2.0.4

Removed the dependency to declarative service in revision 787739

 Remove dependency to DS
 ---

 Key: SLING-1018
 URL: https://issues.apache.org/jira/browse/SLING-1018
 Project: Sling
  Issue Type: Improvement
  Components: JCR Install
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: JCR Install 2.0.4


 Currently the jcr install requires the declarative services. In order to have 
 minimal dependencies, an activator in combination with service trackers 
 should be used instead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (SLING-1019) Correctly handle bind/unbind of repository

2009-06-23 Thread Carsten Ziegeler (JIRA)
Correctly handle bind/unbind of repository
--

 Key: SLING-1019
 URL: https://issues.apache.org/jira/browse/SLING-1019
 Project: Sling
  Issue Type: Bug
  Components: JCR Install
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler


The bind method with a new repository may be called before unbind with the old 
one is called.
In addition, the activate and bind methods should not start installs/uninstalls 
to avoid potential deadlocks

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (SLING-1020) Add some methods from JcrResourceUtil to ResourceUtil

2009-06-23 Thread Carsten Ziegeler (JIRA)
Add some methods from JcrResourceUtil to ResourceUtil
-

 Key: SLING-1020
 URL: https://issues.apache.org/jira/browse/SLING-1020
 Project: Sling
  Issue Type: New Feature
  Components: API, JCR Resource
Affects Versions: API 2.0.4, JCR Resource 2.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: API 2.0.6, JCR Resource 2.0.6


The getResourceSuperType, resourceTypeToPath methods in the JcrResourceUtil are 
of general interest and not tied to jcr; for example the script resolution 
makes use of them. We should move them to the API ResourceUtil, let the old 
methods invoke the new ones and deprecate them

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Resolved: (SLING-1017) JCR Resource Resolver 2 generates the same immutable array of JcrResourceTypeProviders on each request.

2009-06-22 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-1017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler resolved SLING-1017.
-

   Resolution: Fixed
Fix Version/s: JCR Resource 2.0.6
 Assignee: Carsten Ziegeler

Thanks for your patch Ian, it's applied in revision: 787268
Can you please cross check and close this bug?
Thanks

 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
Assignee: Carsten Ziegeler
 Fix For: JCR Resource 2.0.6

 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] Resolved: (SLING-1012) JcrResourceResolverFactoryImpl does not register JcrResourceTypeProviders correctly.

2009-06-22 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler resolved SLING-1012.
-

   Resolution: Fixed
Fix Version/s: JCR Resource 2.0.6
 Assignee: Carsten Ziegeler

Thanks for your patch Ian, it's applied in revision: 787268
Can you please cross check and close this bug?
Thanks

 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
Assignee: Carsten Ziegeler
 Fix For: JCR Resource 2.0.6

 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.



[RT] Script Resolution

2009-06-22 Thread Carsten Ziegeler
Hi,

I'm currently working on improving the script resolution in terms of
performance.
While looking at how it works today, I've discovered two problematic points:

1) Currently the scripts are searched by using the session of the
current request. Now, I think using the user session to search the
script is wrong. The content, the user requests, is already retrieved
with the user session and its the content (or the acl's on the content)
who define if the user is allowed to access something.
The script should always be executable (and I'm speaking of execution
not reading, writing etc.) for any user. This also matches the current
handling for scripts which are not stored in the repository like the
servlets or scripts contained in bundle resources.

Therefore I suggest to change the script resolution to use the admin
session.

Btw, this would also make caching the script resolution easier as the
current approach requires the caching of the script resolution to be a
per user cache. With the changes from above the cache can be global.

2) Resource events

We need to implement https://issues.apache.org/jira/browse/SLING-944 and
some extension of this to properly update the cache if scripts are
changed, added removed. As scripts can be coming from any data source
(jcr, file system, bundle, database etc.) we need a generic mechanism here.
For now I think we could start with OSGi events for
- Resource added, removed, changed
- Resource Provider added, removed

WDYT?

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: [RT] Script Resolution

2009-06-22 Thread Carsten Ziegeler
Another minor issue are the helper methods of the JcrResourceUtil class
(the getResourceSuperType, resourceTypeToPath methods). I think we can
make them completly JCR free and move them to the ResourceUtil class in
the API.

Carsten

Carsten Ziegeler wrote:
 Hi,
 
 I'm currently working on improving the script resolution in terms of
 performance.
 While looking at how it works today, I've discovered two problematic points:
 
 1) Currently the scripts are searched by using the session of the
 current request. Now, I think using the user session to search the
 script is wrong. The content, the user requests, is already retrieved
 with the user session and its the content (or the acl's on the content)
 who define if the user is allowed to access something.
 The script should always be executable (and I'm speaking of execution
 not reading, writing etc.) for any user. This also matches the current
 handling for scripts which are not stored in the repository like the
 servlets or scripts contained in bundle resources.
 
 Therefore I suggest to change the script resolution to use the admin
 session.
 
 Btw, this would also make caching the script resolution easier as the
 current approach requires the caching of the script resolution to be a
 per user cache. With the changes from above the cache can be global.
 
 2) Resource events
 
 We need to implement https://issues.apache.org/jira/browse/SLING-944 and
 some extension of this to properly update the cache if scripts are
 changed, added removed. As scripts can be coming from any data source
 (jcr, file system, bundle, database etc.) we need a generic mechanism here.
 For now I think we could start with OSGi events for
 - Resource added, removed, changed
 - Resource Provider added, removed
 
 WDYT?
 
 Carsten


-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Commented: (SLING-1007) Implement helper classloader

2009-06-18 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12721113#action_12721113
 ] 

Carsten Ziegeler commented on SLING-1007:
-

I'll start with the original issue and when we've finished that we can have a 
look at the other use case.

 Implement helper classloader
 

 Key: SLING-1007
 URL: https://issues.apache.org/jira/browse/SLING-1007
 Project: Sling
  Issue Type: New Feature
  Components: Commons OSGi
Affects Versions: Commons OSGi 2.0.4
Reporter: Felix Meschberger
Assignee: Carsten Ziegeler

 Currently we require the ScriptEngine[Factory] implementation bundles to 
 create bundle header
DynamicImport-Package: *
 to be able to access anything from the scripts since scripts are executed in 
 the class loader of the script engine bundle.
 The downside of running the scripts in the class loader of the script engine 
 bundle and using this global dynamic import are:
   * scripts see internal classes of the script engine bundle
   * scripts engine bundles must provide for classes for the scripts
   * whenever a wire has been created for a script and the providing bundle is 
 updated or uninstalled, the script engine bundle is also cycled.
 A better approach might be to provide a ClassLoader implementation which 
 behind the scenes manages access to packages exported by the bundles 
 installed in the system. I would imagine such an implementation along the 
 following lines:
   * Uses PackageAdmin to find a bundle providing the required class
   * Copes with bundles being updated or uninstalled
 Maybe coping with bundles being updated or uninstalled requires a two level 
 approach: a fronend class loader which answers the class and resource 
 accesses by relaying to a backend class loader. The back end classloader does 
 the hardwork of loading classes and resources by querying bundles. Whenever a 
 bundle is updated or uninstalled the backend classloader gets replaced. A 
 similar approach has been chosen for the Repository ClassLoader in the 
 jcr/classloader bundle.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Assigned: (SLING-1007) Implement helper classloader

2009-06-18 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler reassigned SLING-1007:
---

Assignee: Carsten Ziegeler

 Implement helper classloader
 

 Key: SLING-1007
 URL: https://issues.apache.org/jira/browse/SLING-1007
 Project: Sling
  Issue Type: New Feature
  Components: Commons OSGi
Affects Versions: Commons OSGi 2.0.4
Reporter: Felix Meschberger
Assignee: Carsten Ziegeler

 Currently we require the ScriptEngine[Factory] implementation bundles to 
 create bundle header
DynamicImport-Package: *
 to be able to access anything from the scripts since scripts are executed in 
 the class loader of the script engine bundle.
 The downside of running the scripts in the class loader of the script engine 
 bundle and using this global dynamic import are:
   * scripts see internal classes of the script engine bundle
   * scripts engine bundles must provide for classes for the scripts
   * whenever a wire has been created for a script and the providing bundle is 
 updated or uninstalled, the script engine bundle is also cycled.
 A better approach might be to provide a ClassLoader implementation which 
 behind the scenes manages access to packages exported by the bundles 
 installed in the system. I would imagine such an implementation along the 
 following lines:
   * Uses PackageAdmin to find a bundle providing the required class
   * Copes with bundles being updated or uninstalled
 Maybe coping with bundles being updated or uninstalled requires a two level 
 approach: a fronend class loader which answers the class and resource 
 accesses by relaying to a backend class loader. The back end classloader does 
 the hardwork of loading classes and resources by querying bundles. Whenever a 
 bundle is updated or uninstalled the backend classloader gets replaced. A 
 similar approach has been chosen for the Repository ClassLoader in the 
 jcr/classloader bundle.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (SLING-1011) Remove incubator from versions and remove disclaimer

2009-06-18 Thread Carsten Ziegeler (JIRA)
Remove incubator from versions and remove disclaimer


 Key: SLING-1011
 URL: https://issues.apache.org/jira/browse/SLING-1011
 Project: Sling
  Issue Type: Task
  Components: General
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (SLING-1011) Remove incubator from versions and remove disclaimer

2009-06-18 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-1011.
---

Resolution: Fixed

I've removed the DISCLAIMER files and disclaimer sections from the readme's.
Converted the svn locations
Converted the links to the website
Removed the -incubator from the module versions

 Remove incubator from versions and remove disclaimer
 

 Key: SLING-1011
 URL: https://issues.apache.org/jira/browse/SLING-1011
 Project: Sling
  Issue Type: Task
  Components: General
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: SLING-490, SystemStatus service discussion

2009-06-16 Thread Carsten Ziegeler
Felix Meschberger wrote:

 
 Yes, of course. ConfigAdmin is *not* required for DS. 
Ah yes, you're right (of course) - I was mistaken as the import for the
config admin are not optional in the *pom* of the scr implementation; I
didn't see that it actually exports and imports them. :)

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-16 Thread Carsten Ziegeler
Felix Meschberger wrote:
 Hi,
 
 Replying to this message, but my response applies to the complete thread.
 
 Let's step back a second and look at what we really need to know to be
 able to decide the system is ready or not. And who is responsible to
 provide this knowledge.
 
 
 (1) The most basic criterion for the system to be ready is the available
 of certain services.
 
 
 (2) There must be away to specify which services are required.
 
 
 Now, this is very simple and easy: As Alex Klimetschek proposes we are
 using ConfigurationAdmin for this. Each service can be described by a
 few properties:
 
(a) Service Name
(b) Service Filter
(c) Number of services
 
 The configuration of required services is a multivalued string property
 of the format
 
 [ number ] ( serviceName | serviceFilter )
 
 where
 
 numberis an optional positive number of required services
 serviceName   is the name of a service interface
 serviceFilter is a service filter according to 3.2.6, Filter Syntax
 
 The system status service itself :
 
* requires the ConfigAdmin service to be present
* registers as a ManagedService to receive the configuration
 
 Thats basically all. Very simple, very lean.

I still hae my problem with storing the config in the config admin.
1) How does it get there?
2) What happens between the time when a) the main servlet and the config
admin are started but the config from 1) isn't there?

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-16 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:

 
 Again, I think using sling.properties to define where this info comes
 from is the most flexible way, going back to yesterday's example from
 sling.properties:
 
   # Values like myServiceA uses the syntax proposed by Felix
   sling.readyness.check.1 = services:myServiceA, myServiceB
 
   # jcr: means look in the repository for additional definitions
   sling.readyness.check.2 = jcr:/system/sling/status
 
   # osgi:ConfigAdmin means use that service to get additional required
   # services definition. If not present, the ConfigAdmin service is not
   # required (for super-lean Sling instances)
   sling.readyness.check.3 = osgi:ConfigAdmin:nameOfTheConfigThatHoldsThisInfo
 
 This is easy to implement, flexible, and implementing it is probably
 faster than spending ages discussing exactly which options we allow
 ;-)
 
+1 for using sling.properties :) and I think we should just implement the
service check for now - just implementing one option which we need seems
to be
even faster than implementing more options :)

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-16 Thread Carsten Ziegeler
Felix Meschberger wrote:
 Hi,
 
 Well, *if* we want to check the system state, that check should be done
 continuously during the whole lifetime otherwise it makes no sense,
 honestly:
 
+1


Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-16 Thread Carsten Ziegeler
Carsten Ziegeler wrote:
 Bertrand Delacretaz wrote:
 
 Again, I think using sling.properties to define where this info comes
 from is the most flexible way, going back to yesterday's example from
 sling.properties:

   # Values like myServiceA uses the syntax proposed by Felix
   sling.readyness.check.1 = services:myServiceA, myServiceB

   # jcr: means look in the repository for additional definitions
   sling.readyness.check.2 = jcr:/system/sling/status

   # osgi:ConfigAdmin means use that service to get additional required
   # services definition. If not present, the ConfigAdmin service is not
   # required (for super-lean Sling instances)
   sling.readyness.check.3 = osgi:ConfigAdmin:nameOfTheConfigThatHoldsThisInfo

 This is easy to implement, flexible, and implementing it is probably
 faster than spending ages discussing exactly which options we allow
 ;-)

 +1 for using sling.properties :) and I think we should just implement the
 service check for now - just implementing one option which we need seems
 to be
 even faster than implementing more options :)
 
Rethinking the whole stuff, maybe it's better to not use the
sling.properties :)
and use a configuration provided by the config admin.

With jcr install, file install, and the sling launchpad we have a
provisioning system that installs bundles and configurations at the same
time. Therefore when the sling engine gets installed, the configuration
can already be there. If now the sling main servlet requires the
configuration, we're done and have a more portable solution.

So I withdraw my +1 for properties :) and give +1 for config admin!

But still, checking for services should be sufficient.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-16 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 Not really at the same time, IMHO the sequence is, in a typical
 Sling launchpad setup:
 
 1. OSGi framework starts
 2. Sling engine bundle starts (few dependencies, so starts early) -
 HTTP requests are accepted now, or soon
 3. SlingRepository becomes available (usally later- more dependencies
 and heavier)
 4. jcrinstall observer requires SlingRepository, so starts even later
 5. jcrinstall configs might take 1-2 seconds to be activated, due to
 some internal polling cycles
 
 So, if a request comes in afer step 2, and at step 5. some additional
 SystemStatus configs would have come in, we have a problem.
Yes, sure but if you think of the initial provisioning, where jcr
install (or any other install routine) installs the sling bundles and
adds the config. From there one everything is fine and before that
nothing is available anyway. You only ran into the above if sling is
already installed and then jcr install should provide the config. But as
long as the config is installed at the same point of time as the status
check service we're fine. And that should be easy.

 
 What's wrong with that? You say no, we must use ConfigAdmin but
 what's the justification for this? The above is more flexible and
 copes with different use cases for the Sling engine, including not
 having a repository and not having a ConfigAdmin service.
 
 ...So I withdraw my +1 for properties :) and give +1 for config admin!..
 
 I'm starting to think this thread is a plot to make me lose the few
 hair that I have left ;-)
 
Ah, damn, you recognized this too early...now you spoiled all the fun :(
We have a bet running how long it will take you to reach that state :)

Ok, seriously, sling.properties are problematic as they are only
available if sling is run with the launchpad. If you run sling inside
equinox, spring server etc. the properties are not available! When I
gave my +1 for the properties I didn't thought if this myself. But then
during the whole discussion I realized this :) So we should really use a
standard way that works in every installation.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-16 Thread Carsten Ziegeler
Bertrand Delacretaz wrote
 -Bertrnad
 
Now you know why people sometimes forget about the 'r' :)

Ok, just as a heads up, I installed the latest engine in my applications
and guess what happens? It doesn't work anymore as I did not install the
system status service bundle! We should really make the engine work
without any extra bundle as soon as possible.

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-15 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 On Mon, Jun 15, 2009 at 1:00 PM, Alexander Klimetschekaklim...@day.com 
 wrote:
 On Mon, Jun 15, 2009 at 11:31 AM, Bertrand
 Delacretazbdelacre...@apache.org wrote:
 1. The goal is to return a 503 status until the system is ready to
 process requests.

 2. Defining readyness is hard due to the dynamic nature of OSGi and
 especially Declarative Services. My idea is to use scripts found under
 /system/sling/status in the JCR repository to let programmers define
 what they require for their system to be ready.
 Why not put a list under /system/sling/status/requiredBundles and
 requiredServices with the names of the bundles and services that
 should be running in order to consider the system to be ready?
 
 Good idea, and it would allow extensions for use cases that go beyond
 just testing the presence of a given bundle or service: one could
 create a service S that checks the required preconditions before
 coming up (using code, scripts, whatever), and configure S as a
 requiredService.
 
 ...That way it
 a) only depends on the OSGi Framework API
 b) could be implemented right inside the engine, introducing none of
 the chicken and egg problems.
 c) it also allows you to define more than just scripting engines as
 dependencies for your system ready state
 
 Correct, though my original proposal also allowed for more than
 scripting engines. The idea was that readyness scripts would check for
 bundles and services, and maybe run some test code.
 
 But your proposal seems to cover all of that.
 
 What do others think?
 
I'm not sure :)

The stuff Alex suggests is similar to the idea we discussed some time
ago when we first thought about this.
If we use some kind of configuration for this check, the questions is
when is this configuration available? If first the engine starts, the
check is performed (with an empty or minimal configuration) you have
a system which is running, then at a later point the config kicks in
and your system is not ready anymore until the required stuff is running.
This might be nitpicking but the system might appear as ready although
its not.

As a general note, checking if the system is ready might increase the
startup time as you're system is only responding if all required
services are really available. There might be cases where this is not
necessary.

Regardless of what we do, I think that the ready check and the
configuration for this check must form a single unit. Therefore
additional configuration and extra bundles are not a good solution in my
opinion. To be fair, I have not good idea either atm.

But let's add some other requirements :) The stuff must work without a
repository (again my use case for portlets do not have a repository) and
it should work without third bundles like config admin etc.
Therefore a check like Alex suggest above which solely relies on the
OSGI API seems to be good start; the remaining question however is the
configuration therefore.
Now we could do this by requiring people to repackage the engine bundle
and adding a configuration as a resource to the bundle. The default
engine has zero checks. This would solve the provisioning of the config
but creates new problems when it comes to updates of the bundle etc.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-15 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 
 For example:
 
 sling.readyness.check = jcr:/system/sling/status
 
 to indicate that the readyness check must use JCR nodes under that
 path to configure itself, like Alex suggests. Absence of that property
 means no readyness check, and we can later define prefixes other than
 jcr for alternate mechanisms, if needed.
 
What about merging this with Alex idea?
We define properties for required bundles to be available and another
one for the services.
The sling main servlet (or some helper service) reads the props,
and acts accordingly. This keeps everything in one single bundle and
does not require any additional stuff.

Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-15 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 On Mon, Jun 15, 2009 at 3:18 PM, Carsten Ziegelercziege...@apache.org wrote:
 Bertrand Delacretaz wrote:
 sling.readyness.check = jcr:/system/sling/status

 to indicate that the readyness check must use JCR nodes under that
 path to configure itself, like Alex suggests. Absence of that property
 means no readyness check, and we can later define prefixes other than
 jcr for alternate mechanisms, if needed.

 What about merging this with Alex idea?
 We define properties for required bundles to be available and another
 one for the services.
 The sling main servlet (or some helper service) reads the props,
 and acts accordingly. This keeps everything in one single bundle and
 does not require any additional stuff.
 
 There's one additional requirement ;-)
 
 It should be easy for developers to augment this configuration when
 installing additional services, without having to restart Sling.
 
 When adding a bundle that provides a Foo service, for example, I can
 easily add a node under /system/sling/status, but modifying
 sling.properties is harder, and less visible.
 
 We can still probably combine those ideas, maybe something like:
 
 sling.readyness.check = jcr:/system/sling/status
 sling.readyness.check.1 = bundles:mybundleA, mybundleB
 sling.readyness.check.2 = services:myServiceA, myServiceB
 
 in sling.properties. The SystemStatus service should then indicate, in
 log messages, where it gets the actual list of things to check.
 
Hmm, not sure if I really understand this requirement :)
You have a running system which is ready. Then you install
*additional* bundles and the system might be in the state not ready
after adding additional stuff? Sounds a little bit strange to me.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-15 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 On Mon, Jun 15, 2009 at 3:37 PM, Carsten Ziegelercziege...@apache.org wrote:
 ... There's one additional requirement ;-)

 It should be easy for developers to augment this configuration when
 installing additional services, without having to restart Sling.

 When adding a bundle that provides a Foo service, for example, I can
 easily add a node under /system/sling/status, but modifying
 sling.properties is harder, and less visible.

 We can still probably combine those ideas, maybe something like:

 sling.readyness.check = jcr:/system/sling/status
 sling.readyness.check.1 = bundles:mybundleA, mybundleB
 sling.readyness.check.2 = services:myServiceA, myServiceB

 in sling.properties. The SystemStatus service should then indicate, in
 log messages, where it gets the actual list of things to check.

 Hmm, not sure if I really understand this requirement :)
 You have a running system which is ready. Then you install
 *additional* bundles and the system might be in the state not ready
 after adding additional stuff? Sounds a little bit strange to me
 
 It's for the next startup - as I have added the Foo service, I want
 the system to wait for it to be ready on the next startup.
 
Hmm, but that's still strange - without a restart the check is not enforced
but with a restart it is? I think if this is the desired behaviour
changing the properties is appropriate.

On a different thing, OSGi is all about packages and services (bundles
are just the way of bundling them - more or less). As services are based
on interfaces and therefore packages, it should be enough to just check
for the availability of services.

Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-15 Thread Carsten Ziegeler
Alexander Klimetschek wrote:
 On Mon, Jun 15, 2009 at 3:25 PM, Bertrand
 Delacretazbdelacre...@apache.org wrote:
 On Mon, Jun 15, 2009 at 3:18 PM, Carsten Ziegelercziege...@apache.org 
 wrote:
 Bertrand Delacretaz wrote:
 sling.readyness.check = jcr:/system/sling/status

 to indicate that the readyness check must use JCR nodes under that
 path to configure itself, like Alex suggests. Absence of that property
 means no readyness check, and we can later define prefixes other than
 jcr for alternate mechanisms, if needed.

 What about merging this with Alex idea?
 We define properties for required bundles to be available and another
 one for the services.
 The sling main servlet (or some helper service) reads the props,
 and acts accordingly. This keeps everything in one single bundle and
 does not require any additional stuff.
 There's one additional requirement ;-)

 It should be easy for developers to augment this configuration when
 installing additional services, without having to restart Sling.

 When adding a bundle that provides a Foo service, for example, I can
 easily add a node under /system/sling/status, but modifying
 sling.properties is harder, and less visible.

 We can still probably combine those ideas, maybe something like:

 sling.readyness.check = jcr:/system/sling/status
 sling.readyness.check.1 = bundles:mybundleA, mybundleB
 sling.readyness.check.2 = services:myServiceA, myServiceB

 in sling.properties. The SystemStatus service should then indicate, in
 log messages, where it gets the actual list of things to check.
 
 Why not use OSGi properties, as suggested? They are persisted, so
 after the next restart they will be applied (these settings only makes
 sense after restarts, right?), and people can choose whether they will
 use the OSGi config API, Felix webconsole or config nodes in the JCR
 to change the settings (in order of availability).
 
Hmm not sure what you exactly mean by OSGi properties?
If you mean configurations managed by the config admin, you have the
problem that they might either not be delivered at all or might be
delivered at the wrong point of time.

Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-15 Thread Carsten Ziegeler
Alexander Klimetschek wrote:
 
 Could you elaborate? Does this mean the SlingMainServlet (or the
 SlingStatus service if we separate it) could be activated without the
 configuration available? I couldn't believe that as it sounds like it
 would lead to lots of problems when services don't get their
 configuration...
 
Now, this depends on how this is done. We're using the declarative
services in Sling, so when DS is starting the sling main servlet it
checks for a configuration to provide it to the service. If it is there,
fine.
However at this point of time, the ConfigAdmin service might not have
been startet yet, or if for example the configuration is installed
using jcrinstall, jcr install might kick in later, pass the config to
the config admin and then the servlet is restarted with the config.
Therefore there might be a time, where the servlet is active without
having the config you want it to have.
Of course, you can handle this case by taking care of it - which is with
DS a little bit difficult or...as soon as DS 1.1 is available (which
should be very shortly), you have the possibility to require a service
to have a configuration stored in ConfigAdmin. So the sling main servlet
would not start without it. However obviously this has another draw back
as someone has to take care that the config is there.

Therefore, the easiest thing for me seems to be the sling properties.
They're guaranteed to be delivered to the sling main servlet as soon as
the service can be started. And the props do not change over time.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-15 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 
 The ideal case would be for the system to go from ready to not
 ready when you install an additional bundle, but that's harder to
 implement so I'd like to keep that for later, if needed.
 
Hmm, no I don't think so - it should not be up to the bundle to define
that it is required. it's the app administrator deciding this - so the
information if a bundle/package/service is required should not come out
of a bundle.

 About properties vs. nodes...the initial content loading mechanism
 seems perfectly suited to add the require nodes when a bundle is
 installed, and remove them when it goes away (IIRC it does that), so
 that sounds like the simplest thing to do for user bundles.
Yeah, but that only would work if your sling installation has a
repository :)

Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: SLING-490, SystemStatus service discussion

2009-06-15 Thread Carsten Ziegeler
Alexander Klimetschek wrote:
 On Mon, Jun 15, 2009 at 5:10 PM, Carsten Ziegelercziege...@apache.org wrote:
 Now, this depends on how this is done. We're using the declarative
 services in Sling, so when DS is starting the sling main servlet it
 checks for a configuration to provide it to the service. If it is there,
 fine.
 However at this point of time, the ConfigAdmin service might not have
 been startet yet
 
 Really? Other services are started albeit the presence of the
 (non-started) ConfigAdmin? That means services are started and then
 stopped again once the configadmin is running and they get restarted
 with their configuration?
Yes, I think so - although this is more theory; but it can happen, and I
guess it depends how the SCR is implemented; if it requires a config
admin, the config admin is of course started first. I think this is the
case for the Felix implementation.

 
 Does jcr install re-set all the values on startup? I thought it would
 behave like this:
 
 1) system running, no system-ready config present
 2) configure system-ready service via a config node in JCR
 3) system-ready service is restarted, config is applied and config is
 persisted by Apache Felix
Yepp.

 3) this has no effect on the running system (system-ready is already
 true, needs a global state variable)
 4) restart
 5) SlingMainServlet / system-ready service are started with the
 persisted config (here we have a list of deps to check), system-ready
 = false
 6) waits for the deps to be running
 7) finally after some time, system-ready = true
Yes, but this means that the whole thing doesn't work without
restarting. So on a first start the system pretents to be ready
immediately which is imho wrong. And if jcr install is not started for
whatever reason, the system remains ready regardless how often you
restart it.
As soon as we have a dependency between the service checking and the
configuration what to check, we might ran into problems. As soon as the
configuration is not available the system is ready.

 So the sling main servlet
 would not start without it. However obviously this has another draw back
 as someone has to take care that the config is there.

 Therefore, the easiest thing for me seems to be the sling properties.
 They're guaranteed to be delivered to the sling main servlet as soon as
 the service can be started. And the props do not change over time.
 
 Would be working as well, but they are not so easy to find, modify and deploy.
Hmm I could argue that using a notepad to edit a properties file is as
easy as using some jcr explorer to find/edit nodes in the repository. In
the first case you have to know the location of the sling.properties
file in the second case you have to know the path in the repository. So
there is no difference about the required knowledge. And editing is well
a matter of taste although I still think that using notepad is more
comfortable than using one of the jcr explorers.

But again, storing the system check in the repository doesn't work in
the general case. If the repository is not available for whatever reason
the system check succeeds and that's plainly something you don't want.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Commented: (SLING-490) SlingStatusServlet - find out whether a Sling application is ready after startup

2009-06-14 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12719310#action_12719310
 ] 

Carsten Ziegeler commented on SLING-490:


I'm not very happy about this tight coupling - we require another bundle just 
to check if the system is ready. So even if all really required bundles are 
available but for any reason the system status bundle is not available, the 
system is not running anymore. Sounds a little bit strange to me.
In addition I'm using a minimal setup of Sling (without any scripting support - 
for the portlet environment), so whatever we do these environments should be 
supported as well.

 SlingStatusServlet - find out whether a Sling application is ready after 
 startup
 

 Key: SLING-490
 URL: https://issues.apache.org/jira/browse/SLING-490
 Project: Sling
  Issue Type: Improvement
  Components: Engine
Reporter: Bertrand Delacretaz
Priority: Minor

 Being discussed in http://markmail.org/message/jtdnqneoudxbmb6k

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Make our first release available on central Maven repo? (was: Problems with dependency paths)

2009-06-12 Thread Carsten Ziegeler
Felix Meschberger wrote:
 Hi,
 
 Yes at the time of our first release poddlings had to deploy to the
 incubator repository at
 
http://people.apache.org/repo/m2-incubating-repository
 
 And, yes, I agree we should probably deploy this to central, now.
 Central being managed through the Nexus repository nowadays, it would
 probably be easiest to see how to deploy to there.
 
 My first try to would be to checkout the Sling 3 tag and deploy it to
 repository.apache.org setting the altDeploymentRepository property
 appropriately.
 
 Carsten, would that be correct ?
 
Yes, that should do the trick. The tag has externals to the released
modules.

Good idea!

Carsten


-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Assigned: (SLING-987) Jobs/Events are purged in an uncontrolled way

2009-06-11 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler reassigned SLING-987:
--

Assignee: Carsten Ziegeler

 Jobs/Events are purged in an uncontrolled way
 -

 Key: SLING-987
 URL: https://issues.apache.org/jira/browse/SLING-987
 Project: Sling
  Issue Type: Bug
  Components: Event
Reporter: Philipp Koch
Assignee: Carsten Ziegeler
Priority: Blocker

 We already had this problem for pretty big event/job queues once (a month ago 
 or so. could not find a jira issue) that the job in the queue got purged 
 because the job acknowledge timed out for that job (by default the 
 job/event is purged after 3 timeouts). the above mentioned fix fixed the 
 issue quite well. it appeared now again when running such big queues on very 
 fast boxes: 
 9.05.2009 13:00:07.904 *INFO* [pool-4-thread-1] 
 org.apache.sling.event.impl.JobEventHandler No acknowledge received for job 
 org.osgi.service.event.Event [topic=com/day/cq/workflow/job] stored at 
 /var/eventing/jobs/com.day.cq.workflow.job/Job5a50f993-8f36-4eae-81d5-3124ca455bf5.
  Requeueing job.
 the funny thing is now that the timeout does not happen after hours but 
 already after 10 mins. there are no (debug) log entries that would point to 
 some event handler problems...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (SLING-987) Jobs/Events are purged in an uncontrolled way

2009-06-11 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler updated SLING-987:
---

Affects Version/s: Extensions Event 2.0.4
Fix Version/s: Extensions Event 2.0.6

It seems that this problem is caused by massive job events being sent from the 
event admin - the current thread pool used for the eventing has a maximum queue 
size of 50; as soon as this limit is reached
the request for putting something into the queue is blocked until a place gets 
available inside the queue.

 Jobs/Events are purged in an uncontrolled way
 -

 Key: SLING-987
 URL: https://issues.apache.org/jira/browse/SLING-987
 Project: Sling
  Issue Type: Bug
  Components: Event
Affects Versions: Extensions Event 2.0.4
Reporter: Philipp Koch
Assignee: Carsten Ziegeler
Priority: Blocker
 Fix For: Extensions Event 2.0.6


 We already had this problem for pretty big event/job queues once (a month ago 
 or so. could not find a jira issue) that the job in the queue got purged 
 because the job acknowledge timed out for that job (by default the 
 job/event is purged after 3 timeouts). the above mentioned fix fixed the 
 issue quite well. it appeared now again when running such big queues on very 
 fast boxes: 
 9.05.2009 13:00:07.904 *INFO* [pool-4-thread-1] 
 org.apache.sling.event.impl.JobEventHandler No acknowledge received for job 
 org.osgi.service.event.Event [topic=com/day/cq/workflow/job] stored at 
 /var/eventing/jobs/com.day.cq.workflow.job/Job5a50f993-8f36-4eae-81d5-3124ca455bf5.
  Requeueing job.
 the funny thing is now that the timeout does not happen after hours but 
 already after 10 mins. there are no (debug) log entries that would point to 
 some event handler problems...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (SLING-987) Jobs/Events are purged in an uncontrolled way

2009-06-11 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12718372#action_12718372
 ] 

Carsten Ziegeler commented on SLING-987:


I've set the queue size to unlimited in Revision 783711

 Jobs/Events are purged in an uncontrolled way
 -

 Key: SLING-987
 URL: https://issues.apache.org/jira/browse/SLING-987
 Project: Sling
  Issue Type: Bug
  Components: Event
Affects Versions: Extensions Event 2.0.4
Reporter: Philipp Koch
Assignee: Carsten Ziegeler
Priority: Blocker
 Fix For: Extensions Event 2.0.6


 We already had this problem for pretty big event/job queues once (a month ago 
 or so. could not find a jira issue) that the job in the queue got purged 
 because the job acknowledge timed out for that job (by default the 
 job/event is purged after 3 timeouts). the above mentioned fix fixed the 
 issue quite well. it appeared now again when running such big queues on very 
 fast boxes: 
 9.05.2009 13:00:07.904 *INFO* [pool-4-thread-1] 
 org.apache.sling.event.impl.JobEventHandler No acknowledge received for job 
 org.osgi.service.event.Event [topic=com/day/cq/workflow/job] stored at 
 /var/eventing/jobs/com.day.cq.workflow.job/Job5a50f993-8f36-4eae-81d5-3124ca455bf5.
  Requeueing job.
 the funny thing is now that the timeout does not happen after hours but 
 already after 10 mins. there are no (debug) log entries that would point to 
 some event handler problems...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (SLING-1002) Reduce memory consumption and improve startup behaviour of the job handler

2009-06-11 Thread Carsten Ziegeler (JIRA)
Reduce memory consumption and improve startup behaviour of the job handler
--

 Key: SLING-1002
 URL: https://issues.apache.org/jira/browse/SLING-1002
 Project: Sling
  Issue Type: Improvement
  Components: Event
Affects Versions: Extensions Event 2.0.4
Reporter: Carsten Ziegeler


Currently the job handler holds all received jobs in memory until the job has 
been processed completly. In addition on startup all unprocessed jobs are 
loaded from the repository.
If for example thousands of jobs are unprocessed in the repository and a new 
instance is started (or restarted) all these events are first load into memory 
and then put into the queue.
It would be better to have a fixed max size for the in memory queue - and check 
the repository from time to time for unprocessed jobs.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (SLING-917) Use repository.apache.org for deployments

2009-06-10 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-917?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12718001#action_12718001
 ] 

Carsten Ziegeler commented on SLING-917:


Added a profile for rat and the ianal plugin to check legal files in revision 
783270

 Use repository.apache.org for deployments
 -

 Key: SLING-917
 URL: https://issues.apache.org/jira/browse/SLING-917
 Project: Sling
  Issue Type: Task
  Components: General
Affects Versions: Parent 5
Reporter: Bertrand Delacretaz
 Fix For: Parent 6

 Attachments: SLING-917.patch


 See INFRA-1896 for getting access to repository.apache.org .
 Once that's done, we'll need to configure http://vmbuild.apache.org to push 
 snapshots there.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Caching for ResourceResolver.map()

2009-06-10 Thread Carsten Ziegeler
Jukka Zitting wrote:
 Hi,
 
 I have a case where we're doing lots of reverse mappings with the
 ResourceResolver.map() method and all the repository accesses caused
 by that are hurting performance. In general I'm not a big fan of extra
 caching, but in this case it seems like the only easy way to solve the
 problem.
 
 Would it make sense to embed such caching into JcrResourceResolver2 or
 should it rather be a separate add-on layer? The former approach would
 avoid complexities with the HttpServletRequest argument affecting the
 caching, while the latter would make it easier to only apply the
 caching in limited cases where it's truly needed (though at the cost
 of the cache not being global).
 
While caching in the resource resolver might be a good idea anyway,
perhaps caching one layer above might give even more benefit. Instead
of querying the resource resolver a lot, caching above the resolver
would even avoid querying the resolver.

Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: Moving rewriter to contrib

2009-06-10 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 Hi Carsten,
 
 On Tue, Jun 9, 2009 at 2:17 PM, Carsten Ziegelercziege...@apache.org wrote:
 ...I'm planning to move this from the whiteboard to the contrib section.
 If noone objects, I'll do this in the next days
 
 In principle I'm all for it, but
 

 http://svn.apache.org/repos/asf/incubator/sling/whiteboard/rewriter/src/test
 
 returns a 404 ;-)
:)

 
 Can I haz tests? Or maybe a simple smoke-test-the-whole-thing test in
 launchpad/testing is easier?
I guess testing this in launchpad should be easier.

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: Continuum or Hudson?

2009-06-09 Thread Carsten Ziegeler
I don't care which one we use - as long as it is working and not
spamming the mailing list :) (like the Felix Bamboo does as it sends a
mail with each build which is triggered by each commit).
And I agree to just use one server :)

As people here seem to prefer Hudson, lets use that one.

Carsten

Bertrand Delacretaz wrote:
 Hi,
 
 We currently have two continuous integration setups for Sling:
 
 Continuum:
 http://vmbuild.apache.org/continuum/projectGroupSummary.action?projectGroupId=53
 
 Hudson:
 http://hudson.zones.apache.org/hudson/view/Sling/
 
 I don't have much experience with Continuum, but every time I try to
 do something on vmbuild it's very slow and painful. Seems like that
 box is overburdened, and the UI is not very easy to use, IMHO.
 
 The Hudson setup, OTOH, took me only about an hour of work from
 scratch, with no previous knowledge of Hudson, and has been running
 smoothly ever since. Including automatically picking up changes in
 parent POMs when new modules are created or whem modules are moved,
 which is very convenient. The overall experience has been much better
 for me.
 
 I don't think we need two CI servers - what do people think of
 dropping Continuum, and keeping only Hudson?
 
 -Bertrand
 


-- 
Carsten Ziegeler
cziege...@apache.org


Moving rewriter to contrib

2009-06-09 Thread Carsten Ziegeler
Hi,

I've added a new bundle in our whiteboard: the rewriter.
The rewriter bundle allows to rewrite the output from Sling. It is
possible to configure a pipeline (based on SAX events) which processes
the whole output.
This pipeline can be used for various use cases, like checking the links
in the content, adding stuff, using xslt to generate different output etc.

I'm planning to move this from the whiteboard to the contrib section.
If noone objects, I'll do this in the next days.

WDYT?

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: Moving rewriter to contrib

2009-06-09 Thread Carsten Ziegeler
Torgeir Veimo wrote:
 2009/6/9 Carsten Ziegeler cziege...@apache.org:
 I've added a new bundle in our whiteboard: the rewriter.
 The rewriter bundle allows to rewrite the output from Sling. It is
 possible to configure a pipeline (based on SAX events) which processes
 the whole output.
 This pipeline can be used for various use cases, like checking the links
 in the content, adding stuff, using xslt to generate different output etc.

 I'm planning to move this from the whiteboard to the contrib section.
 If noone objects, I'll do this in the next days.
 
 Could it possibly be used to allow page decoration by configuration?
 Eg. add a header / footer to all pages at url /a/b/c?
 
Yes, pipelines are configured in the repository. You can configure as
many as you want. The configured pipelines are tried to be matched
against the current request. One criteria is the content type of the
page, another one is the path (maybe we need to extend this for other
use cases).
So you can configure an own pipeline for all pages at /a/b/c which adds
header and footer through a transformer. This should be fairly easy.

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Updated: (SLING-994) DefaultGetServlet shoud not use sendError when response is already committed

2009-06-09 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler updated SLING-994:
---

Affects Version/s: (was: Scripting JSP-Taglib 2.0.4)
   Servlets Get 2.0.4

 DefaultGetServlet shoud not use sendError when response is already committed
 

 Key: SLING-994
 URL: https://issues.apache.org/jira/browse/SLING-994
 Project: Sling
  Issue Type: Bug
  Components: Servlets Get
Affects Versions: Servlets Get 2.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Servlets Get 2.0.6


 If no renderer servlet is found in the DefaultGetServlet, it calls 
 sendError(). If this is an included request, sendError usually fails as the 
 response is already committed. In this case it's hard to detect the 
 underlying problem.
 Therefore I suggest to check if this is an included request and in this case 
 throw a ServletException
 I'm not in favour of checking for response isCommitted as this is more 
 unpredictable

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (SLING-994) DefaultGetServlet shoud not use sendError when response is already committed

2009-06-09 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-994.
--

Resolution: Fixed

If the request is included, do not use sendError but throw an exception if no 
renderer is found - changed in Revision 783017

 DefaultGetServlet shoud not use sendError when response is already committed
 

 Key: SLING-994
 URL: https://issues.apache.org/jira/browse/SLING-994
 Project: Sling
  Issue Type: Bug
  Components: Servlets Get
Affects Versions: Servlets Get 2.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Servlets Get 2.0.6


 If no renderer servlet is found in the DefaultGetServlet, it calls 
 sendError(). If this is an included request, sendError usually fails as the 
 response is already committed. In this case it's hard to detect the 
 underlying problem.
 Therefore I suggest to check if this is an included request and in this case 
 throw a ServletException
 I'm not in favour of checking for response isCommitted as this is more 
 unpredictable

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Sling configuration

2009-06-09 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 Hi,
 
 On Tue, Jun 9, 2009 at 1:58 PM, Claude
 Vedoviniclaude.vedov...@gmail.com wrote:
 Thus given the system poroperty sling.home.prefix is set to
 /var/sling. In this case the default sling.home for the /sling/i1 web
 app would be /var/sling/_sling_i1.

 Would such a prefix suit your needs ?
 That would certainly do, but why introduce a new concept?
 Let's say that the sling.home property in the sling.property file, the
 sling.home init-param in the web.xml and the sling.home system
 property override each others (in this order) and they all specify the
 root where each deployed sling servlet is going to create its
 workspace.
 
 I agree that having a single sling.home property would be simpler, so why not
 
   sling.home = ./sling/{1}
 
 by default, where {1} is replaced by the (suitably escaped)
 SlingServlet's context path?
 
 This would make things fully configurable, while allowing multiple
 instances of the SlingServlet to each have their own storage folder.
 
I think this opens a door for misconfigurations. What happens if someone
forgets
about this {1} when configuring the system property and there are
several sling instances?
I think using the prefix as Felix suggested is much easier.

Regards
Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: Openid integration for Sling 3

2009-06-04 Thread Carsten Ziegeler
Tanmay Barman wrote:
 Hi all,
 I was trying to integrate openid in my project that is based on sling 3. I
 was trying with openid4java api. But I am having the following error
 
 java.lang.NoClassDefFoundError:
 org/apache/commons/httpclient/methods/RequestEntity
Hi,

the class in question has been added to httpclient in version 3.0, so
you need to add commons httpclient 3.1 or similar to your bundles.

Regards
Carsten

   at 
 org.apache.sling.samples.jcrdev.servlets.SampleConsumerServlet.authRequest(SampleConsumerServlet.java:93)
   at 
 org.apache.sling.samples.jcrdev.servlets.SampleConsumerServlet.doPost(SampleConsumerServlet.java:67)
   at 
 org.apache.sling.samples.jcrdev.servlets.SampleConsumerServlet.doGet(SampleConsumerServlet.java:59)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
   at 
 org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:462)
   at 
 org.apache.sling.engine.impl.SlingMainServlet.processRequest(SlingMainServlet.java:419)
   at 
 org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
   at 
 org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
   at 
 org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
   at 
 org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
   at 
 org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:273)
   at 
 org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:171)
   at 
 org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
   at 
 org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
   at 
 org.ops4j.pax.web.service.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:51)
   at 
 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
   at 
 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
   at 
 org.ops4j.pax.web.service.internal.HttpServiceContext.handle(HttpServiceContext.java:87)
   at 
 org.ops4j.pax.web.service.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:63)
   at 
 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
   at org.mortbay.jetty.Server.handle(Server.java:324)
   at 
 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
   at 
 org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
   at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
   at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
   at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
   at 
 org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
   at 
 org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
 
 I have also included commons-httpclient-2.0.2.jar in my felix
 environment. If anyone has some idea about that problem please let me
 know.
 
 
 Regards,
 
 Tanmay
 


-- 
Carsten Ziegeler
cziege...@apache.org


Re: Exposing DB Data

2009-06-04 Thread Carsten Ziegeler
Hi Andreas,

Andreas Kollegger wrote:
 Hi,
 
 I'd like to expose data stored in an external database as resource nodes
 in Sling. Access to the database is already wrapped in an OSGi service
 (MyService.java), and there is a Java model for the data (MyModel.java).
 From what I can understand from reading the examples, searching the
 mailing list and looking at documentation, the steps to integrate with
 Sling could be:
 
 1. MyResourceProvider implements ResourceProvider
 - bridge to MyService for getting data rows
 - provider.roots = /my/resources/
 - sub-path of root used to select row in table
 (/my/resources/3245.html retrieves row index 3245 as Resource)
 - listChildren() of root would list all database rows (probably add
 query params to limit number of rows returned)
 - getResource() returns a MyResourceWrapper
 
 2. MyResourceWrapper implements Resource
 - wraps MyModel
 - resourceType = my/Model
 - adaptable to javax.jcr.Node (exposing columns as node properties)
it depends on your application (code) but I think making your resource
adaptable to ValueMap (jcr resources are adaptable to value map as well)
is more generic. It allows you to access different kind of resources
(backed by jcr, backed by your db provider) in a unique way. And the
ValueMap interface is easier to use than jcr Node :)

 That would take care of read access to the data. I can then easily add
 scripts to render the data as appropriate.
Sounds good to me :)

 
 Write access is a little less clear to me. I'd like to have a servlet
 which handles json, xml or form POSTs for anything submitted to the path
 of my ResourceProvider. I think I need to do this:
 
 1. MyResourceTypeProvider implements JcrResourceTypeProvider
 - provider.roots = /my/resources
 - any node below the root is returned as resourceType my/Model,
 otherwise return null
 
 2. MyPostServlet extends SlingAllMethodsServlet
 - registered to handle nodes of type my/Model
 - override doPost() to handle data based on content-type
 - creates new database entries using MyService
 
 That would allow the creation of a new database row by posting an
 appropriate json or xml file to /my/resource/*.html . For the form data,
 I'd conform to the SlingPostServlet interface to remain compatible with
 generic node editing.
 
 Am I thinking about this correctly, or is their a more appropriate
 Sling-Way?
Hmm not sure :) I guess your idea should work. Now, for updating db data
it should already work if your resource is adaptable to PersistableValueMap.

For adding/deleting resources something like the above might work. We
are thinking of extending the resource provider interface to get
better support for these use cases. This is one of the topics for the
near future, so maybe we should start thinking about this (again) now :)

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Created: (SLING-994) DefaultGetServlet shoud not use sendError when response is already committed

2009-06-03 Thread Carsten Ziegeler (JIRA)
DefaultGetServlet shoud not use sendError when response is already committed


 Key: SLING-994
 URL: https://issues.apache.org/jira/browse/SLING-994
 Project: Sling
  Issue Type: Bug
  Components: Servlets Get
Affects Versions: Scripting JSP-Taglib 2.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Servlets Get 2.0.6


If no renderer servlet is found in the DefaultGetServlet, it calls sendError(). 
If this is an included request, sendError usually fails as the response is 
already committed. In this case it's hard to detect the underlying problem.
Therefore I suggest to check if this is an included request and in this case 
throw a ServletException
I'm not in favour of checking for response isCommitted as this is more 
unpredictable

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Clarification for ResourceResolver#map

2009-06-02 Thread Carsten Ziegeler
Hi,

how is the ResourceResolver#map method supposed to work or more precisly
what input is expected. The javadoc mentions a resource path as input
parameter.
What is supposed to happen if the path contains a query string or an anchor?

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: Clarification for ResourceResolver#map

2009-06-02 Thread Carsten Ziegeler
Felix Meschberger wrote:
 Hi Carsten
 
 Carsten Ziegeler schrieb:
 how is the ResourceResolver#map method supposed to work or more precisly
 what input is expected. The javadoc mentions a resource path as input
 parameter.
 What is supposed to happen if the path contains a query string or an anchor?
 
 The query string is cut off IIRC before applying the mapping and
 appended again at the end. 
Great, I didn't find this in the code. Can you give me a pointer please? :)

Regards
Carsten

 The anchor is not currently handled, which
 might be considered a bug to be fixed.
 
 Actually the resource path may also contain appended selectors and
 extensions, which are also cut off at the beginning and reappended at
 the end.
 
 Regards
 Felix
 
 


-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Closed: (SLING-984) Registered quartz scheduler should use unique name

2009-05-25 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-984.
--

Resolution: Fixed

The scheduler is now registered with a unique run id.
In revision 778362 I've also updated to the latest available quartz version

 Registered quartz scheduler should use unique name
 --

 Key: SLING-984
 URL: https://issues.apache.org/jira/browse/SLING-984
 Project: Sling
  Issue Type: Bug
  Components: Commons Scheduler
Affects Versions: Commons Scheduler 2.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Commons Scheduler 2.0.6


 The registered quartz scheduler always uses the default scheduler name - 
 which results in problems if - for whatever reason - the deactivate method 
 (and therefore the unregistering) hasn't been called or if the bundle is 
 running more than once.
 Quartz does not allow to register the same scheduler name more than once. It 
 seems - although the library is embedded in the bundle - that this name is 
 registered somewhere outside of the bundle scope which therefore causes these 
 problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (SLING-979) Make Sling HTTP Servlet Request and Response Adaptable

2009-05-25 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-979.
--

   Resolution: Fixed
Fix Version/s: API 2.0.6

Thanks, looks great Felix, therefore closing this bug.

 Make Sling HTTP Servlet Request and Response Adaptable
 --

 Key: SLING-979
 URL: https://issues.apache.org/jira/browse/SLING-979
 Project: Sling
  Issue Type: New Feature
  Components: API
Affects Versions: API 2.0.4
Reporter: Carsten Ziegeler
Assignee: Felix Meschberger
 Fix For: API 2.0.6


 It would be nice if the SlingHttpServletRequest and SlingHttpServletResponse 
 would extend the Adaptable interface.
 Adapting the request/response is interesting in several situations. For 
 example, in a portlet environment the req/response could be easily adapted to 
 the Portlet request/response.
 Or if Sling is used in combination with another web framework the 
 request/response could be easily adapted to the corresponding objects of that 
 particular framework.
 Another use case is the rewriter (in the whiteboard currently) which makes 
 the response adaptable to a ContentHandler which receives SAX events. This 
 allows direct streaming of XML events from within Sling without the need of 
 creating an output stream and later on reparsing.
 As the request and response object are implemented using the wrappers, 
 extending the interface does not create problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: [DISCUSS] Use repository.a.o for deployments

2009-05-21 Thread Carsten Ziegeler
+1

The only problem I can see with this atm is the definition of the
assembly plugin which caused us a lot of trouble in the Pluto release.
Once the assembly plugin is configured in the parent pom, child poms are
not able to override it (this will be fixed in an upcomming release,
however today this can be a pain if you have different modules with
different assemblies).
But that's a minor issue we can sort out.

Regards
Carsten

Felix Meschberger wrote:
 Hi all,
 
 Lets pick up the repository.a.o discussion again now that we have
 released Sling 5.
 
 I have created a patch for our parent pom and attached it to the tracker
 issue SLING-917 [1]. The important changes:
 
* Use Apache parent pom 6
* Drop most of our apache-release profile
  (formerly known as release profile)
* Drop some plugins in the pluginManagement section
* Drop repositories and pluginRepositories sections
 
 Using the Nexus repository at repository.a.o has the massive advantage
 that the release process is drastically simplified: A release is
 uploaded to a staging repository where it can be reviewed for the vote.
 When the vote has passed, the staging repository can easily be deployed.
 
 There is a catch to this, though: The SVN password and GPG passphrase
 have to be stored in the Maven 2 settings file for the release process
 to work correctly. Starting with Maven 2.1 the SVN password file is said
 to be supported in encrypted form, but the GPG passphrase issue still
 remains.
 
 Weighing the advantages against the disadvantages, I tend to prefer the
 ease of deployment in this case.
 
 Next steps after discussion :
* Vote on this issue
* Have the repository.a.o team setup Sling for Nexus deployment
* Release the Sling parent pom 6
* Update references in projects to the new parent pom
* and so on ...
 
 WDYT ?
 
 Regards
 Felix
 
 [1] https://issues.apache.org/jira/browse/SLING-917
 


-- 
Carsten Ziegeler
cziege...@apache.org


Re: [VOTE] Release Apache Sling MIME type mapping support Version 2.1.0-incubator

2009-05-20 Thread Carsten Ziegeler
+1

Carsten


-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Created: (SLING-979) Make Sling HTTP Servlet Request and Response Adaptable

2009-05-20 Thread Carsten Ziegeler (JIRA)
Make Sling HTTP Servlet Request and Response Adaptable
--

 Key: SLING-979
 URL: https://issues.apache.org/jira/browse/SLING-979
 Project: Sling
  Issue Type: New Feature
  Components: API
Affects Versions: API 2.0.4
Reporter: Carsten Ziegeler


It would be nice if the SlingHttpServletRequest and SlingHttpServletResponse 
would extend the Adaptable interface.
Adapting the request/response is interesting in several situations. For 
example, in a portlet environment the req/response could be easily adapted to 
the Portlet request/response.
Or if Sling is used in combination with another web framework the 
request/response could be easily adapted to the corresponding objects of that 
particular framework.

Another use case is the rewriter (in the whiteboard currently) which makes the 
response adaptable to a ContentHandler which receives SAX events. This allows 
direct streaming of XML events from within Sling without the need of creating 
an output stream and later on reparsing.

As the request and response object are implemented using the wrappers, 
extending the interface does not create problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (SLING-902) add java annotation support for sling scr components/servlets

2009-05-19 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed SLING-902.
--

Resolution: Won't Fix

We'll add the annotations directly in the Felix scr-annotations project (see 
FELIX-1056)

 add java annotation support for sling scr components/servlets
 -

 Key: SLING-902
 URL: https://issues.apache.org/jira/browse/SLING-902
 Project: Sling
  Issue Type: New Feature
  Components: Servlets Resolver
Reporter: Stefan Seifert
 Attachments: 090329_sling_scr_annotations.zip


 please note: this proposal depends on a felix-scr-plugin proposal described in
 https://issues.apache.org/jira/browse/FELIX-1010
 with the described scr plugin enhancement it is possible to define SCR 
 component definitions via annotations. furthermore it is possible for 
 felix/SCR based projects to define their own and less verbose annotations for 
 specific need, together with a provider class mapping them to the SCR tags 
 needed by the plugin internally.
 the attached zip file provides such a implemented for one new annotation 
 SlingServlet, see example below.
 i was not sure into which project and classpath this classes should be 
 placed, so i attached a ZIP file for discussion and try-out. the best 
 solution would be to split them up into two projects - one project containing 
 only the annotation, and the other containing the provider and tag mapping. 
 the first project has no dependencies and can be referenced by any other 
 project needing the annotation. the second has to import the felix-scr-plugin 
 as dependency, this results in a lot of transitive dependency not to be 
 wished in a normal project.
 Example
 ---
 QDox version:
 /**
  * Sample servlet with sling mappings.
  * 
  * @scr.component immediate=true
  * @scr.service interface=javax.servlet.Servlet
  * @scr.property name=sling.servlet.methods value=GET
  * @scr.property name=sling.servlet.resourceTypes
  *   value=/apps/test/components/samplecomponent
  * @scr.property name=sling.servlet.extensions values.0=html 
 values.1=json
  */
 public class SlingServletQDox implements Servlet {
 Annotation version:
 /**
  * Sample servlet with sling mappings.
  */
 @SlingServlet(methods = GET, resourceTypes = 
 /apps/test/components/samplecomponent, extensions = { html, json })
 public class SlingServletAnnotation implements Servlet {
 Custom annotation mappings can be integrated by defining a class implementing 
 org.apache.felix.scrplugin.tags.annotation.AnnotationTagProvider for the 
 new plugin property annotationTagProviders in the pom.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: AW: update launchpad/bundles/pom.xml to SNAPSHOT versions?

2009-05-18 Thread Carsten Ziegeler
Felix Meschberger wrote:
 Hi,
 
 How about this: I created SLING-972 [1] as a standing task issue for the
 next collection release. Whenever a bundle is modified, the
 launchpad/bundles module should be checked whether the reference to the
 latest snapshot is already contained and under the label of SLING-972
 update the reference if required.
 
Hmm, not sure :) Updating the launchpad/bundles pom to a snapshot means that
this bundle will be released for the next Sling release. But I guess
there are cases where one wants to work for a longer time on a bundle
and once this is finished it should be in the release, but not during
the development. Therefore I think all automatisms fail here; whenever
someone thinks that a new bundle is ready for release/inclusing in the
release, update the dependency in the launchpad/bundles.

So, +1 for SLING-972 with the exception that there are cases where the
reference is not updated immediately when a bundle is changed.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: AW: update launchpad/bundles/pom.xml to SNAPSHOT versions?

2009-05-18 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 On Mon, May 18, 2009 at 10:11 AM, Carsten Ziegeler cziege...@apache.org 
 wrote:
 ...I think all automatisms fail here; whenever
 someone thinks that a new bundle is ready for release/inclusing in the
 release, update the dependency in the launchpad/bundles
 
 Why not, but I'd like the launchpad/testing module to always test the
 trunk - so it might need its own set of dependencies, independent of
 the launchpad/bundles module. It was like that originally, and that
 changed when the launchpad/bundles was created.
 
 The constraints of the launchpad/app and webapp modules (use stable
 stuff) are different from those of the launchpad/testing module
 (test the latest trunk) so we might want to go back and have
 launchpad/testing use its own set of bundles version numbers.
 
 WDYT?
Ok, we can do this - so this is kind of doing like gump is doing its stuff.
But I see the potential problem that we release our launchpad stuff
which is never tested by the integration tests as they test some never
stuff where problems might already be fixed/or different.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: AW: update launchpad/bundles/pom.xml to SNAPSHOT versions?

2009-05-18 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 On Mon, May 18, 2009 at 10:57 AM, Carsten Ziegeler cziege...@apache.org 
 wrote:
 Bertrand Delacretaz wrote:
 ...so we might want to go back and have
 launchpad/testing use its own set of bundles version numbers.

 WDYT?
 
 Ok, we can do this - so this is kind of doing like gump is doing its stuff.
 But I see the potential problem that we release our launchpad stuff
 which is never tested by the integration tests as they test some never
 stuff where problems might already be fixed/or different.
 
 This can be solved by (manually) running the launchpad/testing tests
 against an instance of Sling started by the app or webapp modules,
 like I did for the last release.
Yes, sure, but I'm a friend of automated stuff, so they should run at
least automated before we do the release.

Carsten

 
 Some tests might fail if they have been created for trunk stuff that's
 not being released yet, but even in this case noting the differences
 will be useful.
 
 -Bertrand
 


-- 
Carsten Ziegeler
cziege...@apache.org


Re: [VOTE] Graduate Apache Sling as a top level project

2009-05-18 Thread Carsten Ziegeler
+1

Carsten

Felix Meschberger wrote:
 Hi all,
 
 After the second release and an ever growing community, I think we are
 ready to graduate from the Incubator.
 
 At the beginning we entered the Incubator sponsored by the Apache
 Jackrabbit project with the potential goal of graduating as a subproject
 to Jackrabbit. Over time, it showed, that Sling will have a life on its
 own and that the communities of Jackrabbit and Sling are sufficiently
 different.
 
 As a consequence the common opinion of the PPMC is that Sling might best
 graduate as an Apache Top Level Project. The PPMC has in the meantime
 held a vote on proposing the first PMC chair and I have updated the
 graduation-resolution-draft accordingly [1].
 
 So here is the vote:
 
 [ ] +1 Graduate as a top level project
 [ ]  0 Don't care
 [ ] -1 Don't graduate yet, because 
 
 The vote is open for the next 72 hours. Every vote is welcome,
 especially votes from our Mentors. Only votes from PPMC members are
 considered binding.
 
 Thanks and Regards
 Felix
 
 [1] http://cwiki.apache.org/SLING/graduation-resolution-draft.html
 


-- 
Carsten Ziegeler
cziege...@apache.org


Re: [RT] Generic scriptable launcher

2009-05-14 Thread Carsten Ziegeler
While I see the value of a launcher - I don't think that this is the
concern of Sling - we are the framework which should run in every OSGi
installation; so let's focus on the framework and leverage other efforts
like pax+runner, Karaf etc. instead of doing this stuff ourselves.

Just my 2c

Carsten

Felix Meschberger wrote:
 Hi,
 
 Bertrand Delacretaz schrieb:
 I'm thinking of creating a generic launcher, using a text file
 definition to load and start jars, allowing a Sling launcher to take
 over and load and start bundles once a main class is started.
 
 This sounds a lot like Tanuki Java Service Wrapper ...
 
 
 Here's a rough idea - I haven't looked at Karaf closely yet, there's
 probably some overlap, but my idea is to create a generic Java
 launcher, having nothing to do with OSGi, that in turn launches an
 OSGi-aware main class.

 The launcher is a runnable jar, or a war file.

 It uses a text file named launch.txt to define what to launch, example below.

 # START launch.txt example
 properties:
 sling.home = ./sling
 org.apache.commons.launcher.protocols.maven.repository.1 =
 http://repo1.maven.org/maven2
 org.apache.commons.launcher.protocols.maven.repository.2 =
 http://people.apache.org/repo/m2-incubating-repository

 protocols:
 # by default only the http and file protocol are provided to
 # load jar files, more can be added by loading protocol jars

 # The maven protocol, for example, grabs jar files from
 # repositories  defined by the *.maven.repository properties
 # found above.
 jar http://some.repository/launcher-maven-protocol-1.4.2.jar
 md5=1231231239812cd21231987

 bootstrap:
 # load a number of jars that are required to start the main class
 jar maven:org.apache.felix:org.osgi.compendium:jar:1.2.0
 md5=1231231239812cd212315645
 jar maven:org.apache.felix:org.osgi.core:jar:1.2.0
 sha1=1231231239812cd21231123213
 jar maven:org.apache.felix:org.osgi.foundation:jar:1.2.0
 sha1=1231231239812cd2123112313
 jar 
 maven:org.apache.sling:org.apache.sling.launchpad.launcher:2.0.2-incubator
 md5=1231231239812cd2123112313

 # now start the main class, from the org.apache.sling.launchpad.launcher jar
 main-class org.apache.sling.launchpad.launcher.Main -m launcher

 # The launcher stops processing here, and provides this file to the
 main class as its
 # standard input. The above launcher.Main processes the lines that follow the
 # above main-class statement

 # Load and start a few bundles, some with specific start levels
 bundle http://some.obr/some-bundle sha1=1231390890823121312
 bundle maven:some.group:some.artifact:1.0 startlevel=2 md5=123213213984329843

 # END launch.txt example

 Creating a launcher that will never change doesn't seem too hard,
 and then defining a Sling launchpad instance boils down to the
 launch.txt file.

 Using a text file to define bundles makes it easy for people to
 exchange configurations, as the text file fully defines the
 application assembly, based on the bundles URLs and digests.

 WDYT?
 
 At first I thought: What may this be used for. Maybe just because I
 failed to understand the problem for which you present a solution.
 
 Is this about creating custom Sling configurations ?
 
 Now, this is certainly a valid request, to which we currently have two
 answers:
 
* The launchpad/bundles project defines a package of bundles to
   be included in the app or webapp binary
 
* A patch to extend the BootstrapInstaller to read more bundles
   for installation from the filesystem
 
 Maybe we need an additional mechanism for setting up an initial set of
 bundles. Now, there's pax runner [1] which sports so called profiles,
 which may be exactly what you are envisioning ?
 
 While I like our current construct of having very small
 environment-specific code (web app or standalone app) and the rest being
 unified, we might also go for favouring the standalone app...
 
 Regards
 Felix
 
 [1] http://paxrunner.ops4j.org/space/Pax+Runner
 
 -Bertrand

 


-- 
Carsten Ziegeler
cziege...@apache.org


Re: [VOTE RESULT] Release Apache Sling 5

2009-05-14 Thread Carsten Ziegeler
I've uploaded our release yesterday and Sling is now available from the
central maven repository and our download page.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: [RT] Generic scriptable launcher

2009-05-14 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 On Thu, May 14, 2009 at 8:47 AM, Carsten Ziegeler cziege...@apache.org 
 wrote:
 ...While I see the value of a launcher - I don't think that this is the
 concern of Sling - we are the framework which should run in every OSGi
 installation; so let's focus on the framework and leverage other efforts
 like pax+runner, Karaf etc. instead of doing this stuff ourselves
 
 Agree, I was actually thinking of creating the launcher as an
 independent tool outside of Sling, maybe at Apache Commons.
 
 Just wanted to see how much people like it here, as that could be
 useful for our launchpad configurations.
 
I personally would first evaluate if the existing solutions are sufficient
or could be easily enhanced instead of creating another project.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[ANN] New Release of Apache Sling 5

2009-05-14 Thread Carsten Ziegeler
Bringing Back the Fun - Reloaded

Apache Sling brings back the fun to Java developers and makes the
life of a web developer much easier. It combines current state of
the art technologies and methods like OSGi, REST, scripting, and JCR.

The main focus of Sling deals with the important task of
bringing your content into the web and providing a plattform to
manage/update the content in a REST style.

Sling is built into OSGi bundles and therefore benefits from all
advantages of OSGi. On the development side a scripting layer (using
Apache BSF) allows to use any scripting language with Sling (of course
you can use plain old Java, too). And on top of this, Sling helps in
developing an application in a RESTful way.

As the first web framework dedicated to JSR-170 Java Content
Repositories, Sling makes it very simple to implement simple
applications, while providing an enterprise-level framework for more
complex applications. Underneath the covers Apache Jackrabbit is
used for the repository implementation.

Download the new release, Apache Sling 5, today and give it a try!

Apache Sling currently comes in four flavors:
- A standalone application (a jar containing everything to get started
with Sling)
- A web application (just drop this into your favorite web container)
- The full source package (interested in reading the source?)
- Maven Artifacts (available through the Apache Incubator Repository)

For more information, please visit the Apache Sling web site at
http://incubator.apache.org/sling.

or go directly to the download site at
http://incubator.apache.org/sling/site/downloads.cgi

The Apache Sling Community

-- 
Carsten Ziegeler
cziege...@apache.org





[jira] Commented: (SLING-960) Need webconsole smoke tests

2009-05-11 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12707987#action_12707987
 ] 

Carsten Ziegeler commented on SLING-960:


I don't want to prevent anyone from doing additional tests, but I think this is 
not the core business of Sling - the web console is just one way of managing an 
OSGi installation; and more important the web console is developed at another 
problem, so I can imagine it will be hard to keep track of changes and adjust 
the tests accordingly. Just my 2 cents, but if someone wants to add tests, 
welcome!

 Need webconsole smoke tests 
 

 Key: SLING-960
 URL: https://issues.apache.org/jira/browse/SLING-960
 Project: Sling
  Issue Type: Test
  Components: Console
Reporter: Bertrand Delacretaz
Priority: Minor

 SLING-959 wasn't detected by our test suite, we should add some simple 
 webconsole integration testing to catch such problems in the future.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (SLING-960) Need webconsole smoke tests

2009-05-11 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12708017#action_12708017
 ] 

Carsten Ziegeler commented on SLING-960:


Non-automated tests tend to be forgotten during the release process; and I 
still think this is not a blocker for a Sling release.
Contributing the tests to the Felix project might make sense; however in this 
particular case, the problem arises because of a specific Felix version and a 
specifc web console version; other combinations work.

 Need webconsole smoke tests 
 

 Key: SLING-960
 URL: https://issues.apache.org/jira/browse/SLING-960
 Project: Sling
  Issue Type: Test
  Components: Console
Reporter: Bertrand Delacretaz
Priority: Minor

 SLING-959 wasn't detected by our test suite, we should add some simple 
 webconsole integration testing to catch such problems in the future.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (SLING-960) Need webconsole smoke tests

2009-05-11 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12708043#action_12708043
 ] 

Carsten Ziegeler commented on SLING-960:


Hmm, yes, but we are currently trying to get a big bang release from Sling out 
of the doors. Once this is through we can easily and quickly release single 
modules like the launchpad stuff.


 Need webconsole smoke tests 
 

 Key: SLING-960
 URL: https://issues.apache.org/jira/browse/SLING-960
 Project: Sling
  Issue Type: Test
  Components: Console
Reporter: Bertrand Delacretaz
Priority: Minor

 SLING-959 wasn't detected by our test suite, we should add some simple 
 webconsole integration testing to catch such problems in the future.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Sling 5 API Docs

2009-05-11 Thread Carsten Ziegeler
Felix Meschberger wrote:
 Hi all,
 
 Now that the Sling release is approaching official status (pending
 Incubator PMC approval) I also published the aggregate API JavaDoc for
 this Sling 5 Source Release at [1] (Please allow for a few hours for the
 site to sync). I also linked to the API docs from the main navigation of
 the Site.
 
 Regards
 Felix
 
 [1] http://incubator.apache.org/sling/apidocs/sling5/index.html
 
Can we later on have a tarball with the docs for download?

Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: Releases in the future

2009-05-11 Thread Carsten Ziegeler
Roy T. Fielding wrote:
 On May 11, 2009, at 12:03 PM, Felix Meschberger wrote:
 
 Carsten and I have been reasoning about the releases in the future,
 mainly the ones for end-users who just want to grab a binary and fire it
 off.

 Basically, we will start releasing single bundles using the regular ASF
 release process. This should enable us to release much quicker than with
 big release we have done until now.

 For the consumer releases we are talking about 4 projects mainly:

   * launchpad/base  - contains the launcher code, Felix framework
and the OSGi core and compendium libraries.

   * launchpad/bundles - a very simple project to just pack together
existing bundles

   * launchpad/app, launchpad/webapp - projects to create final app
and web app from the base and bundles projects

 So to release a consumer product we update the launchpad/bundles
 project with all the bundles we want to include and prepare the releases
 of the launchpad/bundles, launchpad/app and launchpad/webapp projects.

 I know this is kind of weird in the Apache World, but in essence these
 releases are not mainly targeted at developers and manual builders but
 at consumers, who just want to grab-and-run it.

 WDYT ?
 
 Apache only releases source code packages.  Those other things you build
 are not releases -- they are binaries that individuals build and upload.
Yes, that's right - now, we think that even for those things voting etc.
is a good thing. While legaly everything might be correct, but I don't
think that users are really able (or willing) to distinguish between a
release (source) and a downloadable binary. So it makes sense that those
binaries are checked and handled properly as well.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[VOTE RESULT] Release Apache Sling 5

2009-05-09 Thread Carsten Ziegeler
The vote to release Apache Sling 5 finished successfully with six +1
votes from:

- Felix Meschberger (*)
- Jukka Zitting (*)
- Juan José Vázquez Delgado (*)
- Vidar Ramdal (*)
- Carsten Ziegeler (*)
- Bertrand Delacretaz (*)

The people marked with * are members of the PPMC

No other votes were cast.

Thanks for taking the time to check the release!

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: [Vote] Release Apache Sling 5

2009-05-07 Thread Carsten Ziegeler
+1

Carsten


-- 
Carsten Ziegeler
cziege...@apache.org


Re: Building trunk

2009-05-07 Thread Carsten Ziegeler
Ian Boston wrote:
 :),
 Ignore me, I need to pull the appropriate tag and build locally while
 waiting for the release.
Actually this was a good hint as I forgot to commit the updated poms
yesterday evening :) Everything should point now to the next parent pom
snapshot and allow a build without locally building something before again.

Thanks
Carsten

 Ian
 
 On 7 May 2009, at 12:07, Ian Boston wrote:
 
 Hi,
 I am trying to build trunk after the recent release and version
 increment.
 Before doing this I zapped ~/.m2/repository/org/apache/sling as a
 precaution, but I am seeing quite a variety of missing artifacts versions

 eg
 2.0.4-incubator
 5-incubator
 etc

 I suspect, if no one is seeing the same problems they might have the
 old artifacts in their local maven repo.

 Should these all be 6-incubator-SNAPSHOT and 2.0.5-incubator-SNAPSHOT
 everywhere or should there be a mixture ?

 I have a half a patch done but thought I should check.
 Ian

 
 


-- 
Carsten Ziegeler
cziege...@apache.org


Re: Building trunk

2009-05-07 Thread Carsten Ziegeler
Obviously I was wrong of course, trunk is not buildable - this will be
the case until we can make the release available in a public repository
(and this will take at least another 4 days - but with the weekend
inbetween this might be a little bit longer).

Carsten


-- 
Carsten Ziegeler
cziege...@apache.org


Re: [IMP] End of Code freeze

2009-05-06 Thread Carsten Ziegeler
Ok, I'm done with the maven stuff, so this ends the code freeze.

Thanks
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[Vote] Release Apache Sling 4

2009-05-06 Thread Carsten Ziegeler
Hello everyone,

finally we have new release to vote on!

You'll find the releases at:

http://people.apache.org/~cziegeler/releases/sling

I've created the same type of artifacts as for the last release.
The main release is a release of the source tree with the version
4-incubator. For convenience we have two additional binary releases
here: the launchpad app and webapp.

The source release:

sling-4-incubator-source-release.tar.gz
ccfe4dc8245ee217c94e520b5c65da53

sling-4-incubator-source-release.zip
688c42f67e17bf23aca8405a2c5fcca8


The launchpad app:
org.apache.sling.launchpad.app-4-incubator-bin.tar.gz
a542e802f05c2fe5ab88202443f36b4a

org.apache.sling.launchpad.app-4-incubator-bin.zip
d03de1964b3795ea6f3ea237af157cc3


The launchpad webapp:
org.apache.sling.launchpad.webapp-4-incubator.war
213cdc63159721b43485bb6728dd9450


In addition I've built the corresponding maven artifacts of all modules
 which can be found here:

http://people.apache.org/~cziegeler/releases/sling/maven

The KEYS file to check my signature is at
http://people.apache.org/~cziegeler/releases/KEYS

This is basically just one big release, so please cast your votes, the
vote will be open for 72 hours.

Thanks
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: [Vote] Release Apache Sling 4

2009-05-06 Thread Carsten Ziegeler
Hi,

we (Felix and I) have just found an issue with the source release. We
hit (for the n-th time) a maven problem, wenn a reactor build is using
different parent poms with different plugin versions. Our source release
contains mostly new modules (referencing parent pom version 5) but also
three modules we didn't releasee (parent pom version 3).

This creates a conflict as only one of them is used to define plugin
versions and may cause compilation/build problems.

Therefore you should remove the following bundles from the reactor pom:
- scripting api
- jcr api
- adapter

I think we can live with this known issue and don't need to cut a new
release. Only if we find more severe problems we should recut.

Regards
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[jira] Commented: (SLING-957) JCR EventListeners are not easy to create or write

2009-05-06 Thread Carsten Ziegeler (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12706451#action_12706451
 ] 

Carsten Ziegeler commented on SLING-957:


I haven't locked at the patch yet, but nevertheless I'm in favour of a more 
generic/Sling like solution, taking the resource tree into account.
Something along the lines of https://issues.apache.org/jira/browse/SLING-944

 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.



Re: [jira] Commented: (SLING-957) JCR EventListeners are not easy to create or write

2009-05-06 Thread Carsten Ziegeler
Ian Boston wrote:
 Agreed,
 the reason for sharing this is we have some use cases that need to look
 at the node state prior to save. In the past (pre OSGi) we added these
 to the the jcr server component. Since this is now owned by Sling, we
 cant do that any more without patching the jackrabbit-server bundle.
 Obviously there needs to be a hook somewhere for this use case to be
 covered.
 
 The more generic event use case *is* better handled by the OSGi event
 service, especially where delivery is not expected to be on the same
 thread or even on the same cluster node.
 
 I could make this patch only for SynchronousEventsListeners.
 WDYT?
Not sure :) You mention that you want to look at the node state prior to
save,
so maybe the SlingPostProcessor (post bundle) can help you? You can
register these processors and they are invoked on a POST to Sling before
the save is called. It allows you to make additional changes, revert
them etc.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[Vote] Release Apache Sling 5

2009-05-06 Thread Carsten Ziegeler
Hello everyone,

I redid the release, which is not version 5 and we can vote again :)

You'll find the releases at:

http://people.apache.org/~cziegeler/releases/sling

I've created the same type of artifacts as for the last release.
The main release is a release of the source tree with the version
4-incubator. For convenience we have two additional binary releases
here: the launchpad app and webapp.

The source release:

sling-5-incubator-source-release.tar.gz
2d3f26b986b12e4c3863c8352508cc6c

sling-5-incubator-source-release.zip
e60241ee568f76872684348690b069d5


The launchpad app:
org.apache.sling.launchpad.app-5-incubator-bin.tar.gz
bce9be4df9de0bb8e3f856dc83034fdb

org.apache.sling.launchpad.app-5-incubator-bin.zip
c96face22c569d5795ea549f729e2294


The launchpad webapp:
org.apache.sling.launchpad.webapp-5-incubator.war
e5e7acb1d7140f10e8247a4076ca094c


In addition I've built the corresponding maven artifacts of all modules
 which can be found here:

http://people.apache.org/~cziegeler/releases/sling/maven

The KEYS file to check my signature is at
http://people.apache.org/~cziegeler/releases/KEYS

This is basically just one big release, so please cast your votes, the
vote will be open for 72 hours.

Thanks
Carsten
-- 
Carsten Ziegeler
cziege...@apache.org



Preparing the release

2009-05-05 Thread Carsten Ziegeler
Hi,

I just went through the list of all modules for the release (bundles,
launchpad and maven plugins).

From this list it seems that we haven't changed these modules (apart
from cosmetic changes of the bundle name - but no functional changes):
- bundles/extensions/adapter
- bundles/jcr/api
- bundles/jcr/jackrabbit-api
- bundles/scripting/api
- maven/maven-jcrocm-plugin

So I think we shouldn't release those and just use the old released
versions for the big downloadable release.

Finally, we have the extensions/i18n bundle which we didn't release last
time and which we are still not using/referencing.

So we can either:
a) release it as is
b) don't release it
c) don't release it and move to extensions

From the list above I would prefer c).

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: svn commit: r771617 - in /incubator/sling/trunk/bundles/jcr: jackrabbit-accessmanager/pom.xml jackrabbit-usermanager/pom.xml

2009-05-05 Thread Carsten Ziegeler
Felix Meschberger wrote:
 Hi,
 
 Shouldn't this rather be org.apache.jackrabbit:jackrabbit-api ?
 
Hmm, yes - I'll check all references.

Thanks
Carsten


-- 
Carsten Ziegeler
cziege...@apache.org


Re: Event Listeners

2009-05-05 Thread Carsten Ziegeler
Ian Boston wrote:
 Are there any facilities in sling for registering jcr event listeners ?
 
 Both the external javax.jcr.observation.EventListener and the
 SynchronousEventListener type.
 
No we don't have extra support in Sling atm. One of the problems here is
that the jcr listeners are tied to a session.

But we're working on a resource based eventing which leverages the OSGi
eventing:

https://issues.apache.org/jira/browse/SLING-944


Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


[IMP] Code freeze

2009-05-05 Thread Carsten Ziegeler
Ok, I'l start with the release process - I fear that this will take a
little bit longer this time (until tomorrow I guess). Please refrain
from committing stuff in the meantime. During the release process the
build will be broken as the it will reference artifacts which are not
available in a public repo - but on my machine :)

So stay tuned.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: [IMP] Code freeze

2009-05-05 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 On Tue, May 5, 2009 at 4:48 PM, Carsten Ziegeler cziege...@apache.org wrote:
 Ok, I'l start with the release process - I fear that this will take a
 little bit longer this time (until tomorrow I guess). Please refrain
 from committing stuff in the meantime
 
 It is ok to commit under contrib/extensions, right?
 
Yes, but your build will fail as I changed the dependency to the parent
pom; so you have to set this back to the snapshot manually.

Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: Event Listeners

2009-05-05 Thread Carsten Ziegeler
Tobias Bocanegra wrote:
 
 sorry to bring this up again - but i'm a bit concerned that every JCR
 api functionality is duplicated in sling. i think it should not be to
 goal to replace the JCR api in sling, but to leverage it. the main
 focus of sling should be to build a framework on JCR and not try to
 make JCR replaceable.
 the JCR api might be a bit clumsy to use, but at least it is well
 documented and standardized.
 
One of the aims of Sling is to make building apps on top of JCR easier.
And the described functionality makes observation in many use cases
easier. So it's not a duplication. It's a simplified interface.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: [IMP] Code freeze

2009-05-05 Thread Carsten Ziegeler
Jukka Zitting wrote:
 Hi,
 
 On Tue, May 5, 2009 at 4:48 PM, Carsten Ziegeler cziege...@apache.org wrote:
 Ok, I'l start with the release process - I fear that this will take a
 little bit longer this time (until tomorrow I guess). Please refrain
 from committing stuff in the meantime. During the release process the
 build will be broken as the it will reference artifacts which are not
 available in a public repo - but on my machine :)
 
 Branch?
We're not branching for a release; we only branch if really necessary.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: Event Listeners

2009-05-05 Thread Carsten Ziegeler
Bertrand Delacretaz wrote:
 On Tue, May 5, 2009 at 5:04 PM, Carsten Ziegeler cziege...@apache.org wrote:
 Tobias Bocanegra wrote:
 sorry to bring this up again - but i'm a bit concerned that every JCR
 api functionality is duplicated in sling
 
 One of the aims of Sling is to make building apps on top of JCR easier.
 And the described functionality makes observation in many use cases
 easier. So it's not a duplication. It's a simplified interface.
 
 Is there a description of this new observation stuff somewhere?
 
So far it's just a rough idea which is available as a patch:
https://issues.apache.org/jira/browse/SLING-944

Carsten

-- 
Carsten Ziegeler
cziege...@apache.org


Re: [IMP] Code freeze

2009-05-05 Thread Carsten Ziegeler
Jukka Zitting wrote:
 Hi,
 
 On Tue, May 5, 2009 at 5:09 PM, Carsten Ziegeler cziege...@apache.org wrote:
 Jukka Zitting wrote:
 Branch?
 We're not branching for a release; we only branch if really necessary.
 
 Why? Doing the release preparation in a branch would allow others to
 continue using trunk for normal development.
 
Hmm, the release process changes at least the poms, so these need to be
merged back.

 I don't actively develop Sling, so my opinion carries little weight on
 this matter. I'm just curious about why you think branching is a bad
 idea.
I'm not sure if it is a bad idea :) But it is a little overhead which
comes with the cost that people shouldn't commit for some hours. I think
avoiding the overhead weights more in this case.

Carsten
-- 
Carsten Ziegeler
cziege...@apache.org


Re: Hudson build is still unstable: sling-contrib-1.5 » Apache Sling Launchpad Contrib Testing #13

2009-05-04 Thread Carsten Ziegeler
Is it possible to configure Hudson to only send mails if the status changed?

Carsten

Apache Hudson Server schrieb:
 See 
 http://hudson.zones.apache.org/hudson/job/sling-contrib-1.5/org.apache.sling$org.apache.sling.launchpad.contrib-testing/13/
 
 
 


-- 
Carsten Ziegeler
cziege...@apache.org


Re: JCR2 upgrade plans ?

2009-05-04 Thread Carsten Ziegeler
Felix Meschberger schrieb:
 Hi,
 
 Jukka Zitting schrieb:
 Hi,

 On Thu, Apr 30, 2009 at 6:59 PM, Ian Boston i...@tfd.co.uk wrote:
 With JR trunk having branched 1.x off and now heading for 2.0.

 What plans, if any does Sling have for moving to 2.0 and 283 support?
 With my Jackrabbit release manager hat on I'd recommend that Sling
 wait until Jackrabbit 2.0 is officially out before upgrading to JCR
 2.0.
 
 I was starting to think on another track: Is it really correct to have
 the OSGi bindings for Jackrabbit in the Sling project ?
 
 Wouldn't it be more logical that Jackrabbit would provide the jackrabbit
 binding bundles (jcr/jackrabbit-core and jcr/jackrabbit-client and
 probably also jcr/base itself) ?
 
 In fact, many Jackrabbit libraries already come as bundles
 (jackrabbit-api, jackrabbit-jcr-commons, jackrabbit-jcr-rmi), why not
 the rest also ?
 
 I tend to think, that we might keep the bundles around here at Sling for
 the Jackrabbit 1.x line because we extended Jackrabbit to allow for
 pluggable extensions. But for Jackrabbit 2.0 it might be different.
 
I think that Sling should be able to run on JCR 1.0 for a long time; we
shouldn't tie us to a new version; however, of course we might have some
optional functionality requiring JCR 2.0.

Carsten


-- 
Carsten Ziegeler
cziege...@apache.org


  1   2   3   4   5   6   7   8   9   10   >