[jira] [Commented] (SLING-6026) Context-Aware Config: Pluggable configuration persistence

2016-09-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-6026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15513654#comment-15513654
 ] 

ASF GitHub Bot commented on SLING-6026:
---

Github user stefanseifert closed the pull request at:

https://github.com/apache/sling/pull/174


> Context-Aware Config: Pluggable configuration persistence
> -
>
> Key: SLING-6026
> URL: https://issues.apache.org/jira/browse/SLING-6026
> Project: Sling
>  Issue Type: New Feature
>  Components: Extensions
>Reporter: Stefan Seifert
>Assignee: Stefan Seifert
>  Labels: contextaware-config
> Fix For: Context-Aware Configuration 1.0.0
>
>
> currently configuration data is only read, and it's hard-coded how it's 
> stored in the configuration resource (properties directly in the resource).
> we need to enhance this to provide a management API to read+write 
> configuration data (required for configuration editor GUIs).
> additional the details of the persistence should be pluggable with a simple 
> default implementation which can be similar to what is present today. but in 
> more complex environments it may be desired to:
> * use special node types to store the configuration in (e.g. to make sure 
> they are stored in an index)
> * use a jcr:content subnode to store configuration data in
> * assign special resource types to support a configuration editor
> * decide in which path the configurations are stored



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (SLING-6026) Context-Aware Config: Pluggable configuration persistence

2016-09-16 Thread Stefan Seifert (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-6026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15496609#comment-15496609
 ] 

Stefan Seifert commented on SLING-6026:
---

this is a rather big change, PR is https://github.com/apache/sling/pull/174
it includes the changes for SLING-6023 as well and extends them.

what's in the PR:
* SPI for the ConfigurationResolver
** ConfigurationPersistenceStrategy to define how configuration data is stored 
(e.g. subnods, resource type etc.) - only for configuration data, not for other 
configuration resources in general
* SPI for the ConfigurationResourceResolver
** ContextPathStrategy: strategy how context paths are detected - via 
sling:config-ref parameters or implicitly or a combination (from SLING-6023)
** ConfigurationResourceResolvingStrategy: strategy where the configuration is 
stored, with what inheritance and defaulting mechanisms
* for all SPI interfaces default implementaions exist and are active by default 
that function identically to the previous implementation
* all SPIs have the same feature that it is possible to register multiple 
implementations and so only adapt or extend the behavior on certain parts 
without having to switch off the default functionality. this is done by 
"multiplexer" services for each SPI federating between the implementations 
orderd by service ranking.
* additionally there is a "Management API" which is not in the API bundle but 
in the impl bundle because it near to the implementation. its only dedicated 
for special use case e.g. implementing a configuration editor GUI, not for 
"normal" client applications. it allows to read and write configuration data 
using the mentioned SPI strategies.

> Context-Aware Config: Pluggable configuration persistence
> -
>
> Key: SLING-6026
> URL: https://issues.apache.org/jira/browse/SLING-6026
> Project: Sling
>  Issue Type: New Feature
>  Components: Extensions
>Reporter: Stefan Seifert
>Assignee: Stefan Seifert
> Fix For: Context-Aware Configuration 1.0.0
>
>
> currently configuration data is only read, and it's hard-coded how it's 
> stored in the configuration resource (properties directly in the resource).
> we need to enhance this to provide a management API to read+write 
> configuration data (required for configuration editor GUIs).
> additional the details of the persistence should be pluggable with a simple 
> default implementation which can be similar to what is present today. but in 
> more complex environments it may be desired to:
> * use special node types to store the configuration in (e.g. to make sure 
> they are stored in an index)
> * use a jcr:content subnode to store configuration data in
> * assign special resource types to support a configuration editor
> * decide in which path the configurations are stored



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (SLING-6026) Context-Aware Config: Pluggable configuration persistence

2016-09-16 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-6026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15496587#comment-15496587
 ] 

ASF GitHub Bot commented on SLING-6026:
---

GitHub user stefanseifert opened a pull request:

https://github.com/apache/sling/pull/174

SLING-6026 Context-Aware Config: Pluggable configuration persistence

also includes the changes for SLING-6023

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/stefanseifert/sling 
feature/SLING-6026-config-persistence

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/sling/pull/174.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #174


commit 67012717c2b2031a7fea5ba39ff6f61801c344c1
Author: sseifert 
Date:   2016-09-12T12:59:05Z

SLING-6023 context path strategy SPI and default impl

commit c7cfbbfd5da1b13182177cd10121580d260f82c6
Author: sseifert 
Date:   2016-09-12T13:51:18Z

SLING-6023 make use of resource builder features in unit tests

commit aea839470bc387ed47851abbf9896d7c624ec345
Author: sseifert 
Date:   2016-09-12T14:39:08Z

SLING-6023 context path strategy multiplexer

commit 78546c7d6684c784e783762870c3c1b359abe71c
Author: sseifert 
Date:   2016-09-12T14:55:17Z

SLING-6023 use context path strategy multiplexer

commit 5f9356e9cc55e1edf91a9bec5b7c3727f62ae12e
Author: sseifert 
Date:   2016-09-12T15:08:39Z

Merge branch 'trunk' into feature/SLING-6023-config-contextpath-strategy

commit 51277b7e52a23171fbad71a06135773f0e8c6a1c
Author: sseifert 
Date:   2016-09-13T09:52:59Z

SLING-6023 add configuration option to disable default context path strategy

commit 8b97170a438e45a7544eac03aa68abb62ae2de06
Author: sseifert 
Date:   2016-09-13T09:53:48Z

Merge branch 'trunk' into feature/SLING-6023-config-contextpath-strategy

commit b51233a8c971acff0f99285c15b1b008ade3331d
Author: sseifert 
Date:   2016-09-13T10:47:37Z

SLING-6026 introduce ConfigurationResourcePersistence SPI

commit d2fa7d120fa6b7a006a52e19fba7a00605d286f9
Author: sseifert 
Date:   2016-09-13T11:29:06Z

SLING-6026 rename to ConfigurationResourceResolvingStrategy and add 
multiplexer

commit 8b1d8444faed335125fcb13b4820da8826558074
Author: sseifert 
Date:   2016-09-13T12:12:02Z

SLING-6026 add ConfigurationResourcePersistenceStrategy and move default 
impl to own package

commit 1c46d11582d02c4a0421d5d51f696e20f0d6a587
Author: sseifert 
Date:   2016-09-13T12:54:56Z

SLING-6026 apply configuration resource persistence strategies

commit f5b658abef3facddbc13f29a19e072da0bca4dbb
Author: sseifert 
Date:   2016-09-13T13:54:26Z

SLING-6026 apply configuration resource persistence strategies to 
configuration resolver

commit 6eea7c429e12a525f92c0b9f760edd40a0adec31
Author: sseifert 
Date:   2016-09-13T16:06:37Z

SLING-6026 apply configuration resource persistence strategies to 
configuration resolver

commit 88d9300d99d7e0ec496d9c6138187db188cf0f2b
Author: sseifert 
Date:   2016-09-14T13:13:11Z

SLING-6026 first steps configuration manager API

commit 000deaafa14e8ad8cf622778ae48bbc9a845272a
Author: sseifert 
Date:   2016-09-15T08:00:48Z

Merge branch 'trunk' into feature/SLING-6026-config-persistence

commit 09f39f58ac47557b0c7f81f853b61a7dc4781c52
Author: sseifert 
Date:   2016-09-15T13:10:23Z

SLING-6026 synchronize test dependencies with impl project

commit 57437ce89da768596776bb89fd64cb862010b880
Author: sseifert 
Date:   2016-09-15T13:16:47Z

Merge branch 'trunk' into feature/SLING-6026-config-persistence

commit c303fa5fdc86e8fdea404cd398318d6e6e81d159
Author: sseifert 
Date:   2016-09-15T16:16:13Z

SLING-6026 config management API

commit 354dbec869a6ed6c8b37a762e4c785d9241d1089
Author: sseifert 
Date:   2016-09-15T20:23:32Z

SLING-6026 unit testa

commit 44b6d9c411d0cc01f0f8b4e7fae295d632c8b094
Author: sseifert 
Date:   2016-09-16T08:22:51Z

SLING-6026 unit tests

commit c76680b113ffde1d37bf2349acbc81dfaefc15b4
Author: sseifert 
Date:   2016-09-16T08:56:12Z

SLING-6026 get resource paths for new resources

commit 70df426fa622dac28bbb38c3d4186784a409c0bd
Author: sseifert 
Date:   2016-09-16T10:03:51Z

SLING-6026 use iterator for ContextPathStrategy for better performance

commit