[jira] [Reopened] (SLING-3529) Move startup handling to a separate bundle

2014-08-11 Thread Carsten Ziegeler (JIRA)

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

Carsten Ziegeler reopened SLING-3529:
-


 Move startup handling to a separate bundle
 --

 Key: SLING-3529
 URL: https://issues.apache.org/jira/browse/SLING-3529
 Project: Sling
  Issue Type: New Feature
  Components: Launchpad
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler

 The startup handler is currently embedded in the Sling launchpad base - which 
 makes it impossible to use when Sling is installed in another container like 
 e.g. Apache Karaf.
 We should move this to a separate bundle to make it more reusable



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (SLING-3652) Sling Job Consumer Manager : Distribute config should be disabled by default

2014-08-11 Thread Ashutosh Shroti (JIRA)

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

Ashutosh Shroti commented on SLING-3652:


[~cziegeler] When instance started up in a cluster, changes in configuration of 
one instance are getting distributed to others by default (though the default 
value of  distribute config is false if look at felix console).

After re-setting this config (set true  the false) will actually help us to 
stop distribution of the configuration changes across instances, which is an 
un-necessary step in my opinion.

[~amitgupt] has also reproduced this issue along with me, what is your input on 
this?

 Sling Job Consumer Manager : Distribute config should be disabled by default
 

 Key: SLING-3652
 URL: https://issues.apache.org/jira/browse/SLING-3652
 Project: Sling
  Issue Type: Bug
  Components: Extensions
Affects Versions: Event 3.3.10
Reporter: Ashutosh Shroti
Assignee: Amit Gupta

 Sling Job Consumer Manager service have an following flag:
 Distribute config - disabled
 This should be disabled by default.
 Use Case: While configuring author instances in the cluster, config changes 
 like disable the listener on topic com/adobe/granite/workflow/offloading 
 should be local to an instance. Hence above mentioned flag should be disabled 
 by default to prevent config changes to local instance. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3265) Implement suggestions from SLING-3223 in Sling replication

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3265:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Implement suggestions from SLING-3223 in Sling replication
 --

 Key: SLING-3265
 URL: https://issues.apache.org/jira/browse/SLING-3265
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
 Attachments: SLING-3265.2.patch, SLING-3265.patch


 Umbrella issue to track implementation of improvements for Sling Replication 
 as suggested in SLING-3223 comments.
 Main ones refer to:
 - more tests
 - fix javadoc / typos
 - avoid AdapterFactory for installing packages
 - fix action names
 - refactor AuthenticationHandlers



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3394) Fix agent isPassive (reverse replication) checks

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3394:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Fix agent isPassive (reverse replication) checks
 

 Key: SLING-3394
 URL: https://issues.apache.org/jira/browse/SLING-3394
 Project: Sling
  Issue Type: Bug
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili

 the SimpleReplicationAgent#isPassive method is not working as the 
 TransportHandler initialization in ReplicationAgentServiceFactory has changed 
 due to the move of TransportHandlers as own configurations and services hence 
 that reference can never be null. Also its usage in 
 SimpleReplicationAgent#removeHead is inverted and breaks the reverse 
 replication scenario.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3310) Use a released parent POM in Sling Replication

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3310:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Use a released parent POM in Sling Replication 
 ---

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


 As other contrib/extensions modules it'd be good for Sling Replication to use 
 a released parent POM (at 19-SNAPSHOT instead at the moment)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3404) JobHandlingReplicationQueue reports failed Job.toString

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3404:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 JobHandlingReplicationQueue reports failed Job.toString
 ---

 Key: SLING-3404
 URL: https://issues.apache.org/jira/browse/SLING-3404
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili

 JobHandlingReplicationQueue currently logs an INFO message when a Job is 
 created internally, however this triggers a strange 
 ConcurrentModificationException : 
 SLF4J: Failed toString() invocation on an object of type 
 [org.apache.sling.event.impl.jobs.JobImpl]
 java.util.ConcurrentModificationException
   at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
   at java.util.HashMap$EntryIterator.next(HashMap.java:834)
   at java.util.HashMap$EntryIterator.next(HashMap.java:832)
   at java.util.AbstractMap.toString(AbstractMap.java:485)
   at 
 org.apache.sling.api.wrappers.ValueMapDecorator.toString(ValueMapDecorator.java:210)
   at java.lang.String.valueOf(String.java:2826)
   at java.lang.StringBuilder.append(StringBuilder.java:115)
   at org.apache.sling.event.impl.jobs.JobImpl.toString(JobImpl.java:383)
   at 
 org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:304)
   at 
 org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:276)
   at 
 org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:230)
   at 
 ch.qos.logback.classic.spi.LoggingEvent.getFormattedMessage(LoggingEvent.java:298)
   at 
 ch.qos.logback.classic.spi.LoggingEvent.prepareForDeferredProcessing(LoggingEvent.java:208)
   at 
 ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:206)
   at 
 ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:175)
   at 
 ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:103)
   at 
 ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88)
   at 
 ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
   at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:273)
   at ch.qos.logback.classic.Logger.callAppenders(Logger.java:260)
   at 
 ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:442)
   at ch.qos.logback.classic.Logger.filterAndLog_1(Logger.java:414)
   at ch.qos.logback.classic.Logger.info(Logger.java:604)
   at 
 org.apache.sling.replication.queue.impl.jobhandling.JobHandlingReplicationQueue.add(JobHandlingReplicationQueue.java:72)
   at 
 org.apache.sling.replication.queue.impl.ErrorAwareQueueDistributionStrategy.offer(ErrorAwareQueueDistributionStrategy.java:115)
   at 
 org.apache.sling.replication.agent.impl.SimpleReplicationAgent.schedule(SimpleReplicationAgent.java:167)
   at 
 org.apache.sling.replication.agent.impl.SimpleReplicationAgent.schedule(SimpleReplicationAgent.java:149)
   at 
 org.apache.sling.replication.agent.impl.SimpleReplicationAgent.send(SimpleReplicationAgent.java:104)
   at 
 org.apache.sling.replication.rule.impl.ScheduleReplicateReplicationRule$ScheduledReplication.run(ScheduleReplicateReplicationRule.java:95)
   at 
 org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105)
   at org.quartz.core.JobRunShell.run(JobRunShell.java:207)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
   at java.lang.Thread.run(Thread.java:695)
 The trivial workaround for the replication queue is to switch to log, for 
 example, just the ID or something else. However it'd be interesting to 
 understand what's causing it.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3385) Expose replication agents actions and information via HTTP.

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3385:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

  Expose replication agents actions  and information via HTTP.
 -

 Key: SLING-3385
 URL: https://issues.apache.org/jira/browse/SLING-3385
 Project: Sling
  Issue Type: Bug
  Components: Replication
Reporter: Marius Petria

 We need a safe way to expose replication agents actions via HTTP.
 Replication agents are OSGI services that can do the following actions:
 - replicate a content tree (build a content package and add it to a queue)
 - add a content package into a queue
 - remove a content package from its queue
 A replication agent also exposes information about packages in its queues.
 We have to expose all this actions and information over HTTP in order to be 
 available to authorized users.
 Actions:
 - Replicate (schedules a replication action)
 POST /system/replication/agents
 X-replication-action: ADD/DELETE
 X-replication-path: /content/mycontent
 X-replication-agent: {agentName}
 - Import/Export (adds or removes a package from a queue)
 POST /system/replication/packages
 X-replication-action: PACKAGE_OFFER/PACKAGE_POLL
 X-replication-queue: {queueName}
 X-replication-agent: {agentName}
 -Information about agents, queues, packages
 GET /system/replication/agents?agent={agentName}
 GET /system/replication/queues?agent={agentName}
 GET /system/replication/packages?queue={queueName}agent={agentName}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3298) PollingTransportHandler should have a configurable no. of consecutive polls

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3298:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 PollingTransportHandler should have a configurable no. of consecutive polls
 ---

 Key: SLING-3298
 URL: https://issues.apache.org/jira/browse/SLING-3298
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
 Attachments: SLING-3298.patch


 By default the PollingTransportHandler tries to consume all the available 
 package streams on the remote instance, this should be configurable (keeping 
 the current default) to address scenarios where there might be too many items 
 to fetch in a single call (even if currently they'd be different HTTP 
 requests).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3299) Remote agent queue poll should be restricted as queueing agents

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3299:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Remote agent queue poll should be restricted as queueing agents
 -

 Key: SLING-3299
 URL: https://issues.apache.org/jira/browse/SLING-3299
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Bertrand Delacretaz
 Attachments: SLING-3299.patch


 ReplicationAgentPollServlet should only poll from agents used for queuing 
 packages (having null or empty endpoint).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3330) Allow asynchronous package import

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3330:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Allow asynchronous package import
 -

 Key: SLING-3330
 URL: https://issues.apache.org/jira/browse/SLING-3330
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili

 Let the ReplicationPackageImporter be able to import replication package 
 streams asynchronously, this will involve having its own queue.
 In the future it may be worth moving such functionalities directly into 
 polling agents so that existing queue providers and queue distribution 
 strategy can be used also for package imports.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3833) Cleanup ReplicationAgent interface and ReplicationAgentConfiguration

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3833:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Cleanup ReplicationAgent interface and ReplicationAgentConfiguration
 

 Key: SLING-3833
 URL: https://issues.apache.org/jira/browse/SLING-3833
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3833.patch


 ReplicationAgent should have a minimal interface. More specifically a client 
 should be able to schedule a ReplicationRequest and to visualize the 
 ReplicationQueues.
 If we decide that synchronous execution is needed then that should be 
 properly implemented as the current version is not synchronous. 
 Also, agent configuration is particular to the SimpleReplicationAgent 
 implementation. It is true that it is the single implementation that we have 
 but  it cannot be an API unless we decide on a fixed set of properties that 
 all agent implementations should have. Either way configurations are 
 currently accessible through the custom resource provider.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3281) Expose more information on the replication queues

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3281:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Expose more information on the replication queues
 -

 Key: SLING-3281
 URL: https://issues.apache.org/jira/browse/SLING-3281
 Project: Sling
  Issue Type: Task
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Bertrand Delacretaz
 Attachments: SLING-3281.2.patch, SLING-3281.3.patch, 
 SLING-3281.4.patch, SLING-3281.5.patch, SLING-3281.patch


 It'd be useful to have more information on:
 1. the items contained in a replication queue being still be able to process 
 one item at a time.
 2. how to remove a specific item
 This will ease the monitoring of what's in the replication queues and also to 
 use queues as the buffer to pull items from a remote instance.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3480) Adding test for replication config delete

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3480:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Adding test for replication config delete
 -

 Key: SLING-3480
 URL: https://issues.apache.org/jira/browse/SLING-3480
 Project: Sling
  Issue Type: Test
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
Priority: Minor
 Attachments: SLING-3480.patch


 Adding test for replication config delete and also fixing the test for config 
 create,



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3327) Remove packages after being processed

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3327:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Remove packages after being processed
 -

 Key: SLING-3327
 URL: https://issues.apache.org/jira/browse/SLING-3327
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3327.patch


 After a replication package it is used cleanup the resources it occupied.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3309) Allow flushing of external caching systems

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3309:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Allow flushing of external caching systems
 --

 Key: SLING-3309
 URL: https://issues.apache.org/jira/browse/SLING-3309
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3309.1.patch, SLING-3309.patch


 Allow signaling over HTTP to external caching systems that a content 
 hierarchy has changed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3672) Sling Jobs based queue looks always empty

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3672:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Sling Jobs based queue looks always empty
 -

 Key: SLING-3672
 URL: https://issues.apache.org/jira/browse/SLING-3672
 Project: Sling
  Issue Type: Bug
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili

 When using Sling Event 3.3.10 calling {code}MapString,Object props = new 
 HashMapString,Object();
 CollectionJob jobs = jobManager.findJobs(QueryType.QUEUED, topic, -1,
 props);{code} returns no jobs even if there are, therefore queues using Sling 
 Jobs always look empty as this code is used in ReplicationQueue#getHead.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3300) Add an API to create replication agent (configuration)

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3300:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Add an API to create replication agent (configuration)
 --

 Key: SLING-3300
 URL: https://issues.apache.org/jira/browse/SLING-3300
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Bertrand Delacretaz
 Attachments: SLING-3300.patch, SLING-3300.patch


 Other than retrieving and updating configuration of an agent it's a common 
 need to be able to create an agent configuration (and therefore the agent 
 itself)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3816) Use the same flow of operations for forward and reverse replication

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3816:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Use the same flow of operations for forward and reverse replication
 ---

 Key: SLING-3816
 URL: https://issues.apache.org/jira/browse/SLING-3816
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3816.patch


 Current replication code treats differently the forward and reverse 
 replication.  Forward replication creates a content package, adds it to a 
 queue and transports it to the other instance while reverse replication 
 creates a dummy POLL package, transports it to the other instance, retrieves 
 the result queues it and then installs it in the current instance.
 The current flow for reverse replication complicates the code structure and 
 can be simplified by using three main entities:
 1. Package Importers:  can import(install) a replication package
 1.a ReplicationPackageImporter
 1.b ReplicationPackageImporterServlet bound to replication/importer resource 
 type
 1.c http://localhost:4502/libs/sling/replication/importers.json
 2. Package Exporters - can export (create) a replication package 
 2.a ReplicationPackageExporter 
 2.b ReplicationPackageExporterServlet bound to replication/exporter resource 
 type
 2.c http://localhost:4502/libs/sling/replication/exporters.json
 3. Replication Agents - coordinate the interaction between an exporter and an 
 importer using the following flow: exports a package, adds it to a queue, and 
 the imports the package. 
 3.a ReplicationAgent 
 3.b ReplicationAgentServlet bound to replication/agent resource type
 3.c  http://localhost:4502/libs/sling/replication/agents.json
 Basically for forward replication the exporter is local and the importer is 
 remote while for reverse replication the difference is that the exporter is 
 remote and the importer is local.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3295) Add a scheduled replication rule

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3295:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Add a scheduled replication rule
 

 Key: SLING-3295
 URL: https://issues.apache.org/jira/browse/SLING-3295
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Bertrand Delacretaz
 Attachments: SLING-3295.patch


 To schedule replication agents actions on certain paths every X seconds it'd 
 be good to have a dedicated replication rule, using Sling Scheduler



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3553) Run FindBugs (and fix accordingly) on Sling Replication code

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3553:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Run FindBugs (and fix accordingly) on Sling Replication code
 

 Key: SLING-3553
 URL: https://issues.apache.org/jira/browse/SLING-3553
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili
Priority: Trivial

 Sling Replication code has grown over time and I'd like to a) fix current 
 problems as reported by FindBugs b) add a reporting entry to the pom.xml in 
 order to be continuously able to check eventual problems.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3315) Refactor replication HTTP API

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3315:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Refactor replication HTTP API
 -

 Key: SLING-3315
 URL: https://issues.apache.org/jira/browse/SLING-3315
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3315.1.patch, SLING-3315.2.patch, SLING-3315.patch


 Refactor HTTP API in order to access independently the configuration of an 
 agent and the service API for an agent. This was needed because there are 
 times when a configuration can exist without an agent being available (e.g. 
 when the agent is not disabled).
 Proposed API:
 Managing configuration
 POST /system/replication/config/agent (creates and agent cofig)
 GET   /system/replication/config/agent (retrieves all agents config)
 POST /system/replication/config/agent/{agentName} (updates and agent)
 GET   /system/replication/config/agent/{agentName} (retrieves the agent 
 config)
 DELETE /system/replication/config/agent/{agentName} (deletes an agent config)
 Managing agent
 POST /system/replication/agent/{agentName} (schedules a package for 
 replication or removes one from the queue)
 GET /system/replication/agent/{agentName}/queue (lists the packages in 
 the queue)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3311) Add facilities to monitor replication status

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3311:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Add facilities to monitor replication status
 

 Key: SLING-3311
 URL: https://issues.apache.org/jira/browse/SLING-3311
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili

 It'd be good to have one or more ways of monitoring the status of replication 
 agents / queues / etc.
 Possible (not mutually exclusive) ways of doing that include: JMX, Sling 
 HealthChecks, HTTP Monitoring API.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3280) Remove old agents in agents directory

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3280:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Remove old agents in agents directory
 -

 Key: SLING-3280
 URL: https://issues.apache.org/jira/browse/SLING-3280
 Project: Sling
  Issue Type: Task
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Bertrand Delacretaz
 Attachments: SLING-3280.patch


 Agent configurations in SLING-CONTENT/libs/sling/replication/agents should be 
 removed as they were split into 
 SLING-CONTENT/libs/sling/replication/configuration/[author|publish] as part 
 of SLING-3265



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3395) Event based reverse replication

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3395:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Event based reverse replication
 ---

 Key: SLING-3395
 URL: https://issues.apache.org/jira/browse/SLING-3395
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili

 Currently polling from remote instances can be done periodically via a 
 schedule rule. An improved design would allow the poller to get 
 notifications about when a new item to poll is available. Implementation wise 
 this can be done via Websocket, Server Sent Events, Long Poll, etc. since it 
 allows the polling instance to establish the connection and the polled 
 instance to signal events there (like a command channel) asynchronously and 
 let reverse replication happen only when needed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3336) Add ability to replicate to multiple enpoints

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3336:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Add ability to replicate to multiple enpoints
 -

 Key: SLING-3336
 URL: https://issues.apache.org/jira/browse/SLING-3336
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3336.patch


 Add ability to replicate to multiple endpoints in order to support 
 broadcasting in a clustered environment.
 The implementation should also have a configurable strategy (broadcast to all 
 or just to one in the cluster).
 It should support also polling from multiple sources.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3356) Expose the import queue for reverse replication through ReplicationAgent interface

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3356:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 Expose the import queue for reverse replication through ReplicationAgent 
 interface
 --

 Key: SLING-3356
 URL: https://issues.apache.org/jira/browse/SLING-3356
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3356.1.patch, SLING-3356.2.patch, 
 SLING-3356.3.patch, SLING-3356.patch


 The replication agent should have 3 main queues (the request queue, the 
 transport queue and the response queue). These queues should be accessible 
 and manageable through ReplicationAgent interface.
 This issue relates to the implementation of the response queue inside the 
 ReplicationAgent and making it accessible through ReplicationAgent.getQueue 
 API. The response queue is the queue where reverse replication on author 
 stores packages from publish.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


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

2014-08-11 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:
---

Component/s: (was: Extensions)
 Replication
 Labels:   (was: replication)

 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: Replication
Reporter: Tommaso Teofili
Assignee: Bertrand Delacretaz
 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
 Result vote on dev@sling: http://markmail.org/thread/ix7s4fzvsdwmxrpk



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3669) Fix wrong /system/replication endpoints in http and poll transport configs

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3669:
---

Component/s: (was: Extensions)
 Replication

 Fix wrong /system/replication endpoints in http and poll transport configs
 --

 Key: SLING-3669
 URL: https://issues.apache.org/jira/browse/SLING-3669
 Project: Sling
  Issue Type: Bug
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili
Priority: Trivial

 HttpTransportHandlerFactory-http-publish-receive and 
 PollingTransportHandlerFactory-http-publish-poll configurations hold an old 
 reference to /system/replication/... endpoints which should be changed to 
 /libs/sling/replication/...



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3668) Avoid NPE in FileVaultReplicationPackage due to missing File for VLT package

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3668:
---

Component/s: (was: Extensions)
 Replication

 Avoid NPE in FileVaultReplicationPackage due to missing File for VLT package
 

 Key: SLING-3668
 URL: https://issues.apache.org/jira/browse/SLING-3668
 Project: Sling
  Issue Type: Bug
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili
Priority: Trivial

 FileVaultReplicationPackage should not throw NPE when asked for the ID when 
 the VLT package is not backed by a File.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3549) PollingTransportHandler should log connection errors

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3549:
---

Component/s: (was: Extensions)
 Replication

 PollingTransportHandler should log connection errors
 

 Key: SLING-3549
 URL: https://issues.apache.org/jira/browse/SLING-3549
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili
Priority: Minor

 PollingTransportHandler currently throws an Exception if it's unable to 
 establish a connection to the endpoint instance however it'd be better to log 
 the problem and go ahead, as that would allow to remove the useless polling 
 request from the queue which would instead stay.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3548) Replication queue servlet doesn't use the queue parameter

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SLING-3548:
---

Component/s: (was: Extensions)
 Replication

 Replication queue servlet doesn't use the queue parameter
 -

 Key: SLING-3548
 URL: https://issues.apache.org/jira/browse/SLING-3548
 Project: Sling
  Issue Type: Bug
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili
Priority: Trivial

 ReplicationQueueServlet gets but never uses an HTTP parameter to name the 
 queue to be fetched, so that the default one is always returned.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[RT] Multi Tenancy

2014-08-11 Thread Carsten Ziegeler
Hi,

we've seen a lot of different dicsussions over time wrt multi tenancy in
this list. In addition, there is the age old proposal at [1] and the tenant
module in [2] which superceeds parts of the proposal on the wiki
The current tenant module detects the tenant of a request either based on
the requested content path or the user home and provides this information
via an adapter factory for both, the resource resolver and a resource.
While this mechanism might not be sufficient, I think the key point here is
that you get the tenant by adapting the resource resolver - which actually
allows to do any detection being it path based, or based on the url, a
cookie whatever. In that sense, it seems that this design is sufficient.
When it comes to content, structuring content by tenant and using ACLs to
protect this seems to be sufficient as well.

Now, the tricky and yet unsolved part is resource and script resolution.
The idea outlined in [1] is imho obsolete because we now already have
tenant support.

I think we can add tenant support to resource resolving and script
resolution without any further api changes: both implementation can try to
adapt the resource resolver to a Tenant and then the resource resolver
implementation can use this extra information for lookups. The script
resolver uses the resource resolver anyway, the only thing needed to be
added there is that caching of script resolution should take the tenant
into account.

My suggestion is that, if the Tenant information is availabe, resource
resolving looks at three places. For example if foo/bar should be
resolved:

1. /tenants/{tenandId}/foo/bar
2. /apps/foo/bar
3. /libs/foo/bar

The first available will be used.

I think there is no need for several search paths per tenant or to make
this further configurable

WDYT?

Regards
Carsten


[1] https://cwiki.apache.org/confluence/display/SLING/Multitenancy+Support
[2] https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/tenant
-- 
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


[jira] [Resolved] (SLING-3747) Provide a way to signal Jcr Installer to pause and resume scanning

2014-08-11 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra resolved SLING-3747.


Resolution: Fixed
  Assignee: Chetan Mehrotra

Implemented the above logic in http://svn.apache.org/r1617254

The logic would check for presence of any child node in path 
{{/system/sling/installer/jcr/pauseInstallation}} (default value) as an 
indicator that JCR integration should be paused. If no child is found the 
normal processing would be done

 Provide a way to signal Jcr Installer to pause and resume scanning
 --

 Key: SLING-3747
 URL: https://issues.apache.org/jira/browse/SLING-3747
 Project: Sling
  Issue Type: New Feature
  Components: Installer
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
 Fix For: JCR Installer 3.1.8

 Attachments: SLING-3747-1.patch, SLING-3747-2.patch, SLING-3747.patch


 Currently Sling Installer JCR Provider would listen for observation event and 
 would perform a rescan every 500 msec upon receiving any observation event. 
 This at times cause issue when large number of bundles get updated in 
 repository say via installation of bug fixing content package. Further if 
 same content package also updates the repository bundle then it causes issues 
 as repository bundle might get updated midway while content package is still 
 being deployed
 Based on [~fmeschbe] suggestion this can be done via introducing a signalling 
 mechanism between component which installs package and JCR Installer. It 
 would work something like this
 # JCR Installer would listen to changes done to property 
 {{/system/sling/installer/jcr/pauseInstallation}}
 # Package installer would set the above flag to true before installing the 
 package and reset it back to false post installation
 # If JCR Installer detects that flag is set to true it would not scan the 
 watch folders untill it get reset back to false
 This should also address the issue in cluster deployment



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3747) Provide a way to signal Jcr Installer to pause and resume scanning

2014-08-11 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra updated SLING-3747:
---

Description: 
Currently Sling Installer JCR Provider would listen for observation event and 
would perform a rescan every 500 msec upon receiving any observation event. 

This at times cause issue when large number of bundles get updated in 
repository say via installation of bug fixing content package. Further if same 
content package also updates the repository bundle then it causes issues as 
repository bundle might get updated midway while content package is still being 
deployed

Based on [~fmeschbe] suggestion this can be done via introducing a signalling 
mechanism between component which installs package and JCR Installer. It would 
work something like this

# JCR Installer would check if there is any node under 
{{/system/sling/installer/jcr/pauseInstallation}} as a signal to pause 
installation. 
# Package installer would create a child node under the above path before 
installing the package and remove it post installation

This should also address the issue in cluster deployment

  was:
Currently Sling Installer JCR Provider would listen for observation event and 
would perform a rescan every 500 msec upon receiving any observation event. 

This at times cause issue when large number of bundles get updated in 
repository say via installation of bug fixing content package. Further if same 
content package also updates the repository bundle then it causes issues as 
repository bundle might get updated midway while content package is still being 
deployed

Based on [~fmeschbe] suggestion this can be done via introducing a signalling 
mechanism between component which installs package and JCR Installer. It would 
work something like this

# JCR Installer would listen to changes done to property 
{{/system/sling/installer/jcr/pauseInstallation}}
# Package installer would set the above flag to true before installing the 
package and reset it back to false post installation
# If JCR Installer detects that flag is set to true it would not scan the watch 
folders untill it get reset back to false

This should also address the issue in cluster deployment


 Provide a way to signal Jcr Installer to pause and resume scanning
 --

 Key: SLING-3747
 URL: https://issues.apache.org/jira/browse/SLING-3747
 Project: Sling
  Issue Type: New Feature
  Components: Installer
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
 Fix For: JCR Installer 3.1.8

 Attachments: SLING-3747-1.patch, SLING-3747-2.patch, SLING-3747.patch


 Currently Sling Installer JCR Provider would listen for observation event and 
 would perform a rescan every 500 msec upon receiving any observation event. 
 This at times cause issue when large number of bundles get updated in 
 repository say via installation of bug fixing content package. Further if 
 same content package also updates the repository bundle then it causes issues 
 as repository bundle might get updated midway while content package is still 
 being deployed
 Based on [~fmeschbe] suggestion this can be done via introducing a signalling 
 mechanism between component which installs package and JCR Installer. It 
 would work something like this
 # JCR Installer would check if there is any node under 
 {{/system/sling/installer/jcr/pauseInstallation}} as a signal to pause 
 installation. 
 # Package installer would create a child node under the above path before 
 installing the package and remove it post installation
 This should also address the issue in cluster deployment



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (SLING-3836) Allow deep vs shallow replication options

2014-08-11 Thread Marius Petria (JIRA)
Marius Petria created SLING-3836:


 Summary: Allow deep vs shallow replication options
 Key: SLING-3836
 URL: https://issues.apache.org/jira/browse/SLING-3836
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria


Users of replication should have a way to choose whether to replicate a node
- deep: including all its subtree
- shallow: including just he node properties

Typically an user editing content visually will trigger a replication of only 
the edited content (shallow).
However an user importing a lot of content will trigger a deep replication 
after all content is imported.

Shallow replication is more targeted and produces the least changes in the 
system and it is probably best fitted to be the default replication option.





--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (SLING-3709) Sling Models: Allow caller to deal with exceptions

2014-08-11 Thread Konrad Windszus (JIRA)

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

Konrad Windszus commented on SLING-3709:


I enriched the PR to also use the same mechanism for instanciating submodels. 
The ValidationException for now will stay as is. Later on we can improve that.

 Sling Models: Allow caller to deal with exceptions
 --

 Key: SLING-3709
 URL: https://issues.apache.org/jira/browse/SLING-3709
 Project: Sling
  Issue Type: Improvement
Affects Versions: Sling Models Implementation 1.0.4, Sling Models 
 Implementation 1.0.6
Reporter: Konrad Windszus

 Currently due to the specification of the adaptTo-method to return null if 
 adaptation is not possible, the caller is not notified about any exceptions 
 (because they are caught within the ModelAdapterFactory).
 This is e.g. necessary to deal with validation exceptions properly (i.e. 
 required field injection not possible).  The problem was also discussed 
 briefly in 
 http://apache-sling.73963.n3.nabble.com/Silng-Models-Validation-Framework-td4033411.html.
 All exceptions either being thrown by the 
 @PostConstruct method or caused by the field/method injection are not 
 propagated but basically swallowed by Sling Models.
 It would be great to be able to catch those exceptions either in the view or 
 in a servlet filter. I think it should be possible to throw unchecked 
 exceptions in the ModelAdapterFactory.getFactory() method if it is requested 
 (i.e. through a global OSGi configuration flag for Sling Models).
 WDYT?
 Would you accept such a patch or do you think this breaks the API (also 
 compare with 
 https://issues.apache.org/jira/browse/SLING-2712?focusedCommentId=13561516page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13561516).
 If it does not work through the adaptTo, SlingModels should provide an 
 alternative way of instanciating models (and propagating exceptions), 
 although this is kind of tricky, because it internally relies on adaptTo as 
 well (e.g. in 
 https://github.com/apache/sling/blob/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java#L647)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (SLING-3399) OOME in JcrResourceListener for many events

2014-08-11 Thread JIRA

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

Michael Dürig resolved SLING-3399.
--

Resolution: Won't Fix
  Assignee: Michael Dürig

Resolving as won't fix as the {{OakResourceListner}} from SLING-3279 should be 
used when running into this problem.

 OOME in JcrResourceListener for many events
 ---

 Key: SLING-3399
 URL: https://issues.apache.org/jira/browse/SLING-3399
 Project: Sling
  Issue Type: Bug
  Components: JCR
Affects Versions: JCR Resource 2.3.0
Reporter: Michael Dürig
Assignee: Michael Dürig

 Oak supports large number of transient changes to be saved with a single save 
 call. As a consequence such an operation will generate a big batch of 
 observation events, which can cause the JcrResourceListener to run out of 
 heap space.
 See also SLING-3279 where I already noted that queueing observation events 
 might be problematic.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (SLING-3836) Allow deep vs shallow replication options

2014-08-11 Thread Marius Petria (JIRA)

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

Marius Petria commented on SLING-3836:
--

There are two options to implement this. At the level of replication API or as 
a configuration of the package exporter.

- API based: Add a property (isDeep) to ReplicationRequest that lets the agent 
know what the intention is.
- Configuration based: An agent can be configured to replicate all requests 
deep or shallow. A client will have to use two separate agents for replicating 
deep or shallow.

It is worth thinking how such options should be treated in general. We might 
need to add options for synchronous replication, or even more complex tree 
replication (always replicating jcr:content for pages).

 Allow deep vs shallow replication options
 -

 Key: SLING-3836
 URL: https://issues.apache.org/jira/browse/SLING-3836
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
  Labels: replication

 Users of replication should have a way to choose whether to replicate a node
 - deep: including all its subtree
 - shallow: including just he node properties
 Typically an user editing content visually will trigger a replication of only 
 the edited content (shallow).
 However an user importing a lot of content will trigger a deep replication 
 after all content is imported.
 Shallow replication is more targeted and produces the least changes in the 
 system and it is probably best fitted to be the default replication option.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3837) Have a way to distribute replication configs across instances

2014-08-11 Thread Marius Petria (JIRA)

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

Marius Petria updated SLING-3837:
-

Summary: Have a way to distribute replication configs across instances  
(was: Have a way such that replication configs can be distributed across 
instances)

 Have a way to distribute replication configs across instances
 -

 Key: SLING-3837
 URL: https://issues.apache.org/jira/browse/SLING-3837
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
  Labels: replication

 Define and implement the necessary mechanisms for distributing replication 
 configs.
 Replication configs (agents, importers, exporters) should be editable on one 
 instance and the distributed to the other relevant instances.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (SLING-3837) Have a way to distribute replication configs across instances

2014-08-11 Thread Marius Petria (JIRA)

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

Marius Petria commented on SLING-3837:
--

This can be done by using replication itself if:
1. we have already a configured setting 
2. configs are saved as content
3. configs saved as content are available via http in a secure way.

Currently, 2-3 are not satisfied. Osgi configs are exposed via http by a custom 
resourceprovider and they do not have a well defined content location.


 Have a way to distribute replication configs across instances
 -

 Key: SLING-3837
 URL: https://issues.apache.org/jira/browse/SLING-3837
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
  Labels: replication

 Define and implement the necessary mechanisms for distributing replication 
 configs.
 Replication configs (agents, importers, exporters) should be editable on one 
 instance and the distributed to the other relevant instances.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


RE: [RT] Multi Tenancy

2014-08-11 Thread Stefan Seifert
hello carsten.

thanks for bringing this up. multi-tenancy is very important for our projects. 
but to be honest, until now i did not see that any of the current tenant api 
implementation [2] is of much use for user usecases.

let's start with the detecting of a tenant:

* if adapting from a resource resolver, detection by user is done. but this 
implies that every user is exactly assigned to one tenant, which is - at least 
in our projects - not always the case. there are always users that have access 
to multiple tenants, controlled via ACLs. so this is not a 1:1 relation, but a 
1-to-many relation.

* if adapting from a resource a path-based detection is used. here i do not 
fully understand which path is meant - the path to the content of the tenant 
(e.g. /content/*), or the path to custom scripts used in script resolution 
(comparable to /apps/*). i do not get the distinction from your RT as well - 
you refer only to the script resolution part. but if adapting from a resource, 
this is usually a content resource, not a resource pointing to a script.
in my opinion both is relevant - to be able to connect one or multiple subtrees 
in the content resource hierarchy with a specific tenant, and to allow to 
provide tenant-specific script overlays.
in a 1:1 releation user-tenant the content dependency could be modeled via 
ACLs, but if you have one user that can access multiple tenants this does not 
work.

besides this for our usecases the option to provide tenant-specific script 
resources has no high prio. much more importance is the possibility to create 
tenant-specific configuration. this may apply OSGi services, which currently 
support only one global configuration (ore one per runmode combination). on the 
other side this applies to other application-specific business logic which 
should behave differently from site to site or from tenant to tenant.

btw. we should perhaps first start to define what we mean with the term 
tenant. this much-used and overloaded term might be a source of confusion as 
well. in my view a tenant is in its smallest form e.g. one site (homepage and 
all content pages below), perhaps plus a separate area for media assets. but a 
tenant can also be a huge entity consisting of a lot of sites and other 
content. because even for a huge tenant there might be the need for different 
configuration for different sites/areas of the content we are currently 
thinking if we even need support for nested tenants, which allow a 
configuration parameter inheritance between the inner and outer tenants, up to 
the global level of OSGi configurations.

for the configuration topic perhaps a separate RT should be started, but it's 
closely related to a tenant concept.

stefan



-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org]
Sent: Monday, August 11, 2014 1:18 PM
To: dev@sling.apache.org
Subject: [RT] Multi Tenancy

Hi,

we've seen a lot of different dicsussions over time wrt multi tenancy in
this list. In addition, there is the age old proposal at [1] and the tenant
module in [2] which superceeds parts of the proposal on the wiki
The current tenant module detects the tenant of a request either based on
the requested content path or the user home and provides this information
via an adapter factory for both, the resource resolver and a resource.
While this mechanism might not be sufficient, I think the key point here is
that you get the tenant by adapting the resource resolver - which actually
allows to do any detection being it path based, or based on the url, a
cookie whatever. In that sense, it seems that this design is sufficient.
When it comes to content, structuring content by tenant and using ACLs to
protect this seems to be sufficient as well.

Now, the tricky and yet unsolved part is resource and script resolution.
The idea outlined in [1] is imho obsolete because we now already have
tenant support.

I think we can add tenant support to resource resolving and script
resolution without any further api changes: both implementation can try to
adapt the resource resolver to a Tenant and then the resource resolver
implementation can use this extra information for lookups. The script
resolver uses the resource resolver anyway, the only thing needed to be
added there is that caching of script resolution should take the tenant
into account.

My suggestion is that, if the Tenant information is availabe, resource
resolving looks at three places. For example if foo/bar should be
resolved:

1. /tenants/{tenandId}/foo/bar
2. /apps/foo/bar
3. /libs/foo/bar

The first available will be used.

I think there is no need for several search paths per tenant or to make
this further configurable

WDYT?

Regards
Carsten


[1] https://cwiki.apache.org/confluence/display/SLING/Multitenancy+Support
[2] https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/tenant
--
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


Jenkins build is back to stable : sling-trunk-1.7 #746

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-trunk-1.7/746/changes



Jenkins build is back to stable : sling-trunk-1.7 » Apache Sling Launchpad Testing #746

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing/746/



Jenkins build is still unstable: sling-trunk-1.8 » Apache Sling Resource Resolver #31

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.8/org.apache.sling$org.apache.sling.resourceresolver/31/



Jenkins build is still unstable: sling-trunk-1.8 » Apache Sling Launchpad Testing #31

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.8/org.apache.sling$org.apache.sling.launchpad.testing/31/



Jenkins build is still unstable: sling-trunk-1.8 #31

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-trunk-1.8/changes



Re: [RT] Multi Tenancy

2014-08-11 Thread Bertrand Delacretaz
Hi,

On Mon, Aug 11, 2014 at 3:13 PM, Stefan Seifert sseif...@pro-vision.de wrote:
 ...btw. we should perhaps first start to define what we mean with the term 
 tenant. this much-used and
 overloaded term might be a source of confusion as well...

Definitely - I suggest creating a page under
https://cwiki.apache.org/confluence/display/SLING for multi-tenant use
cases and definitions.

-Bertrand


[jira] [Commented] (SLING-3833) Cleanup ReplicationAgent interface and ReplicationAgentConfiguration

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili commented on SLING-3833:


patch applied, thanks Marius

 Cleanup ReplicationAgent interface and ReplicationAgentConfiguration
 

 Key: SLING-3833
 URL: https://issues.apache.org/jira/browse/SLING-3833
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3833.patch


 ReplicationAgent should have a minimal interface. More specifically a client 
 should be able to schedule a ReplicationRequest and to visualize the 
 ReplicationQueues.
 If we decide that synchronous execution is needed then that should be 
 properly implemented as the current version is not synchronous. 
 Also, agent configuration is particular to the SimpleReplicationAgent 
 implementation. It is true that it is the single implementation that we have 
 but  it cannot be an API unless we decide on a fixed set of properties that 
 all agent implementations should have. Either way configurations are 
 currently accessible through the custom resource provider.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (SLING-3833) Cleanup ReplicationAgent interface and ReplicationAgentConfiguration

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili resolved SLING-3833.


Resolution: Fixed

 Cleanup ReplicationAgent interface and ReplicationAgentConfiguration
 

 Key: SLING-3833
 URL: https://issues.apache.org/jira/browse/SLING-3833
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
Assignee: Tommaso Teofili
 Attachments: SLING-3833.patch


 ReplicationAgent should have a minimal interface. More specifically a client 
 should be able to schedule a ReplicationRequest and to visualize the 
 ReplicationQueues.
 If we decide that synchronous execution is needed then that should be 
 properly implemented as the current version is not synchronous. 
 Also, agent configuration is particular to the SimpleReplicationAgent 
 implementation. It is true that it is the single implementation that we have 
 but  it cannot be an API unless we decide on a fixed set of properties that 
 all agent implementations should have. Either way configurations are 
 currently accessible through the custom resource provider.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Re: [RT] Multi Tenancy

2014-08-11 Thread Bertrand Delacretaz
On Mon, Aug 11, 2014 at 3:29 PM, Bertrand Delacretaz
bdelacre...@apache.org wrote:
 ...I suggest creating a page under
 https://cwiki.apache.org/confluence/display/SLING for multi-tenant use
 cases and definitions...

There's already
https://cwiki.apache.org/confluence/display/SLING/Multitenancy+Support
but as Carsten says we do have a tenant API now. Like Stefan I'm just
suspecting people have different ideas about what multi-tenancy means,
so having use cases would help.

-Bertrand


Re: [RT] Multi Tenancy

2014-08-11 Thread Carsten Ziegeler
Hi Stefan,

thanks for sharing your thoughts,

2014-08-11 15:13 GMT+02:00 Stefan Seifert sseif...@pro-vision.de:


 let's start with the detecting of a tenant:

 * if adapting from a resource resolver, detection by user is done. but
 this implies that every user is exactly assigned to one tenant, which is -
 at least in our projects - not always the case. there are always users that
 have access to multiple tenants, controlled via ACLs. so this is not a 1:1
 relation, but a 1-to-many relation.

 Right, this is how the implementation currently works - the nice thing is
that this is abstracted behind the adaptTo call, so it can easily be
replaced with something totally different.


 * if adapting from a resource a path-based detection is used. here i do
 not fully understand which path is meant - the path to the content of the
 tenant (e.g. /content/*), or the path to custom scripts used in script
 resolution (comparable to /apps/*). i do not get the distinction from your
 RT as well - you refer only to the script resolution part. but if adapting
 from a resource, this is usually a content resource, not a resource
 pointing to a script.

I think in this case, adapting from a content resource is meant. To be
honest, I'm not sure if this is a good idea anyway - but the good thing is
- as above - it's abstracted. Personally I would skip this adaption and
just go with resource resolver.


 in my opinion both is relevant - to be able to connect one or multiple
 subtrees in the content resource hierarchy with a specific tenant, and to
 allow to provide tenant-specific script overlays.
 in a 1:1 releation user-tenant the content dependency could be modeled
 via ACLs, but if you have one user that can access multiple tenants this
 does not work.

 I think, the way I wanted it actually to describe is, that there is a 1:1
relation between a request and a tenant. All tenant aware components simply
adapt the resource resolver to Tenant and get the tenant. Regardless of how
the mapping is done.



 besides this for our usecases the option to provide tenant-specific script
 resources has no high prio. much more importance is the possibility to
 create tenant-specific configuration. this may apply OSGi services, which
 currently support only one global configuration (ore one per runmode
 combination). on the other side this applies to other application-specific
 business logic which should behave differently from site to site or from
 tenant to tenant.


Right, the use cases we have are per tenant scripts right now :) But I
totally agree that per tenant OSGi configuration/bundles etc would be nice.
A broad answer to this would be subsystems - although I'm not sure if it
would help in all cases.


 btw. we should perhaps first start to define what we mean with the term
 tenant. this much-used and overloaded term might be a source of confusion
 as well. in my view a tenant is in its smallest form e.g. one site
 (homepage and all content pages below), perhaps plus a separate area for
 media assets. but a tenant can also be a huge entity consisting of a lot of
 sites and other content. because even for a huge tenant there might be the
 need for different configuration for different sites/areas of the content
 we are currently thinking if we even need support for nested tenants, which
 allow a configuration parameter inheritance between the inner and outer
 tenants, up to the global level of OSGi configurations.

 for the configuration topic perhaps a separate RT should be started, but
 it's closely related to a tenant concept.


Right, it's overloaded. I think the wikipedia definition at [1] is what we
mean. Although this needs to be mapped to Sling powered application. In our
case we need partitioning of content, resource resolving and script
resolution. With fully multi tenant support this would include OSGi configs
and bundles.

So, this would fit your site definition even for large sites.


[1] http://en.wikipedia.org/wiki/Multitenancy

Regards
Carsten


 stefan



 -Original Message-
 From: Carsten Ziegeler [mailto:cziege...@apache.org]
 Sent: Monday, August 11, 2014 1:18 PM
 To: dev@sling.apache.org
 Subject: [RT] Multi Tenancy
 
 Hi,
 
 we've seen a lot of different dicsussions over time wrt multi tenancy in
 this list. In addition, there is the age old proposal at [1] and the
 tenant
 module in [2] which superceeds parts of the proposal on the wiki
 The current tenant module detects the tenant of a request either based on
 the requested content path or the user home and provides this information
 via an adapter factory for both, the resource resolver and a resource.
 While this mechanism might not be sufficient, I think the key point here
 is
 that you get the tenant by adapting the resource resolver - which actually
 allows to do any detection being it path based, or based on the url, a
 cookie whatever. In that sense, it seems that this design is sufficient.
 When it comes to content, structuring content by 

Jenkins build is back to stable : sling-trunk-1.6 » Apache Sling Launchpad Testing #2369

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.testing/2369/



Jenkins build is back to stable : sling-trunk-1.6 #2369

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-trunk-1.6/2369/changes



[VOTE RESULT] Sling Auth Modules

2014-08-11 Thread Carsten Ziegeler
Vote passed with three binding +1 votes

Carsten


2014-08-09 0:41 GMT+02:00 Mike Müller mike...@mysign.ch:

 +1
 Best regards
 mike

  -Original Message-
  From: Carsten Ziegeler [mailto:cziege...@apache.org]
  Sent: Friday, August 08, 2014 2:26 PM
  To: dev@sling.apache.org
  Subject: [VOTE] Sling Auth Modules
 
  Hi,
 
  in order to get Launchpad 7 out, this is a vote to release
 
  Auth Core 1.1.8
  https://issues.apache.org/jira/browse/SLING/fixforversion/12326055
 
  Auth Selector 1.0.6
  https://issues.apache.org/jira/browse/SLING/fixforversion/12316095
 
  Form Based Autentication 1.0.6
  https://issues.apache.org/jira/browse/SLING/fixforversion/12324551
 
  OpenID Authentication 1.0.4
  https://issues.apache.org/jira/browse/SLING/fixforversion/12315994
 
  Staging repository:
  https://repository.apache.org/content/repositories/orgapachesling-1089
 
  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 1089 /tmp/sling-staging
 
  Please vote to approve this release:
 
[ ] +1 Approve the release
[ ]  0 Don't care
[ ] -1 Don't release, because ...
 
  This majority vote is open for at least 72 hours.
 
  Regards
  Carsten
  --
  Carsten Ziegeler
  Adobe Research Switzerland
  cziege...@apache.org




-- 
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


Re: [RT] Multi Tenancy

2014-08-11 Thread Ruben Reusser
for us the goal would be to run multiple customers in one sling instance 
without the ability to touch the code/content of any other tenant. It 
would be nice if


a) restricting users from one tennat to another would be simple
b) allow a good search path override for each tenant
c) split out the admin account into tenants (an admin session should not 
have access to all tenants)

d) osgi properties per tenant (probably needs to be handled in felix?)

Ruben

On 8/11/2014 6:29 AM, Bertrand Delacretaz wrote:

Hi,

On Mon, Aug 11, 2014 at 3:13 PM, Stefan Seifert sseif...@pro-vision.de wrote:

...btw. we should perhaps first start to define what we mean with the term 
tenant. this much-used and
overloaded term might be a source of confusion as well...

Definitely - I suggest creating a page under
https://cwiki.apache.org/confluence/display/SLING for multi-tenant use
cases and definitions.

-Bertrand




[jira] [Closed] (SLING-3488) Redirect after authentication breaks with context path

2014-08-11 Thread Carsten Ziegeler (JIRA)

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

Carsten Ziegeler closed SLING-3488.
---


 Redirect after authentication breaks with context path
 --

 Key: SLING-3488
 URL: https://issues.apache.org/jira/browse/SLING-3488
 Project: Sling
  Issue Type: Bug
  Components: Authentication
Affects Versions: Auth Core 1.1.6
Reporter: Felix Oghină
Assignee: Carsten Ziegeler
 Fix For: Auth Core 1.1.8

 Attachments: patch.diff


 Specifying a sling.auth.redirect parameter in an authentication request is 
 broken if running with a context path:
 * if the parameter value doesn't contain the context path it's rejected as 
 invalid and the request is redirected to /contextpath
 * if the parameter value contains the contextpath it is duplicated in the 
 redirect, so the request is redirected to /contextpath/contextpath/...



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Closed] (SLING-3794) Fields for dynamic references must be volatile

2014-08-11 Thread Carsten Ziegeler (JIRA)

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

Carsten Ziegeler closed SLING-3794.
---


 Fields for dynamic references must be volatile
 --

 Key: SLING-3794
 URL: https://issues.apache.org/jira/browse/SLING-3794
 Project: Sling
  Issue Type: Bug
  Components: Authentication
Affects Versions: Auth Core 1.1.6
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Auth Core 1.1.8


 The fields for dynamic references must be declared as volatile



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Closed] (SLING-3795) Fields for dynamic references must be volatile

2014-08-11 Thread Carsten Ziegeler (JIRA)

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

Carsten Ziegeler closed SLING-3795.
---


 Fields for dynamic references must be volatile
 --

 Key: SLING-3795
 URL: https://issues.apache.org/jira/browse/SLING-3795
 Project: Sling
  Issue Type: Bug
  Components: Authentication
Affects Versions: Form Based Authentication 1.0.4
Reporter: Carsten Ziegeler
Assignee: Carsten Ziegeler
 Fix For: Form Based Authentication 1.0.6






--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Closed] (SLING-3378) SelectorFormServlet should escape auth type

2014-08-11 Thread Carsten Ziegeler (JIRA)

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

Carsten Ziegeler closed SLING-3378.
---


 SelectorFormServlet should escape auth type
 ---

 Key: SLING-3378
 URL: https://issues.apache.org/jira/browse/SLING-3378
 Project: Sling
  Issue Type: Bug
  Components: Authentication
Affects Versions: Auth Selector 1.0.4
Reporter: Bertrand Delacretaz
Assignee: Bertrand Delacretaz
Priority: Minor
 Fix For: Auth Selector 1.0.6


 The SelectorFormServlet should escape the selectedAuthType request 
 parameter that it uses.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Closed] (SLING-3443) Parameter based redirection in FormAuthenticationHandler should not handle absolute urls

2014-08-11 Thread Carsten Ziegeler (JIRA)

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

Carsten Ziegeler closed SLING-3443.
---


 Parameter based redirection in FormAuthenticationHandler should not handle 
 absolute urls
 

 Key: SLING-3443
 URL: https://issues.apache.org/jira/browse/SLING-3443
 Project: Sling
  Issue Type: Bug
  Components: Authentication
Affects Versions: Form Based Authentication 1.0.2
Reporter: Ravi Teja
Assignee: Carsten Ziegeler
Priority: Critical
 Fix For: Form Based Authentication 1.0.6

   Original Estimate: 48h
  Remaining Estimate: 48h

 Suppose your login url is: http://blah/blah?resource=http://www.google.com
 Then after login succeeds, user would be redirected to http://www.google.com
 Will be submitting a pull request for this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Closed] (SLING-2293) Call to RelyingParty.newInstance() should be wraped in TCCL reset block

2014-08-11 Thread Carsten Ziegeler (JIRA)

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

Carsten Ziegeler closed SLING-2293.
---


 Call to RelyingParty.newInstance() should be wraped in TCCL reset block
 ---

 Key: SLING-2293
 URL: https://issues.apache.org/jira/browse/SLING-2293
 Project: Sling
  Issue Type: Improvement
  Components: Authentication
Reporter: Justin Edelson
Assignee: Justin Edelson
 Fix For: OpenID Authentication 1.0.4


 The code inside dyu's RelyingParty.newInstance() method uses the Thread 
 Context Classloader. We should wrap this call with some TCCL switching.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Jenkins build is still unstable: sling-oak-it-1.6 » Apache Sling Launchpad Testing #63

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-oak-it-1.6/org.apache.sling$org.apache.sling.launchpad.testing/63/



Jenkins build is still unstable: sling-oak-it-1.6 #63

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-oak-it-1.6/63/



[jira] [Created] (SLING-3838) Cleanup log.isLevelEnabled log statements where not needed

2014-08-11 Thread Tommaso Teofili (JIRA)
Tommaso Teofili created SLING-3838:
--

 Summary: Cleanup log.isLevelEnabled log statements where not needed
 Key: SLING-3838
 URL: https://issues.apache.org/jira/browse/SLING-3838
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili
Priority: Minor


Replication code has many is{Info|Debug|Warn}Enabled statements that are mostly 
not needed (as they are not in loops nor using any string concatenation) and 
thus should be removed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Jenkins build is still unstable: sling-trunk-1.8 » Apache Sling Launchpad Testing #32

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.8/org.apache.sling$org.apache.sling.launchpad.testing/32/



[jira] [Commented] (SLING-3838) Cleanup log.isLevelEnabled log statements where not needed

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili commented on SLING-3838:


fixed in r1617297

 Cleanup log.isLevelEnabled log statements where not needed
 --

 Key: SLING-3838
 URL: https://issues.apache.org/jira/browse/SLING-3838
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili
Priority: Minor

 Replication code has many is{Info|Debug|Warn}Enabled statements that are 
 mostly not needed (as they are not in loops nor using any string 
 concatenation) and thus should be removed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (SLING-3838) Cleanup log.isLevelEnabled log statements where not needed

2014-08-11 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili resolved SLING-3838.


Resolution: Fixed

 Cleanup log.isLevelEnabled log statements where not needed
 --

 Key: SLING-3838
 URL: https://issues.apache.org/jira/browse/SLING-3838
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Tommaso Teofili
Assignee: Tommaso Teofili
Priority: Minor

 Replication code has many is{Info|Debug|Warn}Enabled statements that are 
 mostly not needed (as they are not in loops nor using any string 
 concatenation) and thus should be removed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Jenkins build is still unstable: sling-trunk-1.8 » Apache Sling Resource Resolver #32

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.8/org.apache.sling$org.apache.sling.resourceresolver/32/



Jenkins build is still unstable: sling-trunk-1.8 #32

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-trunk-1.8/changes



RE: [RT] Multi Tenancy

2014-08-11 Thread Stefan Seifert
when looking in the wiki i found another page [1] with some thoughts on multi 
tenancy from a mailing list discussion from february [2]

from this i get we have two quite different scenarios although they have a 
shared part:

* the fully isolated tenant scenario
- tenants are fully isolated and have their own script (overlay) path, own 
users, own i18n etc.
- as described in [1]
- the existing tenant implementation targets on this scenario as well, but does 
currently fulfill only part of the requirements from [1]

* the manage multiple tenants scenario
- a set of users (editors, admins etc.) manages a set of tenants with n-to-m 
relation between users and tenants
- providing script overlays and admin separation is not that important, but 
configuration and content separation

it think both scenarios can be handled with a single (flexible/customizable) 
implementation, but both have their own complexities not relevant for the 
other. so when starting a wiki page we have to respect both scenarios.

stefan

[1] 
https://cwiki.apache.org/confluence/display/SLING/Multitenancy+Support+Integration
[2] 
http://apache-sling.73963.n3.nabble.com/Tenant-Implementation-in-Sling-td4031217.html#none

-Original Message-
From: Bertrand Delacretaz [mailto:bdelacre...@apache.org]
Sent: Monday, August 11, 2014 3:32 PM
To: Bertrand Delacretaz
Cc: dev
Subject: Re: [RT] Multi Tenancy

On Mon, Aug 11, 2014 at 3:29 PM, Bertrand Delacretaz
bdelacre...@apache.org wrote:
 ...I suggest creating a page under
 https://cwiki.apache.org/confluence/display/SLING for multi-tenant use
 cases and definitions...

There's already
https://cwiki.apache.org/confluence/display/SLING/Multitenancy+Support
but as Carsten says we do have a tenant API now. Like Stefan I'm just
suspecting people have different ideas about what multi-tenancy means,
so having use cases would help.

-Bertrand


[jira] [Created] (SLING-3839) Reorganize ReplicationPackage related API in a single java package

2014-08-11 Thread Marius Petria (JIRA)
Marius Petria created SLING-3839:


 Summary: Reorganize ReplicationPackage related API in a single 
java package
 Key: SLING-3839
 URL: https://issues.apache.org/jira/browse/SLING-3839
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria


Currently ReplicationPackage APIs and implementations are split between 
serialization and transport. We need to unify this under packaging and keep the 
internal subpackages serialization and transport for utils APIs.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (SLING-3839) Reorganize ReplicationPackage related API in a single java package

2014-08-11 Thread Marius Petria (JIRA)

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

Marius Petria updated SLING-3839:
-

Attachment: SLING-3839.patch

 Reorganize ReplicationPackage related API in a single java package
 --

 Key: SLING-3839
 URL: https://issues.apache.org/jira/browse/SLING-3839
 Project: Sling
  Issue Type: Improvement
  Components: Replication
Reporter: Marius Petria
  Labels: replication
 Attachments: SLING-3839.patch


 Currently ReplicationPackage APIs and implementations are split between 
 serialization and transport. We need to unify this under packaging and keep 
 the internal subpackages serialization and transport for utils APIs.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Jenkins build is still unstable: sling-oak-it-1.6 » Apache Sling Launchpad Testing #64

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-oak-it-1.6/org.apache.sling$org.apache.sling.launchpad.testing/64/



Jenkins build is still unstable: sling-oak-it-1.6 #64

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-oak-it-1.6/64/



Jenkins build became unstable: sling-trunk-1.7 » Apache Sling Resource-Based Discovery Service #748

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.discovery.impl/748/



Jenkins build became unstable: sling-trunk-1.7 #748

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-trunk-1.7/748/changes



Jenkins build became unstable: sling-trunk-1.8 » Apache Sling Models Integration Tests #33

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.8/org.apache.sling$org.apache.sling.models.integration-tests/33/



Jenkins build is still unstable: sling-trunk-1.8 » Apache Sling Resource Resolver #33

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.8/org.apache.sling$org.apache.sling.resourceresolver/33/



Jenkins build is still unstable: sling-trunk-1.8 » Apache Sling Launchpad Testing #33

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.8/org.apache.sling$org.apache.sling.launchpad.testing/33/



Jenkins build is still unstable: sling-trunk-1.8 #33

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-trunk-1.8/changes



Jenkins build became unstable: sling-trunk-1.6 » Apache Sling JCR Installer #2371

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.installer.provider.jcr/2371/



Jenkins build became unstable: sling-trunk-1.6 » Apache Sling Launchpad Base #2371

2014-08-11 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/sling-trunk-1.6/org.apache.sling$org.apache.sling.launchpad.base/2371/



Jenkins build became unstable: sling-trunk-1.6 #2371

2014-08-11 Thread Apache Jenkins Server
See https://builds.apache.org/job/sling-trunk-1.6/2371/changes



Re: [VOTE] Release Apache Sling Query version 2.0.0

2014-08-11 Thread Robert Munteanu
+1

Robert

On Fri, Aug 8, 2014 at 3:23 PM, Carsten Ziegeler cziege...@apache.org wrote:
 +1


 2014-08-08 13:54 GMT+02:00 Robert Munteanu romb...@apache.org:

 On Fri, Aug 8, 2014 at 2:33 PM, Bertrand Delacretaz
 bdelacre...@apache.org wrote:
  On Fri, Aug 8, 2014 at 12:46 PM, Robert Munteanu romb...@apache.org
 wrote:
  ...There are still some outstanding issues:
  https://issues.apache.org/jira/browse/SLING/component/12312240
 
  FWIW I don't see any Sling Query issues in that list, that's the
  generic extensions component.


 Good point. Many modules don't have their own component. Should we
 just drop this link where it doesn't make sense?

 Robert




 --
 Carsten Ziegeler
 Adobe Research Switzerland
 cziege...@apache.org


Re: [RT] Multi Tenancy

2014-08-11 Thread Alexander Klimetschek
On 11.08.2014, at 06:13, Stefan Seifert sseif...@pro-vision.de wrote:

 btw. we should perhaps first start to define what we mean with the term 
 tenant. this much-used and overloaded term might be a source of confusion 
 as well. in my view a tenant is in its smallest form e.g. one site 
 (homepage and all content pages below), perhaps plus a separate area for 
 media assets. 

Yes.

Already today you can have multiple sites/projects/tenants by using different 
resource types:

/apps/project1/components/foo
/apps/project2/components/foo

and this is really the same as

/apps/tenant1/components/foo
/apps/tenant2/components/foo

And then use the resource types in the content:

/content/tenant1/site/@sling:resourceType = tenant1/components/foo

The next question is then probably how to avoid tenant1 can use code of 
tenant2?

And here it becomes tricky. Because if you are allowed to write arbitrary code 
(e.g. in JSPs), you can get an admin session, and thus do what you want anyway. 
So enforcing to set the right resource types in the first place (e.g. UIs not 
allowing you to choose templates / components from another tenant) have the 
same level of security then a complex tenant script resolution mechanism.

Shielding custom code from different tenants essentially will require a JVM 
that can do that properly, of which only an IBM one can do it AFAIK. OSGi 
itself won't really offer a safe shielding - even subsystems are just there for 
simpler deployment  configuration of groups that belong together, not for 
security.

Also, in general you want to minimize the parts that have to know about the 
actual tenants. Most code should just read content / resources, look up 
configurations which are absolute or relative paths (such as the resource types 
pointing from /content/tenant1 to /apps/tenant1 or a configuration reference 
from /content/tenant1 to /etc/tenant1) and handle them transparently. ACLs 
enforce access to it, e.g. all tenant1 users have access to /content/tenant1, 
/apps/tenant1 (although this is special since servlet resolution is done using 
a special user) and /etc/tenant1.

This leaves the part that needs to know about actual tenants to a minimum - the 
management of creating a new tenant (which can be just a template of content + 
ACLs + users/groups), deleting it etc. And it decouples specific application 
code from knowing the exact tenant structure, which could be different in 
different scenarios, and most importantly, it avoids being constrained to a 
single level such as /apps/tenant1 and allows nested project hiearchies such 
as /apps/tenant1/subtenant/project1. IMHO servlet resolution is one such 
application code part that shouldn't know about it.

In essence, I would be very careful in adding a new complexity such as tenant 
based resolution.

Cheers,
Alex