[jira] [Commented] (SLING-6026) Context-Aware Config: Pluggable configuration persistence
[ 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
[ 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
[ 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: sseifertDate: 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