RE: [VOTE] Release Apache Sling Commons Log 4.0.0

2013-11-19 Thread Amit.. Gupta.
+1

-Original Message-
From: Chetan Mehrotra [mailto:chetan.mehro...@gmail.com] 
Sent: 18 November 2013 15:16
To: dev
Subject: Re: [VOTE] Release Apache Sling Commons Log 4.0.0

+1
Chetan Mehrotra


On Mon, Nov 18, 2013 at 3:14 PM, Chetan Mehrotra chetan.mehro...@gmail.com 
wrote:
 Hi,

 This is to vote for the Apache Sling Commons Log 4.0.0 release. This 
 is the first release which uses Logback as the logging backend.

 The docs are up to date at
 http://sling.apache.org/documentation/development/logging.html

 Issues fixed
 https://issues.apache.org/jira/browse/SLING/fixforversion/12324947

 Staging repository:
 https://repository.apache.org/content/repositories/orgapachesling-150/

 You can use this UNIX script to download the release and verify the
 signatures:
 http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh

 Usage:
 sh check_staged_release.sh 150 /tmp/sling-staging

 Please vote to approve this release:

  [ ] +1 Approve the release
  [ ]  0 Don't care
  [ ] -1 Don't release, because ...

 This vote will be open for 72 hours.

 Regards
 Chetan Mehrotra


[jira] [Updated] (SLING-3223) Donation of a replication module for Sling

2013-11-19 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3223:
---

Description: 
Issue to track donation of a replication module for Sling.
Discussion thread: http://markmail.org/thread/ic62k5pc34ppb5ko 
Vote on dev@sling thread: http://markmail.org/thread/scz5arlfs5rgowg2

  was:Issue to track donation of a replication module for Sling, see thread at 
http://markmail.org/thread/ic62k5pc34ppb5ko 


 Donation of a replication module for Sling
 --

 Key: SLING-3223
 URL: https://issues.apache.org/jira/browse/SLING-3223
 Project: Sling
  Issue Type: Task
  Components: Extensions
Reporter: Tommaso Teofili
 Attachments: SLING-3223.patch


 Issue to track donation of a replication module for Sling.
 Discussion thread: http://markmail.org/thread/ic62k5pc34ppb5ko 
 Vote on dev@sling thread: http://markmail.org/thread/scz5arlfs5rgowg2



--
This message was sent by Atlassian JIRA
(v6.1#6144)


Re: New way of configuring Logging in Sling

2013-11-19 Thread Chetan Mehrotra
Hi Justin,

On Tue, Nov 19, 2013 at 5:55 PM, Justin Edelson
jus...@justinedelson.com wrote:
 I don't see why logging requires going outside this practice. It
 didn't before Logback.

Looks like there is some confusion around various ways with which
logging can be configured with Logback. Logging with Logback is
supporting all the following configuration modes

1. Configures itself with a pre packaged config file within the Bundle

2. Can be configured to configure Logback from a file on file system.
This would allow one to customize it on a per Sling instance basis

3. Can be further extended via OSGi based config as has been supported
by previous Logging impl [1]

4. Can be further extended via Config Fragments [2]. It supports an
extension point to provide
   xml fragments from different source. Later we can add an impl which
can look up config
  fragments in JCR repo and provide it to Common Log

5. Can be further extended via Appender/Filter registered as OSGi service

What I was proposing that we modify the Launchpad support to dump an
xml at pre defined location and allow users to customize it. However
all other modes of configuring Logback would continue to work

Chetan Mehrotra
[1] 
http://sling.apache.org/documentation/development/logging.html#user-configuration-osgi-based
[2] 
http://sling.apache.org/documentation/development/logging.html#logback-config-fragment-support


Re: [OT] Feature flag influence on Resource access (Was: FYI: feature flags prototype)

2013-11-19 Thread Dominik Süß
Hi Henry,

the way understand Feature Flags as well as the comment from Roy is quite
different:
- Features can be content, java code, configuration or anything else that
you would touch to introduce a new feature
- Therefore the when a feature is turned off ist must be granted that (as
far as technically possible) the feature has no impact on the behavior of
the system (this might not be achivable since the only way of total removal
of impact is not to release it, but the goal is to get as close as possible
to this state)
- Pure highlevel application checks cannot accomplish this since the
plattform API would anyway call different logic and has to rely on the high
level API to produce the same result (e.g. the resolutionprocess would be
different between (a) the feature not being present at all (since there is
no resource found) (b) the feature is disabled and a third logic (like a
filter) needs to take care of this.

I read Roy's comment that this is something required, but there is even
more than that, like configuration which needs to be taken into account.
But when looking at the area of resource resolving filtering the
resourcetree in first place is as close as we can get to a similar behavior
like non-existance.

Best regards
Dominik

P.S. Isolation of JS logic isn't that hard, you just make sure that all
plugins of a feature are included as one JS file. The hard part is request
optimization where you might want to aggregate the plugins.  This might be
achivable by aggregations that have generated featurehashes in their  URL
(this way all users consuming the same featureset get the same aggregation
so you still can cache).


On Mon, Nov 18, 2013 at 11:43 PM, Henry Saginor hsagi...@gmail.com wrote:

 This is what I derive from your Roy's comments.

 It is not possible to predict all of the changes that might be conditioned
 via a flag. The context is really up to the application developers and
 their requirements.
 Applying feature flags at the resource level would only cover a particular
 set of changes.
 So, fundamentally all that the framework can do is provide a way to define
 flags, provide a switch panel and a way to extend it, and API to check
 flags in condition statements.
 How and where each flag is used is up to the developer of a specific
 application feature.

 Also, API for flag checking needs to be made available on both client and
 server without them calling each other. This can get tricky when we
 consider caching.

 On Nov 15, 2013, at 6:00 PM, Roy T. Fielding field...@gbiv.com wrote:

  On Nov 15, 2013, at 2:54 PM, Alexander Klimetschek wrote:
  On 15.11.2013, at 07:13, Amit.. Gupta. amitg...@adobe.com wrote:
 
  You are right, we can temporarily enable feature. But, as we advocate
 more and more use of ResourceResolver api instead of underlying content
 storage. There could be cases where even editors/tools used in
 development/installers are using the resourceResolver api and never see the
 resource.
  Like exporting some content package to be deployed to another sling
 instance, but package exporter use resouceResolver api and never see the
 resource.
 
  Ack. IMO feature flags are clearly a high-level application, not
 infrastructure, aspect.
 
  Feature flags are a mechanism for isolating changes within a deployed
  system.  Any part of that system.
 
  That means a feature flag needs to be able to condition any change
  that might be made to a system, including any change to the configuration
  files/data, any change to code monitoring the system, any change to the
  selection of data sources, any change to content (including everything
  as content), any change to a layout within any page or component, any
  change to the order in which things are done, any change to a report
  about what was done, and any change I haven't mentioned yet short of
  physically walking up to the server rack and unplugging the power
  by hand.
 
  In short, if it is content, it can be made conditional on the basis
  of a feature flag.  That is the granularity of feature flag use.
 
  Separate from that is the feature flag flip switch (i.e., the set
  of ways that a given feature can be turned on) and the extent to
  which a feature becomes sticky per user once enabled for that user.
 
  You should expect a typical deployed site to have on the order of
  1024 active feature flags.  Hence, think carefully before choosing
  a verbose (or linear) mechanism for checking or remembering flags.
  Likewise, you should expect to have both a global setting for each
  flag and a per-user mask, and the person running the flip switch
  control panel needs to be able to choose from
 
   a) off for all users
   b) off for unassigned users
   c) proportional assignment to on (X out of N users, max M)
   d) logical (custom code) assignment to on
   e) on for unassigned users
   f) on for all users
 
  and be able to remember assignments per user, without requiring
  the user to login, and without assigning more 

Re: [VOTE] - Accept donation of replication module to Apache Sling

2013-11-19 Thread Ian Boston
+1
As with others, conditional on the correct process for IP clearance
and grant being followed.
Ian

On 15 November 2013 09:30, Tommaso Teofili tommaso.teof...@gmail.com wrote:
 ok thanks, so we need one more binding vote (from a PMC member) to close
 this.

 Regards,
 Tommaso


 2013/11/15 Tobias Bocanegra tri...@apache.org

 Hi Tommaso,

 thanks for the explanation - I didn't realize that you are in that
 early stage :-) I thought that the PMC already gave their OK to go
 forward with the donation.
 here's my non binding +1 then :-)

 Regards, Toby


 On Thu, Nov 14, 2013 at 1:48 AM, Bertrand Delacretaz
 bdelacre...@apache.org wrote:
  On Thu, Nov 14, 2013 at 8:37 AM, Tommaso Teofili
  tommaso.teof...@gmail.com wrote:
  as far as I know there's usually a vote on the dev@ list for first
  acceptance (and then it's referenced in the IP Clearance file), then
 the IP
  Clearance is done...
 
  That's how I see it as well, hence my +1 conditional on doing the IP
 clearance.
 
  -Bertrand



[jira] [Updated] (SLING-3151) Add Junit JackrabbitOnly and OakOnly JUnit test categories

2013-11-19 Thread Bertrand Delacretaz (JIRA)

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

Bertrand Delacretaz updated SLING-3151:
---

Affects Version/s: Commons Testing 2.0.14

 Add Junit JackrabbitOnly and OakOnly JUnit test categories
 --

 Key: SLING-3151
 URL: https://issues.apache.org/jira/browse/SLING-3151
 Project: Sling
  Issue Type: Sub-task
  Components: Testing
Affects Versions: Commons Testing 2.0.14
Reporter: Antonio Sanso
Assignee: Bertrand Delacretaz
 Fix For: Commons Testing 2.0.16


 It would be nice to have a  Junit JackrabbitOnly category in order to 
 differentiate those tests that makes sense to be executed only in Sling 
 running on Jackrabbit (and do not makes sense to run for Sling on Oak)



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (SLING-3151) Add Junit JackrabbitOnly and OakOnly JUnit test categories

2013-11-19 Thread Bertrand Delacretaz (JIRA)

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

Bertrand Delacretaz updated SLING-3151:
---

Fix Version/s: Commons Testing 2.0.16

 Add Junit JackrabbitOnly and OakOnly JUnit test categories
 --

 Key: SLING-3151
 URL: https://issues.apache.org/jira/browse/SLING-3151
 Project: Sling
  Issue Type: Sub-task
  Components: Testing
Affects Versions: Commons Testing 2.0.14
Reporter: Antonio Sanso
Assignee: Bertrand Delacretaz
 Fix For: Commons Testing 2.0.16


 It would be nice to have a  Junit JackrabbitOnly category in order to 
 differentiate those tests that makes sense to be executed only in Sling 
 running on Jackrabbit (and do not makes sense to run for Sling on Oak)



--
This message was sent by Atlassian JIRA
(v6.1#6144)


Re: New way of configuring Logging in Sling

2013-11-19 Thread Justin Edelson
Hi Chetan,
Thanks for this summary. Very helpful to understand the issues.
Comments inline...

On Tue, Nov 19, 2013 at 8:41 AM, Chetan Mehrotra
chetan.mehro...@gmail.com wrote:
 Hi Justin,

 On Tue, Nov 19, 2013 at 5:55 PM, Justin Edelson
 jus...@justinedelson.com wrote:
 I don't see why logging requires going outside this practice. It
 didn't before Logback.

 Looks like there is some confusion around various ways with which
 logging can be configured with Logback. Logging with Logback is
 supporting all the following configuration modes

 1. Configures itself with a pre packaged config file within the Bundle

To which bundle is this referring? The Logback integration bundle? If
so, when would this file be used?


 2. Can be configured to configure Logback from a file on file system.
 This would allow one to customize it on a per Sling instance basis

I think this functionality needs to be removed as it isn't consistent
with the rest of Sling.


 3. Can be further extended via OSGi based config as has been supported
 by previous Logging impl [1]

 4. Can be further extended via Config Fragments [2]. It supports an
 extension point to provide
xml fragments from different source. Later we can add an impl which
 can look up config
   fragments in JCR repo and provide it to Common Log

This needs to be done against the resource resolver, not the JCR
directly. And if you do that, then #2 isn't necessary as you can use
the File System Resource Provider to point the configured resource
path to a file system resource.

In my opinion, these are showstoppers and warrant cancelling the
release. Otherwise, we are stuck with a backwards compatibility issue.

Regards,
Justin


 5. Can be further extended via Appender/Filter registered as OSGi service

 What I was proposing that we modify the Launchpad support to dump an
 xml at pre defined location and allow users to customize it. However
 all other modes of configuring Logback would continue to work

 Chetan Mehrotra
 [1] 
 http://sling.apache.org/documentation/development/logging.html#user-configuration-osgi-based
 [2] 
 http://sling.apache.org/documentation/development/logging.html#logback-config-fragment-support


Re: [VOTE] Release Apache Sling Commons Log 4.0.0

2013-11-19 Thread Bertrand Delacretaz
Hi

On Mon, Nov 18, 2013 at 10:44 AM, Chetan Mehrotra
chetan.mehro...@gmail.com wrote:
 ...This is to vote for the Apache Sling Commons Log 4.0.0 release...

I am -1 on this release, until we clarify the status of source code
that's EPL-licensed in there.

Will do that in a separate thread.

-Bertrand


Re: New way of configuring Logging in Sling

2013-11-19 Thread Chetan Mehrotra
 1. Configures itself with a pre packaged config file within the Bundle

 To which bundle is this referring? The Logback integration bundle? If
 so, when would this file be used?

It refers to the org.apache.sling.commons.log-4.0.0 bundle which
packages a default logback.xml as part of bundle classpath. This file
is used to bootstrap Logback

 2. Can be configured to configure Logback from a file on file system.
 This would allow one to customize it on a per Sling instance basis

 I think this functionality needs to be removed as it isn't consistent
 with the rest of Sling.

I disagree. This functionality proves to be quite useful in
configuring Logging and I would not like that Logging system depends
completely on any other system for configuration. At very minimum it
should be possible to configure Logging without depending on any other
support. One use would be in cluster deployment where to troubleshoot
issue on a particular node an admin can start the system with specific
logback.xml. It can use those Logback features which are not possible
to configure via OSGi.

This is similar to how so far  JR2  configuration was handled via
repository.xml and Repository bundle provided an option to provide a
custom repository.xml for first startup.

 4. Can be further extended via Config Fragments [2]. It supports an
 extension point to provide
xml fragments from different source. Later we can add an impl which
 can look up config
   fragments in JCR repo and provide it to Common Log

 This needs to be done against the resource resolver, not the JCR
 directly. And if you do that, then #2 isn't necessary as you can use
 the File System Resource Provider to point the configured resource
 path to a file system resource.

Commons Log bundle exposes an extension point and that can be
implemented using any possible means. In Sling one can implement it
against ResourceProvider also. However it would always be *one* of the
option.

 In my opinion, these are showstoppers and warrant cancelling the
 release. Otherwise, we are stuck with a backwards compatibility issue.

I still do not get the concern here. The Log bundle provides various
means to configure Logback and users are free to use any of the means.
Currently the Log bundle can has no dependency on Sling API and can
easily be used in non Sling containers also. All these options are
fully supported and well documented with backing testcase.

regards
Chetan


Re: New way of configuring Logging in Sling

2013-11-19 Thread Justin Edelson
Hi Chetan,

On Tue, Nov 19, 2013 at 12:12 PM, Chetan Mehrotra
chetan.mehro...@gmail.com wrote:
 1. Configures itself with a pre packaged config file within the Bundle

 To which bundle is this referring? The Logback integration bundle? If
 so, when would this file be used?

 It refers to the org.apache.sling.commons.log-4.0.0 bundle which
 packages a default logback.xml as part of bundle classpath. This file
 is used to bootstrap Logback

 2. Can be configured to configure Logback from a file on file system.
 This would allow one to customize it on a per Sling instance basis

 I think this functionality needs to be removed as it isn't consistent
 with the rest of Sling.

 I disagree. This functionality proves to be quite useful in
 configuring Logging and I would not like that Logging system depends
 completely on any other system for configuration. At very minimum it
 should be possible to configure Logging without depending on any other
 support. One use would be in cluster deployment where to troubleshoot
 issue on a particular node an admin can start the system with specific
 logback.xml. It can use those Logback features which are not possible
 to configure via OSGi.

As I said, if you want to configure logging using a file, you can do
this with the File System Resource Provider. If you want to support
directly loading from a file for bootstrapping purposes, i.e. there's
a path in a framework property which is used until the
ResourceResolverFactory is available, that's fine with me, but IMHO
overkill as we already have the org.apache.sling.commons.log.level
property which is there to help troubleshoot issues during
bootstrapping.


 This is similar to how so far  JR2  configuration was handled via
 repository.xml and Repository bundle provided an option to provide a
 custom repository.xml for first startup.

 4. Can be further extended via Config Fragments [2]. It supports an
 extension point to provide
xml fragments from different source. Later we can add an impl which
 can look up config
   fragments in JCR repo and provide it to Common Log

 This needs to be done against the resource resolver, not the JCR
 directly. And if you do that, then #2 isn't necessary as you can use
 the File System Resource Provider to point the configured resource
 path to a file system resource.

 Commons Log bundle exposes an extension point and that can be
 implemented using any possible means. In Sling one can implement it
 against ResourceProvider also. However it would always be *one* of the
 option.

My point is that one shouldn't need to implement this. It needs to
be a standard feature. And it should be documented as the secondary
way to configure Logback, with ConfigAdmin being the primary way.


 In my opinion, these are showstoppers and warrant cancelling the
 release. Otherwise, we are stuck with a backwards compatibility issue.

 I still do not get the concern here. The Log bundle provides various
 means to configure Logback and users are free to use any of the means.
 Currently the Log bundle can has no dependency on Sling API and can
 easily be used in non Sling containers also. All these options are
 fully supported and well documented with backing testcase.

As I said, my concern is one of consistency. The first goal of Sling
log support should be to support Sling-based applications. If it can
work outside of Sling, that would be nice to have, but IMHO is a
non-goal, especially if it results in an inconsistency.

Justin


 regards
 Chetan


Re: [VOTE] - Accept donation of replication module to Apache Sling

2013-11-19 Thread Felix Meschberger
+1

Conditional on the IP process.

Regards
Felix

—
Felix Meschberger  |  Principal Scientist  |  Adobe



Am 12.11.2013 um 01:02 schrieb Tommaso Teofili tommaso.teof...@gmail.com:

 Hi all,
 
 as per discussions on SLING-3223 [1] I'm opening the vote for accepting the
 Sling replication module for inclusion in Apache Sling project:
 
 [ ] +1 : accept its donation to Apache Sling
 [ ] +0 : don't care
 [ ] -1 : don't accept it because ...
 
 Vote is open for the next 72 hours.
 
 Looking forward to your votes.
 Regards,
 Tommaso
 
 [1] : https://issues.apache.org/jira/browse/SLING-3223



Re: New way of configuring Logging in Sling

2013-11-19 Thread Chetan Mehrotra
Hi Justin,

The point I am try to emphasize is that Log bundle sits at the lowest
level of the bundle stack. At that level it cannot have a direct
dependency on a layer (like ResourceResolver API) which is higher in
the stack. It should only be dependent on OSGi Framework API. And
having an xml based mechanism (completely optional)  to configure
Logback without depending on any other sub system would allow me to
use its full feature set in troubleshooting issues.

If Log system has to rely on a component like
FileSystemResourceProvider (Sling API starts at Level 20) then that
would make it much harder to debug startup issues say issues which
occur when repository starts (start level 15). IMHO Log bundle must be
robust and hence should not depend on external systems for core
feature set.

Further answers inline.

On Tue, Nov 19, 2013 at 11:20 PM, Justin Edelson
jus...@justinedelson.com wrote:
 Hi Chetan,


 As I said, if you want to configure logging using a file, you can do
 this with the File System Resource Provider. If you want to support
 directly loading from a file for bootstrapping purposes, i.e. there's
 a path in a framework property which is used until the
 ResourceResolverFactory is available, that's fine with me, but IMHO
 overkill as we already have the org.apache.sling.commons.log.level
 property which is there to help troubleshoot issues during
 bootstrapping.

Tweaking the Log level to debug is just one of the various features.
With Logback I can also enable logging of caller stack, MDC data, in
line event evaluation etc which prove to be very useful for me in
troubleshooting. And you never know what you might require to
troubleshoot bootstrapping which in env like OSGi might be quite
involved. And as explained above relying till the time File System
Resource Provider comes up would not be good as it comes too late in
the startup cycle.

 My point is that one shouldn't need to implement this. It needs to
 be a standard feature. And it should be documented as the secondary
 way to configure Logback, with ConfigAdmin being the primary way.

As mentioned in starting Log bundle cannot directly depend on the
Sling API. It can expose extension points which can be implemented by
components which come later in startup. Having a bundle which collects
Logback config fragments from JCR is on my ToDo list and would later
be provided as part of Sling. ConfigAdmin is already supported
directly.

 As I said, my concern is one of consistency. The first goal of Sling
 log support should be to support Sling-based applications. If it can
 work outside of Sling, that would be nice to have, but IMHO is a
 non-goal, especially if it results in an inconsistency.

I still do not see the inconsistency. As mentioned earlier the
logback.xml usage pattern is similar to how JR2 used to use
repository.xml. Further in Log bundle case it supports various others
modes of configuration and does not limit/force the user to use the
xml route to configure it which was not the case with JR2.

regards
Chetan


Jenkins build is back to normal : sling-healthcheck-1.6 #194

2013-11-19 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-healthcheck-1.6/194/