http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_mutable_config.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_mutable_config.html 
b/documentation/extensions/mod_mutable_config.html
index da2d526..404b8bd 100644
--- a/documentation/extensions/mod_mutable_config.html
+++ b/documentation/extensions/mod_mutable_config.html
@@ -430,7 +430,7 @@ singleton accessor:</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_optional.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_optional.html 
b/documentation/extensions/mod_optional.html
index 5e21e80..35a5aa1 100644
--- a/documentation/extensions/mod_optional.html
+++ b/documentation/extensions/mod_optional.html
@@ -205,7 +205,7 @@ Additionally an EvaluationPolicy lets you define the 
precedence of configured va
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_osgi.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_osgi.html 
b/documentation/extensions/mod_osgi.html
index fa11924..9120534 100644
--- a/documentation/extensions/mod_osgi.html
+++ b/documentation/extensions/mod_osgi.html
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml";>
        <head>
            <meta charset="utf-8"/>
-           <title>Apache Tamaya - Extensions: OSGI Integrations</title>
+           <title>Apache Tamaya - Extensions: OSGI Integration</title>
            <meta name="viewport" content="width=device-width, 
initial-scale=1.0"/>
            <meta name="description" content=""/>
            <meta name="author" content=""/>
@@ -122,10 +122,10 @@
                <div class="container">
 
                        <div class="page-header">
-                               <h1>Apache Tamaya - Extensions: OSGI 
Integrations</h1>
+                               <h1>Apache Tamaya - Extensions: OSGI 
Integration</h1>
                        </div>
 
-                       <p><em>2017-09-12</em></p>
+                       <p><em>2017-11-20</em></p>
 
                        <p><div id="preamble">
 <div class="sectionbody">
@@ -141,28 +141,30 @@
 <div class="sect2">
 <h3 id="_what_functionality_this_module_provides">What functionality this 
module provides ?</h3>
 <div class="paragraph">
-<p>Tamaya <em>OSGI</em> provides support for integration with OSGI. Hereby 
Tamaya implements the OSGI ConfigAdmin service,
-which is the OSGI basic component providing configuration. Tamaya by default 
overrides the OSGI default configuration
-but can also be configured to extend it instead.</p>
+<p>Tamaya <em>OSGI</em> provides support for integration with OSGI. Hereby 
Tamaya does actively override or extend the OSGI
+ConfigAdmin based configuration with entries stored and managed by Tamaya. 
Tamaya provides also shell extensions
+to enable/perform configuration loading and restoring actions.
+Optionally Tamaya also provides extension for automatically trigger 
configuration updates, when configuration has
+been changed and configuration injection using Tamaya&#8217;s injection 
API.</p>
 </div>
 </div>
 <div class="sect2">
 <h3 id="_compatibility">Compatibility</h3>
 <div class="paragraph">
-<p>All module described are based on Java 7, so it will run on Java 7 and 
beyond.
+<p>All module described are based on Java 8, so it will run on Java 8 and 
beyond.
 The modules are built against <strong>OSGI Compendium version 5.0</strong>. 
Tamaya OSGI support
 is tested against the following OSGI runtimes:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>Apache Karaf, version 4.0.7 (tbc)</p>
+<p>Apache Karaf, version 4.0.7</p>
 </li>
 <li>
 <p>Apache Felix, version 5.6.1</p>
 </li>
 <li>
-<p>tbd: Eclipse Equinox, version x.x.x.</p>
+<p>Eclipse Equinox, version x.x.x.</p>
 </li>
 </ul>
 </div>
@@ -180,106 +182,931 @@ 
org.apache.felix:org.apache.felix.configadmin:{felix_version}
 # API and core
 org.apache.geronimo.specs:geronimo-annotation_1.2_spec:1.0
 org.apache.tamaya:tamaya-api:{tamaya_version}
-org.apache.tamaya:tamaya-core:{tamaya_version}
 org.apache.tamaya:tamaya-spisupport:{tamaya_version}
+org.apache.tamaya:tamaya-core:{tamaya_version}
+# Required extensions
 org.apache.tamaya.ext:tamaya-functions:{tamaya_version}
 org.apache.tamaya.ext:tamaya-osgi:{tamaya_version}</code></pre>
 </div>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_how_tamaya_deals_with_osgi_specialities">How Tamaya deals with OSGI 
Specialities</h3>
+<h3 id="_tamaya_service_loading_in_osgi">Tamaya Service Loading in OSGI</h3>
 <div class="paragraph">
-<p>Important to know is that within OSGI class- and resource loading is not 
compatible with standard Java SE. Also bundle can
-be loaded or unloaded at any time, so Tamaya&#8217;s logic should not assume a 
stable non changing environment.
-These constraints are handled by Tamaya (implemented in tamaya-core and 
tamaya-psgi) as follows:</p>
+<p>Important to know is that within OSGI class- and resource loading is not 
compatible with standard Java SE. Also
+in OSGI, bundles can be loaded or unloaded at any time, so Tamaya&#8217;s 
logic must cope with this as well.
+These constraints are handled by Tamaya (implemented in tamaya-core and 
tamaya-osgi) as follows:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>Tamaya registers a ServiceListener which reads all java.util.ServiceLoader 
configurations and
+<p>Tamaya registers a OSGIServiceContext which reads all 
java.util.ServiceLoader configurations and
 registers them as OSGI services. Hereby integration is two-way: The core 
module contains an
-OSGI Activator that replaces the default ServiceContext with an OSGI based 
ServiceContext that
-will consume all services through the OSGI service API. Consequently you can 
also register Tamaya extensions
-as OSGI services yourself (e.g. your own PropertySource instances).</p>
+OSGI Activator that replaces Tamaya&#8217;s default ServiceContext with an 
OSGI based implementation that
+will consume all services from the OSGI service API. Consequently you can also 
register Tamaya extensions
+as OSGI services using standard OSGI tooling (e.g. your own PropertySource 
instances). Tamaya hereby
+also does not store any service references, so the dynamic nature of OSGI is 
fully honored.</p>
+</li>
+<li>
+<p>Tamaya&#8217;s ServiceContext SPI does additionally provide functionality 
for loading of (classpath)
+resources using the bundle&#8217;s getEntry(String) method.</p>
 </li>
 <li>
-<p>Tamaya&#8217;s ServiceContext SPI does not only provide a facade to the 
OSGI service mechanism it also provides
-an API for loading of (classpath) resources. In OSGI it delegates to the 
bundle&#8217;s getEntry(String) method.</p>
+<p>Tamaya similarly checks the classpath of all bundles for Tamaya SPI 
services to be registered thus
+implementing the ServiceLoader logic in OSGI. Hereby Tamaya will only register 
services with the
+org.apache.tamaya as root package.</p>
 </li>
 </ul>
 </div>
-<div class="paragraph">
-<p>Finally by adding Tamaya&#8217;s OSGI integration module (tamaya-osgi) 
Tamaya replaces the existing OSGI ConfigAdmin service
-with an istance based on Tamaya. Hereby Tamaya can use the existing 
ConfigAdmin component as a fallback
-or override source (see configuration options explained later). This does not 
interfere with any existing
-injection mechanism already in place in your existing OSGI environment.</p>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+Tamaya actually does not replace any existing ConfigAdmin component, Tamaya 
modifies any existing OSGI
+      configuration on changes detected and stores backups of any OSGI 
configuration before applying any
+      changes.
+</td>
+</tr>
+</table>
 </div>
 </div>
 <div class="sect2">
-<h3 
id="_configuring_how_tamaya_integrates_with_the_existing_configadmin_service">Configuring
 how Tamaya integrates with the existing ConfigAdmin service</h3>
+<h3 id="_configuring_bundles">Configuring Bundles</h3>
+<div class="sect3">
+<h4 id="_mapping_of_pids_and_factorypids">Mapping of pids and factoryPids</h4>
 <div class="paragraph">
-<p>Tamaya provides several options that define how it combines it&#8217;s 
values with the values provided
-from the additionally installed ConfigAdmin service:</p>
+<p>When accessing configuration from the OSGI ConfigAdmin a pid and an 
optional location can be provided.
+Tamaya requires all configuration for a PID to be located in keys starting 
[PID]:</p>
+</div>
+<div class="listingblock">
+<div class="title">OSGI pid mapping</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" 
data-lang="listing"># OSGI settings
+pid=myBundle
+key=common.net.port
+
+# Corresponding key in Tamaya configuration
+[myBundle]key=common.net.port</code></pre>
 </div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_enabling_disabling_tamaya">Enabling/Disabling Tamaya</h4>
+<div class="paragraph">
+<p>By default, Tamaya doesn&#8217;t do anything, unless it is told to so so. 
So having installed the Tamaya OSGI plugin,
+you will see the bundles are loaded, but your OSGI environment still works the 
same. This is not accidentally, since
+configuration is a crucial part. This means Tamaya, by default, is disabled 
for all bundles. You have now several
+options to enabled Tamaya:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>you can enable Tamaya for <strong>all</strong> bundles by default by</p>
 <div class="ulist">
 <ul>
 <li>
-<p>org.tamaya.integration.osgi.cm.ranking (int) allows to configure the OSGI 
service ranking used by the Tamaya
-BundleActivator to register Tamaya&#8217;s ConfigAdmin service. In OSGI higher 
ranking precede lower rankings.
-By default Tamaya&#8217;s OSGI extending service registration mechanism is 
reusing any annotated @Priority priority
-values as corresponsing rankings.</p>
+<p>setting the -Dtamaya-enabled=true system property.</p>
 </li>
 <li>
-<p>org.tamaya.integration.osgi.cm.override (boolean) allows to configure if 
Tamaya is overriding any existing
-values from the default ConfigAdmin instance, or only extending them. In other 
words this setting allows you to
-define, which configuration subsystem has precedence for evaluating the final 
values, either Tamaya based
-configuration (default) or the configuration mechanisms provided by default 
from your OSGI container (when this flag
-is set to false).</p>
+<p>by setting tamaya-enabled=true in the OSGI Configuration for the PID 
TamayaConfigPlugin.</p>
 </li>
 </ul>
 </div>
+</li>
+<li>
+<p>you can enable Tamaya for a single bundle by</p>
+<div class="ulist">
+<ul>
+<li>
+<p>by setting tamaya-enabled=true in the OSGI Configuration for the given 
bundle.</p>
+</li>
+<li>
+<p>by adding Tamaya-Enabled: true to the bundle&#8217;s MANIFEST.</p>
+</li>
+</ul>
 </div>
-<div class="sect2">
-<h3 id="_mapping_of_pids_and_factorypids">Mapping of pids and factoryPids</h3>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Similarly you can also combine these options the other way round:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>You can enable Tamaya by default as shown above.</p>
+</li>
+<li>
+<p>You can disable Tamaya for bundles by</p>
+<div class="ulist">
+<ul>
+<li>
+<p>by setting tamaya-enabled=false in the OSGI Configuration for the given 
bundle.</p>
+</li>
+<li>
+<p>by adding Tamaya-Enabled: false to the bundle&#8217;s MANIFEST.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_controlling_how_tamaya_changes_your_osgi_configuration">Controlling 
How Tamaya changes your OSGI Configuration</h4>
 <div class="paragraph">
-<p>When accessing configuration from the OSGI ConfigAdmin a pid, or factoryPid 
is passed additionally to
-tell the configuration service, for which bundle configuration is requested. 
Tamaya, by default, maps
-the OSGI pid or factory pid to a corresponding root section in Tamaya&#8217;s 
configuration:</p>
+<p>Tamaya supports different policies that define how Tamaya is changing the 
OSGI configuration:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>EXTEND</strong>: Only add properties not existing in the OSGI 
configuration, but never override
+or remove existing properties.</p>
+</li>
+<li>
+<p><strong>OVERRIDE</strong>: Override existing properties and also add new 
properties.</p>
+</li>
+<li>
+<p><strong>UPDATE_ONLY</strong>: Only override existing properties but do not 
add any properties.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>By default, Tamaya uses the <em>OVERRIDE</em> policy. Also this policy can 
be configured in several
+ways and with different scopes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>You can define the <em>default</em> policy applied, by</p>
+<div class="ulist">
+<ul>
+<li>
+<p>setting the -Dtamaya-policy=POLICY system property.</p>
+</li>
+<li>
+<p>by setting tamaya-policy=POLICY in the OSGI Configuration for the PID 
TamayaConfigPlugin.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Hereby, <em>POLICY</em> must be one of OVERRIDE, EXTEND, UPDATE_ONLY.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>You can also configure the policy individually for a bundle by</p>
+<div class="ulist">
+<ul>
+<li>
+<p>by setting tamaya-policy=POLICY in the OSGI Configuration for the given 
bundle.</p>
+</li>
+<li>
+<p>by adding Tamaya-Policy: POLICY to the bundle&#8217;s MANIFEST.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_mapping_osgi_pids_to_tamaya_configuration">Mapping OSGI PIDs to 
Tamaya Configuration</h4>
+<div class="paragraph">
+<p>Tamaya configuration is a single Map&lt;String,String&gt; with String keys 
and String values. Whereas OSGI configuration are
+multiple +Dictionary&lt;String,?&gt; (for several PIDs). The Tamaya OSGI 
extension implements the following mapping:</p>
+</div>
+<div class="paragraph">
+<p>As an example refer to the followinf Tamaya configuration entries:</p>
 </div>
 <div class="listingblock">
-<div class="title">OSGI default pid mapping</div>
+<div class="title">Tamaya configuration for PID 'MyPlugin'</div>
 <div class="content">
-<pre class="prettyprint highlight"><code class="language-listing" 
data-lang="listing"># OSGI parameters
-pid=myBundle
-key=common.net.port
+<pre class="prettyprint highlight"><code class="language-listing" 
data-lang="listing">[MyPlugin]ch.base.pack.Main.customer=Native Inc
+[MyPlugin]ch.base.pack.Main.use=234
+[MyPlugin]ch.base.pack.Main.encoding=UTF-8</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The OSGI Configuration Plugin now provides the following configuration for 
PID:</p>
+</div>
+<div class="listingblock">
+<div class="title">OSGI configuration for PID 'MyPlugin'</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" 
data-lang="listing">ch.base.pack.Main.use=100        (Integer)
+ch.base.pack.Main.switch=on      (Boolean)
+ch.base.pack.Main.customer=NONE  (String)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Now using Policy.OVERRIDE (as desribed in the previous section), Tamaya 
will change the OSGI configuration
+as follows:</p>
+</div>
+<div class="listingblock">
+<div class="title">OSGI configuration after Tamaya update for PID 
'MyPlugin'</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" 
data-lang="listing">ch.base.pack.Main.use=234                   (Integer)
+ch.base.pack.Main.switch=on                 (Boolean)
+ch.base.pack.Main.customer=Native Inc       (String)
+[MyPlugin]ch.base.pack.Main.encoding=UTF-8  (String)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>So Tamaya configuration mapping can be summarized as follows:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The OSGI PID is mapped to a Tamaya prefix [PID].</p>
+</li>
+<li>
+<p>The OSGI keys are the exact same keys as from Tamaya with the 
<em>[PID]</em> prefix removed.</p>
+</li>
+<li>
+<p>New entries are added (depending on the Policy) as String values.</p>
+</li>
+<li>
+<p>Types of existing entries are preserved on update (this requires the Tamaya 
entries to be convertable into
+the required target types. Refer to Tamaya&#8217;s core documentation for 
supported types and how
+to add custom converters).</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Finally, the mapping of the OSGI <em>PID</em> to the Tamaya <em>[PID]</em> 
prefix also can be customized by</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>adding tamaya-config-root as an OSGI configuration property to the OSGI 
configuration.</p>
+</li>
+<li>
+<p>adding Tamaya-Config-Root as a MANIFEST entry to the bundle.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The root will replace the default <em>[PID]</em> prefix with the value 
configured.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_osgi_configuration_backup">OSGI Configuration Backup</h4>
+<div class="paragraph">
+<p>Before Tamaya changes any OSGI configuration it creates a <em>Backup</em> 
of the existing OSGI
+configuration dictionary and stores it in serialized form in the 
plugin&#8217;s OSGI configuration.
+This allows you to restore the original OSGI configuration in case of 
problems. Hereby Tamaya
+automatically sets the tamaya-enabled=false property to disable Tamaya for the 
given
+configuration (bundle).</p>
+</div>
+<div class="paragraph">
+<p>The history can be accessed from the Tamaya Configuration Plugin Service
+(shown later).</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_osgi_configuration_change_log">OSGI Configuration Change Log</h4>
+<div class="paragraph">
+<p>All changes applied by Tamaya are logged as well using
+ConfigHistory entry items. The history can be accessed from the Tamaya 
Configuration Plugin Service
+(shown later):</p>
+</div>
+<div class="listingblock">
+<div class="title">OSGI ConfigHistory Entry</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-Java" 
data-lang="Java">public final class ConfigHistory implements Serializable{
+
+    [...]
+
+    public enum TaskType{
+        PROPERTY,
+        BEGIN,
+        END,
+    }
+
+    // ***
+    // Entry = attributes
+    // ***
+
+    public TaskType getType(){...}
+
+    public String getPid() {... }
 
-# Tamaya key
-[myBundle]common.net.port</code></pre>
+    public Object getPreviousValue() {... }
+
+    public ConfigHistory setPreviousValue(Object previousValue) {... }
+
+    public Object getValue() {...}
+
+    public ConfigHistory setValue(Object value) {...}
+
+    public String getKey() {...}
+
+    public ConfigHistory setKey(String key) {...}
+
+}</code></pre>
 </div>
 </div>
+</div>
+<div class="sect3">
+<h4 id="_the_tamaya_osgi_configuration_service">The Tamaya OSGI Configuration 
Service</h4>
 <div class="paragraph">
-<p>This mapping can be adapted if needed by implementing and registering the 
following OSGI service:</p>
+<p>As mentioned Tamaya exposes it&#8217;s OSGI functionality, allowing 
programmatic access to Tamaya configuration
+logic with the TamayaConfigService OSGI service:</p>
 </div>
 <div class="listingblock">
-<div class="title">OSGIConfigRootMapper</div>
+<div class="title">The exposed TamayaConfigService</div>
 <div class="content">
-<pre class="prettyprint highlight"><code class="language-java" 
data-lang="java">public interface OSGIConfigRootMapper {
+<pre class="prettyprint highlight"><code class="language-Java" 
data-lang="Java">public interface TamayaConfigService{
+    /** The system/config property to set Tamaya's {@link Policy}. */
+    String TAMAYA_POLICY_PROP = "tamaya-policy";
+    /** The MANIFEST property to set Tamaya's {@link Policy}. */
+    String TAMAYA_POLICY_MANIFEST = "Tamaya-Policy";
+    /** The system/config property to define a customized Tamaya's 
configuration root, replacing the {@code [PID]} default
+     * prefix used. */
+    String TAMAYA_CUSTOM_ROOT_PROP = "tamaya-config-root";
+    /** The MANIFEST property to define a customized Tamaya's configuration 
root, replacing the {@code [PID]} default
+     * prefix used. */
+    String TAMAYA_CUSTOM_ROOT_MANIFEST = "Tamaya-Config-Root";
+    /** The system/config property to enable Tamaya. */
+    String TAMAYA_ENABLED_PROP = "tamaya-enabled";
+    /** The MANIFEST property to enable Tamaya. */
+    String TAMAYA_ENABLED_MANIFEST = "Tamaya-Enabled";
+    /** The system/config property to enable Tamaya automatic updates 
(requires Tamaya's Updater plugin to be loaded as well). */
+    String TAMAYA_AUTO_UPDATE_ENABLED_PROP = "tamaya-update-enabled";
+    /** The MANIFEST property to enable Tamaya automatic updates (requires 
Tamaya's Updater plugin to be loaded as well). */
+    String TAMAYA_AUTO_UPDATE_ENABLED_MANIFEST = "Tamaya-Update-Enabled";
+
+    /**
+     * Enables/disables automatic updates (requires Tamaya's Updater plugin to 
be loaded as well).
+     * @param enabled set to true to enable updates.
+     */
+    void setAutoUpdateEnabled(boolean enabled);
+
+    /**
+     * Enables/disables Tamaya config by default.
+     * @param enabled set to true to enable Tamaya for all bundles by default.
+     */
+    void setTamayaEnabledByDefault(boolean enabled);
+
+    /**
+     * Get the flag, if Tamaya is enabled by default for all bundles.
+     * @return true if Tamaya is enabled.
+     */
+    boolean isTamayaEnabledByDefault();
+
+    /**
+     * Get the default policy Tamaya is using for adapting OSGI configuration.
+     * @return the default policy, never null.
+     */
+    Policy getDefaultPolicy();
+
+    /**
+     * Set the default policy Tamaya is using for adapting OSGI configuration.
+     * @param policy the policy, not null.
+     */
+    void setDefaultPolicy(Policy policy);
+
+    /**
+     * Updates the given OSGI configuration with Tamaya configuration.
+     * @param pid the target PID, not null.
+     * @return the new configuration.
+     */
+    Dictionary&lt;String,Object&gt; updateConfig(String pid);
+
+    /**
+     * Updates the given OSGI configuration with Tamaya configuration.
+     * @param pid the target PID, not null.
+     * @param dryRun if true, the changes will not be applied to the OSGI 
configuration.
+     * @return the configuration that would be applied, has been applied.
+     */
+    Dictionary&lt;String,Object&gt; updateConfig(String pid, boolean dryRun);
+
+    /**
+     * Updates the given OSGI configuration with Tamaya configuration.
+     * @param pid the target PID, not null.
+     * @param policy the updating policy to be used, by default.
+     * @param forcePolicy if set to true, the given policy will be used, even 
if an alternate policy is configured
+     *                    for the given PID.
+     * @param dryRun if true, the changes will not be applied to the OSGI 
configuration.
+     * @return the configuration that would be applied, has been applied.
+     */
+    Dictionary&lt;String,Object&gt; updateConfig(String pid, Policy policy, 
boolean forcePolicy, boolean dryRun);
+
+    /**
+     * Checks if a bundle is enabled for Tamaya configuration.
+     * @param bundle the bundle, not null.
+     * @return true, if the bundle is enabled.
+     */
+    boolean isBundleEnabled(Bundle bundle);
+
+    /**
+     * Get the flag if automatic updates for config changes are enabled.
+     * @return true, if automatic updates for config changes are enabled.
+     */
+    boolean isAutoUpdateEnabled();
+
+    /**
+     * Get the backup written for a PID.
+     * @param pid the pid, not null.
+     * @return the backup, or null, if no backup is present.
+     */
+    Dictionary&lt;String,?&gt; getBackup(String pid);
+
+    /**
+     * Get all current known PIDs for which backups are registered.
+     * @return all known PIDs for which backups are registered.
+     */
+    Set&lt;String&gt; getBackupPids();
+
+    /**
+     * Restores a backup, replacing the current OSGI configuration with the 
backup and
+     * disabling Tamaya for this PID.
+     * @param pid the PID, not null.
+     * @return true, if a backup has been restored successfully.
+     */
+    boolean restoreBackup(String pid);
 
-    String getTamayaConfigRoot(String pid, String factoryPid);
+    /**
+     * Stores the current OSGI configuration as a backup (only if no backup is 
existing).
+     * @param pid the target PID, not null.
+     * @return true, if a backup has been stored successfully.
+     */
+    boolean createBackup(String pid);
+
+    /**
+     * Deletes a backup, if existing.
+     * @param pid the target PID, not null.
+     * @return true, if a backup has been restored successfully.
+     */
+    boolean deleteBackup(String pid);
+
+    /**
+     * Sets the maximum getHistory size.
+     * @param maxHistory the max getHistory size. {@code 0} disables the 
getHistory function.
+     */
+    void setMaxHistorySize(int maxHistory);
+
+    /**
+     * Get the max getHistory size.
+     * @return the max getHistory size. {@code 0} means the getHistory 
function is disabled.
+     */
+    int getMaxHistorySize();
+
+    /**
+     * Access the current (full) change getHistory.
+     * @return the current getHistory, never null.
+     */
+    List&lt;ConfigHistory&gt; getHistory();
+
+    /**
+     * Clears the getHistory.
+     */
+    void clearHistory();
+
+    /**
+     * Clears the getHistory for a PID.
+     * @param pid the target PID, not null.
+     */
+    void clearHistory(String pid);
+
+    /**
+     * Get the getHistory for a PID.
+     * @param pid the target PID, not null.
+     * @return the PID's getHistory, never null.
+     */
+    List&lt;ConfigHistory&gt; getHistory(String pid);
+
+    /**
+     * Access the current OSGI configuration for a PID.
+     * @param pid the target PID, not null.
+     * @param section a subsection to be filter (using startsWith).
+     * @return the (optionally filtered) OSGI configuration.
+     */
+    Dictionary&lt;String,Object&gt; getOSGIConfiguration(String pid, String 
section);
+
+    /**
+     * Checks if a backup exists.
+     * @param pid the target PID, not null.
+     * @return true, if a backup exists.
+     */
+    boolean containsBackup(String pid);
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_the_tamaya_osgi_configuration_service_2">The Tamaya OSGI 
Configuration Service</h4>
+<div class="paragraph">
+<p>Finally Tamaya also provides support for using Tamaya&#8217;s injection API 
with your OSGI project. To enable injection
+you must install a few additional bundles:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" 
data-lang="xml">&lt;dependency&gt;
+   &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+   &lt;artifactId&gt;tamaya-osgi-injection&lt;/artifactId&gt;
+   &lt;version&gt;${tamaya.version}&lt;/version&gt;
+&lt;/dependency&gt;
+&lt;dependency&gt;
+   &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+   &lt;artifactId&gt;tamaya-injection&lt;/artifactId&gt;
+   &lt;version&gt;${tamaya.version}&lt;/version&gt;
+&lt;/dependency&gt;
+&lt;dependency&gt;
+   &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+   &lt;artifactId&gt;injection-api&lt;/artifactId&gt;
+   &lt;version&gt;${tamaya.version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Given that you can inject configuration entries</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>on your services by</p>
+<div class="ulist">
+<ul>
+<li>
+<p>setting tamaya-config-inject=true in your service properties.</p>
+</li>
+<li>
+<p>setting Tamaya-Config-Inject: true in your bundle&#8217;s manifest.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>or by using the registered ConfigInjectionService:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" 
data-lang="java">public interface ConfigInjectionService {
+    /** The manifest entry to enable Tamaya injection. */
+    String TAMAYA_INJECTION_ENABLED_MANIFEST = "Tamaya-Config-Inject";
+    /** The OSGI config entry to enable Tamaya injection. */
+    String TAMAYA_INJECTION_ENABLED_PROP = "tamaya-config-inject";
+
+    /**
+     * Checks if injection is enabled on the given service.
+     * @param reference the service reference, not null.
+     * @return true, if enjection is enabled.
+     */
+    boolean isInjectionEnabled(ServiceReference reference);
+
+    /**
+     * Checks if injection is enabled on the given service.
+     * @param bundle the bundle, not null.
+     * @return true, if enjection is enabled.
+     */
+    boolean isInjectionEnabled(Bundle bundle);
+
+    /**
+     * Configures the passed instance.
+     * @param instance the instance, not null.
+     * @param &lt;T&gt; the input and return type.
+     * @param pid the target PID, not null.
+     * @param location the optional location
+     * @return the configured instance.
+     */
+    &lt;T&gt; T configure(String pid, String location, T instance);
+
+    /**
+     * Creates a suzpplier, which supplies events as created by the basic 
supplier, which are
+     * automatically configured, when supplying.
+     * @param supplier the base supplier, not null.
+     * @param pid the target PID, not null.
+     * @param location the optional location
+     * @param &lt;T&gt; the type
+     * @return a configuring supplier.
+     */
+    &lt;T&gt; Supplier&lt;T&gt; getConfiguredSupplier(String pid, String 
location, java.util.function.Supplier&lt;T&gt; supplier);
+
+    /**
+     * Creates a template implementing the annotated methods based on current 
configuration data.
+     *
+     * @param &lt;T&gt; the type of the template.
+     * @param templateType the type of the template to be created.
+     * @param pid the target PID, not null.
+     * @param location the optional location
+     * @return the configured template.
+     */
+    &lt;T&gt; T createTemplate(String pid, String location, Class&lt;T&gt; 
templateType);
+
+    /**
+     * Configures the passed instance.
+     * @param instance the instance, not null.
+     * @param &lt;T&gt; the input and return type.
+     * @param bundle the target bundle, not null.
+     * @return the configured instance.
+     */
+    &lt;T&gt; T configure(Bundle bundle, T instance);
+
+    /**
+     * Creates a suzpplier, which supplies events as created by the basic 
supplier, which are
+     * automatically configured, when supplying.
+     * @param supplier the base supplier, not null.
+     * @param bundle the target bundle, not null.
+     * @param &lt;T&gt; the type
+     * @return a configuring supplier.
+     */
+    &lt;T&gt; Supplier&lt;T&gt; getConfiguredSupplier(Bundle bundle, 
java.util.function.Supplier&lt;T&gt; supplier);
+
+    /**
+     * Creates a template implementing the annotated methods based on current 
configuration data.
+     *
+     * @param &lt;T&gt; the type of the template.
+     * @param templateType the type of the template to be created.
+     * @param bundle the target bundle, not null.
+     * @return the configured template.
+     */
+    &lt;T&gt; T createTemplate(Bundle bundle, Class&lt;T&gt; templateType);
 }</code></pre>
 </div>
 </div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+Injection hereby is based on the OSGI ConfigAdmin values only. To use Tamaya 
configuration you have to additionally
+install the Tamaya common OSGI support as described in the previous sections.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>More details on Tamaya&#8217;s injection API can be found in the 
corresponding <a href="mod_injection.html">API documentation</a>.</p>
+</div>
+</div>
 </div>
 <div class="sect2">
 <h3 id="_special_osgi_platform_support">Special OSGI Platform support</h3>
 <div class="sect3">
-<h4 id="_apache_karaf">Apache Karaf</h4>
+<h4 id="_apache_karaf_shell">Apache Karaf Shell</h4>
+<div class="paragraph">
+<p>Apache Tamaya provides a Karaf Shell Extension providing commands for 
performing several actions related
+to Tamaya configuration. To use them, simply add the 
org.apache.tamaya.ext:tamaya-osgi-karaf-shell bundle
+to your OSGI runtime. The extension will add the following commands to your 
Karaf conaole (with prefix tamaya):</p>
+</div>
+<table class="tableblock frame-1 grid-all spread">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top"><em>Artifact</em></th>
+<th class="tableblock halign-left valign-top"><em>Description</em></th>
+<th class="tableblock halign-left valign-top"><em>Options</em></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_apply_config</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Show the 
current Tamaya configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_apply_config [options] pid
+<b>ARGUMENTS</b>
+<i>pid</i>  The target OSGI component PID.
+<b>OPTIONS</b>
+<i>operationMode, -m, --opmode</i> Explicitly set (override) the operation 
mode to use.
+<i>dryRun, -d, --dryrun</i> If set to true no OSGI configuration gets changed.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_backup_create</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Creates a 
backup of a current OSGI configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_backup_create [options] pid
+<b>ARGUMENTS</b>
+<i>pid</i>  The target pid to backup.
+<b>OPTIONS</b>
+<i>--force, -f</i>  Forces to (over)write a backup, even if one already exists.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_backup_delete</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Deletes 
the OSGI configuration backup  of Tamya.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_backup_delete pid
+<b>ARGUMENTS</b>
+<i>pid</i>  Allows to filter on the given PID. '*' removes all backups.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_backup_list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">List the 
backed-up OSGI configuration before Tamya applied changes.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_backup_list [pid]
+<b>ARGUMENTS</b>
+<i>pid</i>  Allows to filter on the given PID.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_backup_restore</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restores 
the OSGI configuration backup of Tamya and disabled the PID for Tamaya 
configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_backup_restore pid
+<b>ARGUMENTS</b>
+<i>pid</i> The target PID. '*' restores all backups.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_config</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Show the 
current Tamaya configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_config [options]
+<b>OPTIONS</b>
+<i>pi, -p, --pid</i> Apply filtering for the given OSGI component PID.
+<i>section, -s, --section</i> A starting expression selecting the section to 
be filtered.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_enable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Enables or 
disable Tamaya by default for all bundles/services (default: enabled=false). 
Disabling still allows to explicitly enable
+  bundles using 'tamaya-enable' manifest or OSGI config entries.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_enable enabled
+<b>ARGUMENTS</b>
+<i>enabled</i> The boolean value to enabled/disable Tamaya by default.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_enabled</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Check if 
Tamaya is currently by default enabled for all bundles/services (default: 
enabled=false). If disabled still Tamaya allows to
+  explicitly enable bundles using 'tamaya-enable' manifest or OSGI config 
entries.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_enabled
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_history</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Gets the 
getHistory of changes Tamaya applied to the OSGI configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_history [options] [pid]
+<b>ARGUMENTS</b>
+<i>pid</i> Allows to filter on the given PID.
+<i>--type, -t</i> Allows to filter the events types shown.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_history_delete</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Deletes 
the getHistory of changes Tamaya applied to the OSGI configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_history_delete pid
+<b>ARGUMENTS</b>
+<i>pid</i> Allows to filter on the given PID.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_history_delete_all</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Deletes 
the full getHistory of changes Tamaya applied to the OSGI 
configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_history_delete_all
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_history_maxsize</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Gets the 
maximal size of stored getHistory entries.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_history_maxsize
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_history_maxsize_set</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Sets the 
maximal size of Tamaya getHistory entries.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_history_maxsize_set size
+<b>ARGUMENTS</b>
+<i>size</i>: The maximum number of entries in the getHistory.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_info</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Show he 
current Tamaya status.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_info
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_osgi_config</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Show the 
current OSGI configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_osgi_config [options] pid
+<b>ARGUMENTS</b>
+<i>pid</i> The target OSGI component PID.
+<b>OPTIONS</b>
+<i>section, -s, --section</i>: A starting expression selecting the keys to be 
filtered.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_policy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Get the 
current Tamaya overriding policy.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_policy
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_policy_set</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Sets the 
current Tamaya operation policy.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_policy_set tm_policy_set
+<b>ARGUMENTS</b>
+<i>tm_policy_set</i>: The operation policy how Tamaya intercepts OSGI 
configuration.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_propagate_updates</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Flag if 
Tamaya is automatically triggering OSGI config updates, when according Tamaya 
configuration changes.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tm_propagate_updates</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_propagate_updates_set</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configure 
if Tamaya is automatically triggering OSGI config updates, when according 
Tamaya configuration changes.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_propagate_updates_set enabled
+<b>ARGUMENTS</b>
+<i>enabled</i>: Set to true to enable Tamaya's updating trigger.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_property</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Get a 
Tamaya property.</p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><pre><b>SYNTAX</b>
+tamaya:tm_property [options] [key]
+<b>ARGUMENTS</b>
+<i>key</i>: The target property source id.
+<b>OPTIONS</b>
+<i>extended,e</i>: Also print extended property value attributes.
+<i>propertysource, ps</i>: The target property source id.
+</pre></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_propertysource</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Show the 
current Tamaya entries of a propertysource.</p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><pre><b>SYNTAX</b>
+tamaya:tm_propertysource [propertysource]
+<b>ARGUMENTS</b>
+<i>propertysource</i>: The target property source id.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">tm_propertysources</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Get a list 
of currently registered propertysources.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><pre>
+<b>SYNTAX</b>
+tamaya:tm_propertysources
+</pre></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_apache_karaf_ferature">Apache Karaf Ferature</h4>
 <div class="paragraph">
 <p>Apache Tamaya provides a Karaf feature with all required dependencies
 as 
org.apache.tamaya.ext:tamaya-karaf-features:{tamaya-version}:features:xml.</p>
 </div>
 </div>
+<div class="sect3">
+<h4 id="_apache_felix_gogo_console">Apache Felix Gogo Console</h4>
+<div class="paragraph">
+<p>Apache Tamaya also provides the same commands as described for 
<em>Karaf</em>, but executable in
+plaing Gogo console as used by Apache Felix and Equinox as
+org.apache.tamaya.ext:tamaya-gogo-shell:{tamaya-version}. Refer to the 
previous sections for
+a detailed command description.</p>
+</div>
+</div>
 </div>
 </div>
 </div></p>
@@ -294,7 +1121,7 @@ as 
org.apache.tamaya.ext:tamaya-karaf-features:{tamaya-version}:features:xml.</p
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_remote.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_remote.html 
b/documentation/extensions/mod_remote.html
index 7b6796c..19aa20e 100644
--- a/documentation/extensions/mod_remote.html
+++ b/documentation/extensions/mod_remote.html
@@ -256,7 +256,7 @@ first accessible URL determines the configuration read.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_resolver.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_resolver.html 
b/documentation/extensions/mod_resolver.html
index 577ca3a..2dc979f 100644
--- a/documentation/extensions/mod_resolver.html
+++ b/documentation/extensions/mod_resolver.html
@@ -288,7 +288,7 @@ the default implementation in place.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_resources.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_resources.html 
b/documentation/extensions/mod_resources.html
index e2691cf..9be3747 100644
--- a/documentation/extensions/mod_resources.html
+++ b/documentation/extensions/mod_resources.html
@@ -323,7 +323,7 @@ on your own.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_server.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_server.html 
b/documentation/extensions/mod_server.html
index dce6a79..5355b4a 100644
--- a/documentation/extensions/mod_server.html
+++ b/documentation/extensions/mod_server.html
@@ -403,7 +403,7 @@ Configuration:
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_spi-support.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_spi-support.html 
b/documentation/extensions/mod_spi-support.html
index 6ca6c71..96c4250 100644
--- a/documentation/extensions/mod_spi-support.html
+++ b/documentation/extensions/mod_spi-support.html
@@ -237,7 +237,7 @@ of the Tamaya API similarly.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-06</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_spring.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_spring.html 
b/documentation/extensions/mod_spring.html
index 09b0b20..e902abc 100644
--- a/documentation/extensions/mod_spring.html
+++ b/documentation/extensions/mod_spring.html
@@ -125,7 +125,7 @@
                                <h1>Apache Tamaya - Extension: Spring 
Integration</h1>
                        </div>
 
-                       <p><em>2017-09-12</em></p>
+                       <p><em>2017-11-20</em></p>
 
                        <p><div id="preamble">
 <div class="sectionbody">
@@ -141,7 +141,7 @@
 <div class="sect2">
 <h3 id="_what_functionality_this_module_provides">What functionality this 
module provides ?</h3>
 <div class="paragraph">
-<p>Tamaya <em>Spring</em> currently provides two implementations also full 
integration for Spring:</p>
+<p>Tamaya <em>Spring</em> currently provides full integration for Spring and 
Spring Boot:</p>
 </div>
 <div class="ulist">
 <ul>
@@ -166,7 +166,7 @@ which adds all the full fledged Tamaya configuration 
capabilities to Spring.</p>
 <div class="sect2">
 <h3 id="_compatibility">Compatibility</h3>
 <div class="paragraph">
-<p>Both modules are based on Java 7, so they will run on Java 7 and beyond. 
The extension shown here works similarly
+<p>Both modules are based on Java 8, so they will run on Java 8 and beyond. 
The extension shown here works similarly
 with Spring Framework as well as Spring Boot.</p>
 </div>
 </div>
@@ -189,7 +189,23 @@ with Spring Framework as well as Spring Boot.</p>
 <h3 id="_registering_tamaya_spring_configuration">Registering Tamaya Spring 
Configuration</h3>
 <div class="paragraph">
 <p>Basically to activate the Tamaya Spring support the most simple thing is to 
a enable the Tamaya package for being
-scanned for Spring components, e.g.</p>
+scanned for Spring components, e.g. using annotations:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" 
data-lang="java">@SpringBootApplication
+@ComponentScan({"org.apache.tamaya.integration.spring"})
+public class SampleWebFreeMarkerApplication {
+
+       public static void main(String[] args) throws Exception {
+               SpringApplication.run(SampleWebFreeMarkerApplication.class, 
args);
+       }
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Of course, you can still use Spring&#8217;s XML configuration variant 
similarly:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -206,21 +222,9 @@ scanned for Spring components, e.g.</p>
 &lt;/beans&gt;</code></pre>
 </div>
 </div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
-Of course you can also use the newer @ComponentScan annotation as described by 
the Spring documentation.
-</td>
-</tr>
-</table>
-</div>
 <div class="paragraph">
-<p>Similarly if you dont want to use component scanning you can configure 
things using plain old XML. Simply add the
-following lines somewhere into one of your application context configuration 
files.</p>
+<p>Though not recommended you can explicitly register the Tamaya related beans 
manually as well in your context configuration
+files:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -242,6 +246,9 @@ is resolved from the current Tamaya configuration.</p>
 &lt;/bean&gt;</code></pre>
 </div>
 </div>
+<div class="paragraph">
+<p>Similarly</p>
+</div>
 </div>
 <div class="sect2">
 <h3 id="_configuring_your_beans">Configuring your Beans</h3>
@@ -253,47 +260,95 @@ is resolved from the current Tamaya configuration.</p>
 <pre class="prettyprint highlight"><code class="language-java" 
data-lang="java">**
  * Created by Anatole on 25.09.2015.
  */
-@ConfigDefaultSections
+@ConfigDefaultSections("app.root") // optional <b class="conum">(1)</b>
+@Component
 public class ConfiguredSpringBean {
 
+    @Value("${application.message:Hello World}")  <b class="conum">(2)</b>
     private String message;
 
     @Autowired
     private Environment env;
 
+    @Config(value = "alternateMessage", required = false) <b 
class="conum">(3)</b>
+    private String anotherMessage = "N/A";
+
     @Config("java.version")
     private String javaVersion;
 
-    @Config
-    @ConfigDefault("23")
+    @Config(value={"number", "testNum", "[notavailable]"}, defaultValue="23") 
<b class="conum">(4)</b><b class="conum">(5)</b>
     private int testNumber;
 
-    public String getJavaVersion(){
-        return javaVersion;
-    }
-
-    public int getTestNumber(){
-        return testNumber;
-    }
-
-    public Environment getEnv(){
-        return env;
-    }
-
-    public void setMessage(String message){
-        this.message = message;
-    }
-
-    public String getMessage() {
-        return message;
-    }
+    ...
 }</code></pre>
 </div>
 </div>
+<div class="colist arabic">
+<ol>
+<li>
+<p>You can configure default section prefixes. This is an optional feature.</p>
+</li>
+<li>
+<p>Tamaya does not require you to change your code. You can still work with
+Spring injection for your configuration, but Tamaya will override Spring
+configuration by default.</p>
+</li>
+<li>
+<p>You can also define entries as not required, which allows you to perform
+default inialization using Java idoms.</p>
+</li>
+<li>
+<p>Tamaya allows you to define an ordered list of key candidates, which are
+combined with the section prefix, if present, to the full keys. Keys added
+in brackets ([]) are interpreted as absolute keys, so the example above
+the key candidate list evaluates to app.root.number", "app.root.testNum",
+"notavailable".</p>
+</li>
+<li>
+<p>You can configure default values used, if no other value could be evaluated
+for the given keyset.</p>
+</li>
+</ol>
+</div>
 <div class="paragraph">
 <p>Summarizing you get all the nice features of Tamaya out of the box running
 with your Spring code.</p>
 </div>
+<div class="paragraph">
+<p>This also includes for example support for <em>dynamic values</em>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" 
data-lang="java">@Config(value = "foreground.color", required = false, 
defaultValue = "#DDDDDD")
+private DynamicValue&lt;Color&gt; foregroundColor;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Dynamic values are a very flexible mechanism for managing configuration 
changes.
+You can even use an update policy to define how you want to handle 
configuration
+changes four your value:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" 
data-lang="java">foregroundColor.setUpdatePolicy(UpdatePolicy.IMMEDEATE);
+foregroundColor.addPropertyChangeListener(() -&gt; {
+   System.out.println("New forground color: " + foregroundColor.get();
+});</code></pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+For a full description of Tamaya&#8217;s injection API please
+           refer to the <a href="extensions/mod_injection.html">corresponding 
documentation</a>.
+</td>
+</tr>
+</table>
+</div>
 </div>
 </div>
 </div></p>
@@ -308,7 +363,7 @@ with your Spring code.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_usagetracker.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_usagetracker.html 
b/documentation/extensions/mod_usagetracker.html
index 7bf9547..efad59d 100644
--- a/documentation/extensions/mod_usagetracker.html
+++ b/documentation/extensions/mod_usagetracker.html
@@ -340,7 +340,7 @@ logic can be adapted or replaced.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_validation.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_validation.html 
b/documentation/extensions/mod_validation.html
index 35d5af5..379a08e 100644
--- a/documentation/extensions/mod_validation.html
+++ b/documentation/extensions/mod_validation.html
@@ -275,7 +275,7 @@ a WARNING message.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_vertx.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_vertx.html 
b/documentation/extensions/mod_vertx.html
index 3bb40a9..dac3455 100644
--- a/documentation/extensions/mod_vertx.html
+++ b/documentation/extensions/mod_vertx.html
@@ -359,7 +359,7 @@ private String valBusTarget;</code></pre>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/extensions/mod_yaml.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_yaml.html 
b/documentation/extensions/mod_yaml.html
index a5f46ca..75c227c 100644
--- a/documentation/extensions/mod_yaml.html
+++ b/documentation/extensions/mod_yaml.html
@@ -264,7 +264,7 @@ comments -&gt; Late afternoon is best. Backup contact is 
Nancy Billsmer @ 338-43
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/quickstart.html
----------------------------------------------------------------------
diff --git a/documentation/quickstart.html b/documentation/quickstart.html
index 9d24f21..81f81d1 100644
--- a/documentation/quickstart.html
+++ b/documentation/quickstart.html
@@ -444,7 +444,7 @@ MyTypeTemplate type = 
ConfigurationInjector.createTemplate(MyTypeTemplate.class)
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/spisupport.html
----------------------------------------------------------------------
diff --git a/documentation/spisupport.html b/documentation/spisupport.html
new file mode 100644
index 0000000..c7df1b2
--- /dev/null
+++ b/documentation/spisupport.html
@@ -0,0 +1,273 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+
+<html xmlns="http://www.w3.org/1999/xhtml";>
+       <head>
+           <meta charset="utf-8"/>
+           <title>Apache Tamaya: SPI Support Module</title>
+           <meta name="viewport" content="width=device-width, 
initial-scale=1.0"/>
+           <meta name="description" content=""/>
+           <meta name="author" content=""/>
+           <meta name="keywords" content=""/>
+           <meta name="generator" content="'JBake '+'${version}"/>
+
+           <!-- Le styles -->
+           <link href="../css/bootstrap.min.css" rel="stylesheet"/>
+           <link href="../css/asciidoctor.css" rel="stylesheet"/>
+           <link href="../css/base.css" rel="stylesheet"/>
+           <link href="../css/prettify.css" rel="stylesheet"/>
+
+           <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+           <!--[if lt IE 9]>
+             <script src="../js/html5shiv.min.js"></script>
+           <![endif]-->
+
+           <!-- Fav and touch icons from ASF -->
+                       <link rel="shortcut icon" href="../favicon.ico"/>
+                       <link rel="apple-touch-icon" sizes="57x57" 
href="../favicons/apple-touch-icon-57x57.png"/>
+                 <link rel="apple-touch-icon" sizes="60x60" 
href="../favicons/apple-touch-icon-60x60.png"/>
+                 <link rel="apple-touch-icon" sizes="72x72" 
href="../favicons/apple-touch-icon-72x72.png"/>
+                 <link rel="apple-touch-icon" sizes="76x76" 
href="../favicons/apple-touch-icon-76x76.png"/>
+                 <link rel="apple-touch-icon" sizes="114x114" 
href="../favicons/apple-touch-icon-114x114.png"/>
+                 <link rel="apple-touch-icon" sizes="120x120" 
href="../favicons/apple-touch-icon-120x120.png"/>
+                 <link rel="apple-touch-icon" sizes="144x144" 
href="../favicons/apple-touch-icon-144x144.png"/>
+                 <link rel="apple-touch-icon" sizes="152x152" 
href="../favicons/apple-touch-icon-152x152.png"/>
+                 <link rel="apple-touch-icon" sizes="180x180" 
href="../favicons/apple-touch-icon-180x180.png"/>
+                 <link rel="icon" type="image/png" 
href="../favicons/favicon-32x32.png" sizes="32x32"/>
+                 <link rel="icon" type="image/png" 
href="../favicons/favicon-194x194.png" sizes="194x194"/>
+                 <link rel="icon" type="image/png" 
href="../favicons/favicon-96x96.png" sizes="96x96"/>
+                 <link rel="icon" type="image/png" 
href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
+                 <link rel="icon" type="image/png" 
href="../favicons/favicon-16x16.png" sizes="16x16"/>
+                 <link rel="manifest" href="../favicons/manifest.json"/>
+                 <link rel="shortcut icon" href="../favicons/favicon.ico"/>
+                 <meta name="msapplication-TileColor" content="#603cba"/>
+                 <meta name="msapplication-TileImage" 
content="../favicons/mstile-144x144.png"/>
+                 <meta name="msapplication-config" 
content="../favicons/browserconfig.xml"/>
+                 <meta name="theme-color" content="#303284"/>
+       </head>
+       <body onload="prettyPrint()">
+       <div id="wrap">
+               <div>
+
+         <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" 
data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../index.html">Apache Tamaya 
(incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+                                               <li><a 
href="../start.html">Tamaya in 5 minutes</a></li>
+                                               <li class="dropdown">
+              <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                                                               <li><a 
href="../documentation/usecases.html">Use Cases and Requirements</a></li>
+                                                               <li><a 
href="../documentation/quickstart.html">Quickstart</a></li>
+                                                               <li><a 
href="../documentation/api.html">API</a></li>
+                                                               <li><a 
href="../documentation/core.html">Core</a></li>
+                                                               <li><a 
href="../documentation/extensions.html">Extension Guide</a></li>
+                                                               <li 
class="divider"></li>
+                                                               <li><a 
href="../apidocs/stable/index.html">Javadoc 0.3-incubating 
(release/stable)</a></li>
+                                                               <li><a 
href="../apidocs/development/index.html">Javadoc 0.4-incubating-SNAPSHOT 
(development)</a></li>
+              </ul>
+            </li>
+                                               <li class="dropdown">
+              <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                                                               <li><a 
href="../development/source.html">Sources</a></li>
+                                                               <li><a 
href="../development/community.html">Community</a></li>
+                                                               <li><a 
href="../development/team.html">Project Team</a></li>
+                                                               <li><a 
target="_blank" href="https://builds.apache.org/view/S-Z/view/Tamaya/";>CI / ASF 
Jenkins</a></li>
+                                                               <li><a 
target="_blank" href="https://issues.apache.org/jira/browse/TAMAYA";>Issues / 
ASF Jira</a></li>
+                                                               <li><a 
href="../devguide.html">Development Guide</a></li>
+                                                               <li><a 
href="../release-guide.html">Release Guide</a></li>
+                                                               <li 
class="divider"></li>
+                                                               <li><a 
href="../development/possible-contributions.html">Possible 
Contributions</a></li>
+              </ul>
+            </li>
+                                               <li class="dropdown">
+              <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                                                               <li><a 
href="../download.html">Download</a></li>
+                                                               <li><a 
href="../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+                                               <li class="dropdown">
+              <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+                                               <li><a 
href="../sitemap.xml">Sitemap</a></li>
+                                               <li><a 
href="../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+       </div>
+               <div class="container">
+
+                       <div class="page-header">
+                               <h1>Apache Tamaya: SPI Support Module</h1>
+                       </div>
+
+                       <p><em>2017-11-20</em></p>
+
+                       <p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="SPISupport">Tamaya SPI Support (Extension Module)</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Tamaya <em>SPI Support</em> is a core module only depending on the API. It 
implements lots of API and SPI related
+artifacts in a portable way. Tamaya&#8217;s core module reuses this 
functionality to build up a fully fledged
+Tamaya API implementatation.</p>
+</div>
+<div class="sect2">
+<h3 id="_what_functionality_this_module_provide">What functionality this 
module provide?</h3>
+<div class="paragraph">
+<p>Tamaya <em>SPI Support</em> provides a few helpful base classes that can be 
used to implement aspects of Tamaya:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>BasePropertySource provides an abstract <strong>base class</strong> for 
implementation of your own PropertySources.</p>
+</li>
+<li>
+<p>DefaultConfiguration provides you with a simple implementation of the 
Configuration interface based on a
+ConfigurationContext provided. This is also very useful for mocking 
configuration during test execution, but
+not only constraint to that use case.</p>
+</li>
+<li>
+<p>DefaultConfigurationContext provides you with a working implementation of 
the ConfigurationContext.</p>
+</li>
+<li>
+<p>Numerous <strong>converters</strong>, including an EnumConverter,that is a 
converter implementation that can automatically select the currect enumeration 
values based
+on a configured entry.</p>
+</li>
+<li>
+<p>MapPropertySource implements a property source based on java.util.Map.</p>
+</li>
+<li>
+<p>PriorityServiceComparator compares arbitrary services based on their 
@Priority annotations (also handling the
+case, where no such annotation is present).</p>
+</li>
+<li>
+<p>PropertiesResourcePropertySource is an implementation of a PropertySource 
based on a Properties instance,
+  loadable from any URL.
++ PropertyConverterManager is a useful service class, when implementing 
instances of ConfigurationContext.
+  It manages registered instances of PropertyConverter and provides easy to 
use type conversion logic.
++ PropertyFiltering provides another helpful class that manages PropertyFilter 
instances and provides an
+  easy to use high level API.
++ PropertySourceComparator provides an implementation that compares 
PropertySources based on their getOrdinal()
+  values and their class names.
++ The default configuration implementation also allows to replace the raw 
value evaluation
+  logic using a ConfigValueEvaluator, similar to Tamaya&#8217;s core 
implementation.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+It is highly recommended that you also read the <a 
href="../core.html">documentation</a> of Tamaya&#8217;s
+      core implementation, since this describes the abstrations in use in more
+      detail. This module allows to reuse Tamaya&#8217;s implementation 
artifacts but
+      still allows alternate implementations of the core API to be used.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 8, so it will run on Java 8 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To use Tamaya&#8217;s <em>spisupport</em> you only have to add the 
corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" 
data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-spisupport&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The component will not register any components but only provides portable 
base classes for some common SPI
+implementation tasks. It only depends on the API, so it should be safely 
reusable also with other implementations
+of the Tamaya API as well.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+                       <hr />
+               </div>
+       </div>
+       <div>
+                       <div id="push"></div>
+
+                   <div id="footer">
+                     <div class="container">
+                       <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
+                                                       | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
+                                                       at 
<span>2017-11-20</span> |
+                                               <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
+                                               </p>
+                                               <p>
+                                                               
<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review 
indicates
+                    that the infrastructure, communications, and decision 
making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability 
of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.
+                                                                               
Apache, Apache Tamaya, and the Apache Tamaya logo are registered trademarks or 
trademarks of The Apache Software Foundation in the U.S. and/or other 
countries.<br />
+                    <a href="https://incubator.apache.org/guides/website.html"; 
style="border:0px;" target="_target">
+                                                                               
        <img class="incubator-logo" src="../logos/apache-incubator.png"/>
+                                                                               
</a>
+                                                       </p>
+                     </div>
+                   </div>
+
+                   <!-- Le javascript
+                   ================================================== -->
+                   <!-- Placed at the end of the document so the pages load 
faster -->
+                   <script src="../js/jquery-1.11.1.min.js"></script>
+                   <script src="../js/bootstrap.min.js"></script>
+                   <script src="../js/prettify.js"></script>
+       </div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/documentation/usecases.html
----------------------------------------------------------------------
diff --git a/documentation/usecases.html b/documentation/usecases.html
index a546210..61fde7c 100644
--- a/documentation/usecases.html
+++ b/documentation/usecases.html
@@ -1046,7 +1046,7 @@ on Configuration.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/download.html
----------------------------------------------------------------------
diff --git a/download.html b/download.html
index 65a371a..ccde5ac 100644
--- a/download.html
+++ b/download.html
@@ -243,7 +243,7 @@ $ gpg --verify 
tamaya-project-1.2.0-source-release.zip.asc</code></pre>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/examples.html
----------------------------------------------------------------------
diff --git a/examples.html b/examples.html
index df83a10..b530c4c 100644
--- a/examples.html
+++ b/examples.html
@@ -209,7 +209,7 @@ adapted.</p>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/feed.xml
----------------------------------------------------------------------
diff --git a/feed.xml b/feed.xml
index 1f7f274..f09dec4 100644
--- a/feed.xml
+++ b/feed.xml
@@ -6,8 +6,8 @@
     <atom:link href="https://tamaya.incubator.apache.org/feed.xml"; rel="self" 
type="application/rss+xml" />
     <description>Apache Tamaya RSS feed template</description>
     <language>en-gb</language>
-    <pubDate>Di, 12 Sep 2017 22:14:27 +0200</pubDate>
-    <lastBuildDate>Di, 12 Sep 2017 22:14:27 +0200</lastBuildDate>
+    <pubDate>Mo, 20 Nov 2017 22:03:13 +0100</pubDate>
+    <lastBuildDate>Mo, 20 Nov 2017 22:03:13 +0100</lastBuildDate>
 
     <item>
       <title>Homepage improvements - multiple APIs are linked now</title>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/highleveldesign.html
----------------------------------------------------------------------
diff --git a/highleveldesign.html b/highleveldesign.html
index 64553b9..bd4778c 100644
--- a/highleveldesign.html
+++ b/highleveldesign.html
@@ -413,7 +413,7 @@ and of its current available <a 
href="documentation/extensions.html">modules</a>
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/history.html
----------------------------------------------------------------------
diff --git a/history.html b/history.html
index d267fc2..c535543 100644
--- a/history.html
+++ b/history.html
@@ -148,16 +148,22 @@
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">Download</p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">0.3-incubating</p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">2016-09-12</p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">n/a</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://www.apache.org/dist/incubator/tamaya/0.3-incubating/"; 
target="_blank">Download of 0.3 incubating</a></p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">0.2-incubating</p></td>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">2016-04-06</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="http://www.apache.org/dist/incubator/tamaya/0.2-incubating/ReleaseNotes-0.2-incubating.html";
 target="_blank">Release Notes for 0.2 incubating</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="http://www.apache.org/dist/incubator/tamaya/0.2-incubating/"; 
target="_blank">Download of 0.2 incubating</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://www.apache.org/dist/incubator/tamaya/0.2-incubating/ReleaseNotes-0.2-incubating.html";
 target="_blank">Release Notes for 0.2 incubating</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://www.apache.org/dist/incubator/tamaya/0.2-incubating/"; 
target="_blank">Download of 0.2 incubating</a></p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">0.1-incubating</p></td>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">2015-08-22</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="http://www.apache.org/dist/incubator/tamaya/0.1-incubating/ReleaseNotes-0.1-incubating.html";
 target="_blank">Release Notes for 0.1 incubating</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="http://www.apache.org/dist/incubator/tamaya/0.1-incubating/"; 
target="_blank">Download of 0.1 incubating</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://www.apache.org/dist/incubator/tamaya/0.1-incubating/ReleaseNotes-0.1-incubating.html";
 target="_blank">Release Notes for 0.1 incubating</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://www.apache.org/dist/incubator/tamaya/0.1-incubating/"; 
target="_blank">Download of 0.1 incubating</a></p></td>
 </tr>
 </tbody>
 </table>
@@ -174,7 +180,7 @@
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/d4fa395c/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 743aefe..4ea9b36 100644
--- a/index.html
+++ b/index.html
@@ -510,7 +510,7 @@
                      <div class="container">
                        <p class="muted credit">&copy; 2014-<span>2017</span> 
Apache Software Foundation | Mixed with <a 
href="http://getbootstrap.com/";>Bootstrap v3.1.1</a>
                                                        | Baked with <a 
href="http://jbake.org";>JBake <span>v2.5.1</span></a>
-                                                       at 
<span>2017-09-12</span> |
+                                                       at 
<span>2017-11-20</span> |
                                                <a 
class="twitter-follow-button" data-show-count="false" 
href="https://twitter.com/tamayaconf";>Follow @tamayaconf</a><script async 
src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                                                </p>
                                                <p>

Reply via email to