410296:  compendium docs outdated

Updated with regard to spring version updates
Updated links to external resource where possible
Removed ancient references to pre-gemini
resources where applicable

Applied documentation contribution:
Current documentation features outdated information
on cm update attributes. The 'update-strategy'+'update-method'
attributes were replaced by 'autowire-on-update'+
'update-method' attributes and their behavior has
changed accordingly.
diff --git a/core/src/main/java/org/eclipse/gemini/blueprint/config/internal/CollectionBeanDefinitionParser.java b/core/src/main/java/org/eclipse/gemini/blueprint/config/internal/CollectionBeanDefinitionParser.java
index a48ef6a..679455d 100644
--- a/core/src/main/java/org/eclipse/gemini/blueprint/config/internal/CollectionBeanDefinitionParser.java
+++ b/core/src/main/java/org/eclipse/gemini/blueprint/config/internal/CollectionBeanDefinitionParser.java
@@ -15,6 +15,7 @@
 package org.eclipse.gemini.blueprint.config.internal;

 

 import java.util.Comparator;

+import java.util.Locale;

 

 import org.eclipse.gemini.blueprint.config.internal.util.AttributeCallback;

 import org.eclipse.gemini.blueprint.config.internal.util.ParserUtils;

diff --git a/docs/src/docbkx/faq.xml b/docs/src/docbkx/faq.xml
index 9d9ee9c..41b4d23 100644
--- a/docs/src/docbkx/faq.xml
+++ b/docs/src/docbkx/faq.xml
@@ -82,7 +82,7 @@
 	<section id="requirements">
 	  <title>What are Gemini Blueprint requirements?</title>
 	  <para>
-	    Gemini Blueprint requires at least Java 1.5, OSGi 4.1 and Spring 3.0.
+	    Gemini Blueprint requires at least Java 1.7, OSGi 4.1+ and Spring 4.2
 	    It might be possible to use Gemini Blueprint on a lower <ulink 
 	    url="http://wiki.eclipse.org/index.php/Execution_Environments">execution environment</ulink>
 	    (such <ulink url="http://java.sun.com/products/cdc/">CDC</ulink>) but 
@@ -91,8 +91,7 @@
 	    JavaBeans</ulink> (java.beans package) which, unfortunately, is missing in most 
 	    restricted environments. See this <ulink url="http://java.sun.com/products/cdc/reference/cdc_packages.pdf" 
 	    type="application/pdf">PDF</ulink> for information on CDC profiles.
-	    Note that, Spring 3.0 also requires Java 1.5. For Spring 2.5 and/or Java 1.4 see 
-	    <ulink url="http://www.springframework.org/osgi">Spring Dynamic Modules</ulink> 1.x releases.
+	    Note that, Spring 4.2 also requires Java 1.7.
 	  </para>
 	  <para>
 	    Nevertheless, experiences and feedback on running Gemini Blueprint in restricted environments 
@@ -108,8 +107,8 @@
 	<section id="restricted-environments">
 	  <title>Will Gemini Blueprint work in restricted environments (such as small/mobile devices)?</title>
 	  <para>See the <link linkend="requirements">requirements</link> entry. The OSGi Service Platform is designed to run in 
-	  very constrained environments however, Gemini Blueprint depends on the Spring Framework v3.0 which in turn depends on 
-	  JDK 1.5. Thus Gemini Blueprint cannot run on more constrained environments (such as the OSGi Minimum Execution Environment) 
+	  very constrained environments however, Gemini Blueprint depends on the Spring Framework v4.2.x which in turn depends on
+	  JDK 1.7. Thus Gemini Blueprint cannot run on more constrained environments (such as the OSGi Minimum Execution Environment)
 	  unless Spring itself also runs in those environments. There are no current plans to make such a version of Spring. 
 	  However as existing OSGi developers adopt Gemini Blueprint to simplify creation of OSGi applications and the user
 	  base expands, the target audience can cover domains much broader than <emphasis>enterprise Java applications</emphasis>. 
diff --git a/docs/src/docbkx/introduction/eclipse-migration.xml b/docs/src/docbkx/introduction/eclipse-migration.xml
index e6b39ef..f532183 100644
--- a/docs/src/docbkx/introduction/eclipse-migration.xml
+++ b/docs/src/docbkx/introduction/eclipse-migration.xml
@@ -2,15 +2,15 @@
       <title>Spring Dynamic Modules becomes Eclipse Gemini Blueprint</title>
 
       <para>
-      In late 2009, as a member of the Gemini project <ulink url="http://eclipse.org/proposals/gemini/">proposal</ulink>, 
-      SpringSource <ulink url="http://blog.springsource.com/2009/11/24/gemini-project-proposal-at-eclipse-org/">contributed</ulink> the Spring Dynamic Modules 
+      In late 2009, as a member of the Gemini project <ulink url="https://www.eclipse.org/proposals/gemini/">proposal</ulink>,
+      SpringSource <ulink url="http://spring.io/blog/2009/11/24/gemini-project-proposal-at-eclipse-org/">contributed</ulink> the Spring Dynamic Modules
       (also known as Spring OSGi) <ulink url="http://www.springframework.org/osgi">project</ulink>
       to the Eclipse Foundation. Spring DM v2 code base has been moved to Eclipse.org along with its issue tracker and forum. The project
       became dual licensed under Apache License and EPL.
       </para>
       <para>
       While the name has changed, the code and its functionality remain the same. Existing Spring DM applications can be easily migrated to Eclipse Gemini Blueprint
-      as mentioned in the migration <ulink url="http://www.eclipse.org/gemini/blueprint/documentation/migration/">guide</ulink>.
+      as mentioned in the migration <ulink url="https://www.eclipse.org/gemini/blueprint/documentation/migration/">guide</ulink>.
       </para>
       <para>While the project name has changed (to Eclipse Gemini Blueprint) and significant efforts have been made to reflect this in the project documentation and resources,
       there might be places that we have missed; if you find any, please <ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?product=Gemini.Blueprint">report</ulink> them to us.
diff --git a/docs/src/docbkx/introduction/getting-started.xml b/docs/src/docbkx/introduction/getting-started.xml
index b67a60a..0035df3 100644
--- a/docs/src/docbkx/introduction/getting-started.xml
+++ b/docs/src/docbkx/introduction/getting-started.xml
@@ -19,67 +19,31 @@
 		  
 		<section id="get-started:first-steps:spring">
 			<title>Knowing Spring</title>
-			<para>Gemini Blueprint uses heavily Spring framework's <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/spring-core.html">core</ulink> functionalty, 
-			such as the <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/beans.html">IoC</ulink> container,
-			<ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/resources.html">resource</ulink> abstraction and
-			<ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/aop.html">AOP</ulink> infrastructure. While it is not important
+			<para>Gemini Blueprint uses heavily Spring framework's <ulink url="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/overview.html#overview-core-container">core</ulink> functionalty,
+			such as the <ulink url="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/beans.html#beans-introduction">IoC</ulink> container,
+			<ulink url="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/resources.html">resource</ulink> abstraction and
+			<ulink url="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/aop.html">AOP</ulink> infrastructure. While it is not important
 			to know the Spring framework APIs, understanding the concepts behind them is. At a minimum, the idea behind IoC should be familiar.
 			That being said, the more knowledge you have about Spring framework, the faster you will pick Gemini Blueprint.
 			Besides the comprehensive documentation that explains the Spring Framework in detail,
 			there are a lot of articles, blog entries and books on the topic - take a look at the Spring framework
-			<ulink url="http://www.springsource.org/documentation">home page</ulink> for more information. In general, this should be the starting point for 
+			<ulink url="http://projects.spring.io/spring-framework/">home page</ulink> for more information. In general, this should be the starting point for
 			OSGi (or Eclipse plugin) developers wanting to try Gemini Blueprint.</para>
 		</section>
 		<section id="get-started:first-steps:osgi">
 			<title>Knowing OSGi</title>
-			<para>Java developers, new to OSGi, can start by reading the OSGi Alliance <ulink url="http://www.osgi.org/About/HowOSGi">introduction</ulink>,
-			the OSGi <ulink url="http://www.osgi.org/Specifications/HomePage">specifications</ulink> or one of the articles/blogs 
-			available on the internet (such as the SpringSource <ulink url="http://blog.springsource.com/category/osgi/">blogs</ulink>).
-			Additionally, the Gemini Blueprint home <ulink url="http://www.springframework.org/osgi">page</ulink> hosts various links to useful materials.
+			<para>Java developers, new to OSGi, can start by reading the OSGi Alliance <ulink url="https://www.osgi.org/developer/where-to-start/">introduction</ulink>,
+			the OSGi <ulink url="https://www.osgi.org/developer/specifications/">specifications</ulink> or one of the articles/blogs
+			available on the internet.
 			</para>
 		</section>
 		<section id="get-started:first-steps:blueprint">
-			<title>Quick start - OSGi 4.2 Blueprint Container</title>
-			<para>As an alternative to the recommended Spring documentation, if OSGi 4.2 is an option, one can read the Blueprint Container specification
+			<title>Quick start - OSGi 5.x Blueprint Container</title>
+			<para>As an alternative to the recommended Spring documentation, if OSGi 5.x is an option, one can read the Blueprint Container specification
 			for a quick introduction to dependency injection and Gemini Blueprint functionality. Note that Blueprint is a subset of Spring and Gemini Blueprint and we recommend
 			the official documentation to get access to the whole set of features.
 			</para>
 		</section>	
-		<!--	
-		<section id="get-started:first-steps:samples">
-			<title>Trying Out The Samples</title>
-			<para>Once one is familiar with the concepts behind Spring and OSGi, she can start reading the Gemini Blueprint reference documentation (this document) and
-			take the Gemini Blueprint samples for a spin. The samples are available either in the .zip distribution or from the Gemini Blueprint repository.
-			The samples are a convenient way to get started quickly with Gemini Blueprint as they show various features of Gemini Blueprint and help one get pass the 
-			initial struggles with OSGi. However, they are not meant as the definitive guide in using OSGi rather, they aim to be a launching pad 
-			for "newbies" trying out OSGi in Spring.
-			</para>
-			<para>The current distribution contains:</para>
-			<itemizedlist>
-				<listitem>
-					<para>Simple Service Sample</para>
-					<para>A simple example that illustrates OSGi service publication and consumption through Gemini Blueprint. This is a good starting point
-					for users learning the basics.</para>
-				</listitem>
-				<listitem>
-					<para>Weather Sample</para>
-					<para>A demo that shows more advanced features of Gemini Blueprint and OSGi. The application creates a very simple weather information services 
-					presenting some best practices in designing an application to take advantage of the modularity offered by OSGi.</para>
-				</listitem>
-				<listitem>
-					<para>Simple Web App Sample</para>
-					<para>As the name implies, this is a simple web application, containing Servlets, JSPs and JSP tags, that runs inside OSGi through Gemini Blueprint.</para>
-				</listitem>
-				<listitem>
-					<para>Web Console Sample</para>
-					<para>A more complicated sample that demos a Spring MVC annotation based, web application that runs inside OSGi through Gemini Blueprint, featuring 
-					class path scanning and various Spring taglib. Additionally, the web application interacts with the OSGi environment through the web UI.</para>
-				</listitem>
-			</itemizedlist> 
-			<para>Each project contains instructions regarding its content and startup procedure. Users are encouraged to experiment with the samples to get a better
-			understanding of the technologies used.</para>
-		</section>
-		-->
 	</section>
     
     <section id="get-started:help">
@@ -89,14 +53,12 @@
 		
 		<section id="get-started:help:community">
   		    <title>Community Support</title>
-			<para>The Gemini Blueprint <ulink url="http://www.eclipse.org/forums/index.php/f/153/">forum</ulink> 
-			(and the previous Spring DM <ulink url="http://forum.springframework.org/forumdisplay.php?f=43">forum</ulink>) is a message board for all Gemini Blueprint users to
-			share information and help each other. Note that registration is needed <emphasis>only</emphasis> for posting.
-			</para>
+			<para>The Gemini Blueprint <ulink url="http://www.eclipse.org/forums/index.php/f/153/">forum</ulink>.</para>
+			<para>The Gemini Blueprint GitHub <ulink url="https://github.com/eclipse/gemini.blueprint">mirror</ulink>.</para>
 		</section>
 		<section id="get-started:help:professional">
   		    <title>Professional Support</title>
-			<para>Professional, from-the-source support, with guaranteed response time, is available from <ulink url="http://www.springsource.com">SpringSource</ulink>,
+			<para>Professional, from-the-source support, with guaranteed response time, is available from <ulink url="http://spring.io/">Pivotal</ulink>,
 			the company behind Gemini Blueprint and Spring.  
 			</para>
 		</section>
@@ -106,16 +68,16 @@
 		<title>Following Development</title>
 		
 		<para>For information on the Gemini Blueprint source code repository, nightly builds and snapshot artifacts please see the Gemini Blueprint home 
-		<ulink url="http://www.springsource.org/osgi">page</ulink>.   
+		<ulink url="https://www.eclipse.org/gemini/blueprint/">page</ulink>.
 		</para>
 		<para>You can help make Gemini Blueprint best serve the needs of the Spring community by interacting with developers through the Spring Community 
-		<ulink url="http://forum.springsource.org">forums</ulink>.</para>
+		<ulink url="http://spring.io/questions">stack overflow</ulink>.</para>
 		<para>If you encounter a bug or want to suggest an improvement, 
-		please create a ticket on the Gemini Blueprint issue <ulink url="http://jira.springframework.org/">tracker</ulink>.</para>
+		please create a ticket on the Gemini Blueprint issue <ulink url="https://jira.spring.io/">tracker</ulink>.</para>
 		<para>To stay up to date with the latest news and announcements in the Spring eco system, subscribe to the 
-		Spring Community <ulink url="http://www.springframework.org/">Portal</ulink>.</para>
-		<para>Lastly, you can follow the SpringSource OSGi <ulink url="http://blog.springsource.com/category/osgi/">blog</ulink> or the project team on Twitter 
-		(<ulink url="http://twitter.com/adriancolyer">Adrian</ulink>, <ulink url="http://twitter.com/costinl">Costin</ulink>)</para>
+		Spring Community <ulink url="http://www.spring.io/">Portal</ulink>.</para>
+		<para>Lastly, you can follow the project team on Twitter
+		(<ulink url="https://twitter.com/adriancolyer">Adrian</ulink>, <ulink url="https://twitter.com/costinl">Costin</ulink>, <ulink url="https://twitter.com/deploynix">Olaf</ulink>)</para>
 	</section>
     
 </chapter>
\ No newline at end of file
diff --git a/docs/src/docbkx/introduction/requirements.xml b/docs/src/docbkx/introduction/requirements.xml
index 2415edc..fd9d84d 100644
--- a/docs/src/docbkx/introduction/requirements.xml
+++ b/docs/src/docbkx/introduction/requirements.xml
@@ -1,10 +1,10 @@
   <chapter id="requirements">
       <title>Requirements</title>
 
-      <para>Gemini Blueprint 2.x binaries require JDK level 6.0 or above, 
+      <para>Gemini Blueprint 2.x binaries require JDK level 7.0 or above,
       and <ulink url="http://www2.osgi.org/Specifications/HomePage?section=2">OSGi
-      R4.2</ulink> (though R4.1 and even R4.0 might work) or above. For JDK 1.5, consider using Gemini Blueprint 1.x.
-      For JDK 1.4, consider using Spring Dynamic Modules 1.x.
+      R5.x</ulink> (though R4.1 and even R4.0 might work) or above. For JDK &lt; 1.7, consider using Gemini Blueprint 1.x.
+      For JDK &lt; 1.5, consider using Spring Dynamic Modules 1.x.
       </para>
       <para>
       Bundles deployed for use with Gemini Blueprint should specify
diff --git a/docs/src/docbkx/introduction/what-is-new.xml b/docs/src/docbkx/introduction/what-is-new.xml
index 60ecb2b..b721fdd 100644
--- a/docs/src/docbkx/introduction/what-is-new.xml
+++ b/docs/src/docbkx/introduction/what-is-new.xml
@@ -7,10 +7,30 @@
     <para>While a relatively young project, each version of Gemini Blueprint (even minor ones) offers new functionality. This chapter is a guide to the new
     and improved feature and intended as a high-level, short summary. Please follow the appropriate links for more in-depth information.</para>
     
-    <note>This section includes the updates from Spring Dynamic Modules (Spring DM) project:</note>
+    <note>This section includes the updates from Spring Dynamic Modules (Spring DM) project and previous gemini blueprint versions.</note>
+
+	<section id="dm-2.0.0">
+		<title>Gemini Blueprint 2.0.0+</title>
+
+		<section id="dm-2.0.0.x:blueprint">
+			<title>OSGi 5.x Blueprint Reference Implementation (RI)</title>
+			<para>Gemini Blueprint served as the basis for the Blueprint Container specification, introduced by OSGi 5 Gemini Blueprint stands as the RI for the
+				aforementioned specification, providing the Blueprint API and implementation out of the box. Various aspect of Gemini Blueprint have been adjusted for
+				consistency to the Blueprint specification. For more information on the two models,	see <xref linkend="blueprint"/> for more information.</para>
+		</section>
+		<section id="dm-2.0.0.x:jdk5">
+			<title>Java 7</title>
+			<para>Gemini Blueprint requires <ulink url="https://java.sun.com/j2se/1.7.0/">JDK 7</ulink> to run (or compile). The framework code has been
+				revised to take advantage of the JDK 7 features.</para>
+		</section>
+		<section id="dm-2.0.x:spring-3.x">
+			<title>Spring 4.2.x</title>
+			<para>Besides the Java 7 upgrade, Gemini Blueprint requires Spring 4.2.x to get access to the latest framework features and JDK optimizations.</para>
+		</section>
+	</section>
 
     <section id="dm-2.0.x">
-		<title>Gemini Blueprint</title>
+		<title>Gemini Blueprint 1.x</title>
 		
 		<section id="dm-2.0.x:blueprint">
 			<title>OSGi 4.2 Blueprint Reference Implementation (RI)</title>
@@ -72,45 +92,4 @@
 			We apologize for any inconvenience created to users relying on these naming conventions.</para>
 		</section>
 	</section>
-    <!--
-    <section id="dm-1.1.x">
-		<title>1.1.x</title>
-		
-		<section id="dm-1.1.x:web">
-  		    <title>Web Support</title>
-			<para>The biggest feature in Spring DM 1.1.x is the transparent support for web applications on OSGi platforms. By integrating
-			directly with web containers (such as Apache Tomcat and Jetty), Gemini Blueprint allows WARs using Servlet, JSP and taglib technologies to 
-			be used with little or no effort at all. 
-			Please see <xref linkend="web"/> for details.
-			</para>
-			<section id="dm-1.1.x:web:spring-mvc">
-				<title>Spring-MVC Integration</title>
-				<para>Additionally, with 1.1.x it is possible to run Spring-MVC applications inside OSGi environments. See <xref linkend="web:spring-mvc"/>
-				for more information.</para>
-			</section>
-		</section>
-		<section id="dm-1.1.x:io">
-  		    <title>Classpath Resource Abstraction</title>
-			<para>1.1.x adds support for <literal>classpath:</literal> and <literal>classpath*:</literal> prefixes to the OSGi <interfacename>Resource</interfacename>
-			abstraction. This allows the discovery of classpath resources (such as Spring's 
-			<ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/new-in-2.html#new-in-2-ioc-component-scanning">component scanning</ulink>) to
-			work out-of-the-box across multiple bundles on the supported OSGi platforms. See <xref linkend="bnd-app-ctx:osgi-resource"/> for more information.
-			</para>
-		</section>
-		<section id="dm-1.1.x:configuration">
-  		    <title>Pluggable Extender Configuration</title>
-			<para>1.1.x makes it easy to change the default configuration for the various <link linkend="extender-pattern">extender</link>s used by Spring DM. By using
-			<link linkend="appendix-tips:fragments">fragments</link>, users can customize the way application contexts are started, the web container used 
-			for web deployment or the thread-pool for running Spring applications. Additionally, it is possible to receive events 
-			regarding the OSGi Spring application contexts lifecycle. <xref linkend="bnd-app-ctx:extender"/> lists the available options and explains them in detail.  
-			</para>
-		</section>
-		<section id="dm-1.1.x:improved-class-loading">
-  		    <title>Improved Class Loading</title>
-			<para>In 1.1.x, the proxy creation has been improved, leading to better package wiring for the managed bundles. See the FAQ for more information.  
-			</para>
-		</section>
-    </section>
-    -->
-    
-</chapter>
\ No newline at end of file
+ </chapter>
\ No newline at end of file
diff --git a/docs/src/docbkx/reference/compendium/compendium.xml b/docs/src/docbkx/reference/compendium/compendium.xml
index 5442391..fe5edbd 100644
--- a/docs/src/docbkx/reference/compendium/compendium.xml
+++ b/docs/src/docbkx/reference/compendium/compendium.xml
@@ -22,23 +22,33 @@
 			<area id="compendium:ns:xml:uri.loc" coords="9 95"/>
 		</areaspec>
     	<programlisting language="xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xmlns:osgix="http://www.springframework.org/schema/osgi-compendium"
-   xmlns:beans="http://www.springframework.org/schema/beans"
-   xsi:schemaLocation="http://www.springframework.org/schema/osgi  
-       	http://www.springframework.org/schema/osgi/spring-osgi.xsd
-     http://www.springframework.org/schema/osgi-compendium
-       	http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd
-     http://www.springframework.org/schema/beans   
-       	http://www.springframework.org/schema/beans/spring-beans.xsd">
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:util="http://www.springframework.org/schema/util"
+	xmlns:task="http://www.springframework.org/schema/task"
+	xmlns:compendium="http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium"
+
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+           http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+           http://www.springframework.org/schema/util
+           http://www.springframework.org/schema/util/spring-util-3.2.xsd
+           http://www.springframework.org/schema/task
+           http://www.springframework.org/schema/task/spring-task-3.2.xsd
+           http://www.osgi.org/xmlns/blueprint/v1.0.0
+           http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+           http://www.springframework.org/schema/context
+           http://www.springframework.org/schema/context/spring-context-3.2.xsd
+           http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium
+           http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium/gemini-blueprint-compendium.xsd">
 
    <!-- use the OSGi namespace elements directly -->
    <service id="simpleServiceOsgi" ref="simpleService"
        interface="org.xyz.MyService" />
 
    <!-- qualify compendium namespace elements -->
-   <osgix:cm-properties id="cm" persistent-id="com.xyz.myapp"/>
+   <compendium:cm-properties id="cm" persistent-id="com.xyz.myapp"/>
 
 </beans:beans>]]></programlisting>
 		<calloutlist>
@@ -82,26 +92,37 @@
         <interfacename>ManagedServiceFactory</interfacename>.</para></note>
         
         <para>Those familiar with Spring's 
-        <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/xsd-config.html#xsd-config-body-schemas-util">util namespace</ulink> will
+        <ulink url="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/xsd-configuration.html#xsd-config-body-schemas-util">util schema</ulink> will
         find <literal><![CDATA[<osgi:cm-properties/>]]></literal> element similar to <literal><![CDATA[<util:properties/>]]></literal>.</para>
         
         <para>It is possible to specify a default set of property values to be used in the event that the configuration dictionary does not contain
         an entry for a given key. The declaration is similar to the <literal>props</literal> element inside the Spring beans namespace:</para>
         <programlisting language="xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<beans:beans xmlns="http://www.springframework.org/schema/osgi-compendium"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xmlns:beans="http://www.springframework.org/schema/beans"
-   xmlns:osgix="http://www.springframework.org/schema/osgi-compendium"
-   xsi:schemaLocation="
-      http://www.springframework.org/schema/beans 
-        http://www.springframework.org/schema/beans/spring-beans.xsd
-      http://www.springframework.org/schema/osgi-compendium 
-        http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd">
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:util="http://www.springframework.org/schema/util"
+	xmlns:task="http://www.springframework.org/schema/task"
+	xmlns:compendium="http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium"
 
-   <osgix:cm-properties id="cfg.with.defaults" persistent-id="data.source.office.2">
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+           http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+           http://www.springframework.org/schema/util
+           http://www.springframework.org/schema/util/spring-util-3.2.xsd
+           http://www.springframework.org/schema/task
+           http://www.springframework.org/schema/task/spring-task-3.2.xsd
+           http://www.osgi.org/xmlns/blueprint/v1.0.0
+           http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+           http://www.springframework.org/schema/context
+           http://www.springframework.org/schema/context/spring-context-3.2.xsd
+           http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium
+           http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium/gemini-blueprint-compendium.xsd">
+
+   <compendium:cm-properties id="cfg.with.defaults" persistent-id="data.source.office.2">
       <beans:prop key="host">localhost</beans:prop>
       <beans:prop key="port">3306</beans:prop>
-   </osgix:cm-properties>
+   </compendium:cm-properties>
 
 </beans:beans>]]></programlisting>
 
@@ -111,30 +132,35 @@
 		(default <literal>false</literal>) allows one to revert the merging algorithm, forcing the local properties to override the entries in the CM.</para>
 		
 		<para>Since <literal>cm-properties</literal> exposes the CM entries as <classname>Properties</classname>, it can be used with Spring's <classname>
-		<ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#beans-factory-placeholderconfigurer">PropertyPlaceholderConfigurer</ulink></classname> 
-		and <classname><ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#beans-factory-overrideconfigurer">PropertyOverrideConfigurer</ulink></classname> 
+		<ulink url="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/beans.html#beans-factory-placeholderconfigurer">PropertyPlaceholderConfigurer</ulink></classname>
+		and <classname><ulink url="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/beans.html#beans-factory-overrideconfigurer">PropertyOverrideConfigurer</ulink></classname>
 		to externalize and customize environment-specific properties:</para>
 	
 		<programlisting language="xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xmlns:osgix="http://www.springframework.org/schema/osgi-compendium"
-   xmlns:ctx="http://www.springframework.org/schema/context"
-   xsi:schemaLocation="
-	http://www.springframework.org/schema/beans 
-	  http://www.springframework.org/schema/beans/spring-beans.xsd
-	http://www.springframework.org/schema/context 
-	  http://www.springframework.org/schema/context/spring-context.xsd
-	http://www.springframework.org/schema/osgi-compendium 
-	  http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd">
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xmlns:mvc="http://www.springframework.org/schema/mvc"
+       xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+       xmlns:compendium="http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+   http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
+   http://www.osgi.org/xmlns/blueprint/v1.0.0
+   http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+   http://www.springframework.org/schema/context
+   http://www.springframework.org/schema/context/spring-context-4.2.xsd
+   http://www.springframework.org/schema/mvc
+   http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
+   http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium
+   http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium/gemini-blueprint-compendium.xsd">
 
    <!-- Configuration Admin entry -->
-   <osgix:cm-properties id="cmProps" persistent-id="com.xyz.myapp">
+   <compendium:cm-properties id="cmProps" persistent-id="com.xyz.myapp">
       <prop key="host">localhost</prop>
-   </osgix:cm-properties>
+   </compendium:cm-properties>
 
    <!-- placeholder configurer -->
-   <ctx:property-placeholder properties-ref="cmProps" />
+   <context:property-placeholder properties-ref="cmProps" />
 
    <bean id="dataSource" ...>
       <property name="host" value="${host}"/>
@@ -192,18 +218,18 @@
 			<title>Configuration Admin Runtime Updates</title>
 			<para>A powerful feature of Configuration Admin is the ability to update (or delete) entries at runtime. That is, the configuration data 
 			stored in Configuration Admin may be updated after the bean has been created. By default, any post-creation updates will be ignored. However,
-			one can configure <literal>managed-properties</literal> element to receive configuration updates through the <literal>update-strategy</literal>
-			attribute, which can have a value of either <literal>bean-managed</literal> or <literal>container-managed</literal>.</para>
+			one can configure <literal>managed-properties</literal> element to receive configuration updates through the <literal>autowire-on-update</literal>
+			and <literal>update-method</literal> attributes.</para>
 		
-			<para><literal>bean-managed</literal> strategy will pass all the updates made to the configuration to a callback present on the bean, specified
-			through the <literal>update-method</literal> attribute (which becomes required). The update method must have one of the following signatures:</para>
+			<para><literal>update-method</literal> specifies the bean method to invoke whenever an update occurs in the configuration data.
+			The update method must have one of the following signatures:</para>
 			
 			<programlisting language="java"><![CDATA[public void anyMethodName(Map properties)
 public void anyMethodName(Map<String,?> properties); // for Java 5]]></programlisting>
 
-		    <para>In contrast, the <literal>container-managed</literal> update strategy will re-inject bean properties by name based on the new properties 
-		    received in the update. For <literal>container-managed</literal> updates, the component class must provide setter methods for the component properties 
-		    that it wishes to have updated. Consider the following class definitions:</para>
+		    <para>If <literal>autowire-on-update</literal> is set to <literal>true</literal> (default is <literal>false</literal>) then the container will autowire the target bean everytime an update occurs.
+		    If both <literal>autowire-on-update</literal> and <literal>update-method</literal> are specified then the autowiring process will take precedence.
+		    For autowiring, the component class must provide setter methods for the component properties that it wishes to have updated. Consider the following class definitions:</para>
 		    
 		    <programlisting language="java"><![CDATA[public class ContainerManagedBean {
   // will be reinjected (since it has a setter)
@@ -228,12 +254,12 @@
 		    <para>and configuraton:</para>
 		    
 		    <programlisting language="xml"><![CDATA[<bean id="containerManaged" class="ContainerManagedBean">
-   <osgix:managed-properties persistent-id="labX" update-strategy="container-managed"/>
+   <osgix:managed-properties persistent-id="labX" autowire-on-update="true"/>
    <property name="integer" value="23"/>
 </bean>
 	
 <bean id="beanManaged" class="SelfManagedBean">
-   <osgix:managed-properties persistent-id="labY" update-strategy="bean-managed" update-method="updateCallback"/>
+   <osgix:managed-properties persistent-id="labY" update-method="updateCallback"/>
 </bean>]]></programlisting>
 
 		    <para>Any updates made to the CM entry <literal>labX</literal> will be automatically reinjected on existing instances of 
@@ -249,22 +275,22 @@
 				  <colspec colname="c3" colwidth="4*"/>
 	              <thead>
                	  	<row>
-		              <entry><literal>update-strategy</literal></entry>
+		              <entry><literal>autowire-on-update</literal></entry>
 		              <entry><literal>update-method</literal></entry>
 		              <entry>Behaviour</entry>
 		   			</row>
 	              </thead>
 	              <tbody>
 	              	<row>
-	              	  <entry><literal>container-managed</literal></entry>
-	              	  <entry><emphasis>ignored</emphasis></entry>
+	              	  <entry><literal>true</literal></entry>
+	              	  <entry><emphasis>optional</emphasis>, called after autowiring</entry>
 	              	  <entry>Reinjects the bean properties, using the properties present in the update. The re-injection will be applied while locking (through
 	              	  a <literal>synchronized</literal> instruction) the bean instance. If the locking or re-injection strategy is not suitable, consider using
-	              	  the <literal>bean-managed</literal> approach.</entry>
+	              	  the <literal>update-method</literal> only approach.</entry>
 	              	</row>
 	              	<row>
-	              	  <entry><literal>bean-managed</literal></entry>
-	              	  <entry><emphasis>required</emphasis></entry>
+	              	  <entry><literal>false</literal> (default)</entry>
+	              	  <entry><emphasis>optional</emphasis></entry>
 	              	  <entry>Invokes the <literal>update-method</literal> callback on the bean instance, passing the updated configuration (as a 
 	              	  <interfacename>Map</interfacename> object that can be safely cast to a <classname>Dictionary</classname> if needed). No locking is
 	              	  performed.</entry>
@@ -378,11 +404,21 @@
                   <literal>all-classes</literal> advertises all Java interfaces and classes.</entry>
                 </row>
 	           	<row>
-	           	  <entry>update-strategy</entry>
-  	           	  <entry>none <literal>(default)</literal></entry>
-	           	  <entry>bean-managed</entry>
-                  <entry namest="c4" nameend="c5">container-managed</entry>
-                  <entry>Defines the update strategy for configuration modifications made after the associated beans have been created.</entry>
+	           	  <entry>autowire-on-update</entry>
+  	           	  <entry namest="c2" nameend="c3">false <literal>(default)</literal></entry>
+	           	  <entry namest="c4" nameend="c5">true</entry>
+	           	  <entry>Whether or not the container should autowire the target bean everytime an update occurs.
+        When <literal>true</literal> is specified, the container will perform autowire (by name) the bean instance with the
+        newly set properties. In case <literal>update-method</literal> attribute is used as well, the autowiring process will
+        take precedence.</entry>
+	           	</row>
+			<row>
+	           	  <entry>update-method</entry>
+  	           	  <entry namest="c2" nameend="c3">none <literal>(default)</literal></entry>
+	           	  <entry namest="c4" nameend="c5">someMethod</entry>
+	           	  <entry>The update method to invoke whenever an update occurs in the configuration data. Allows the target
+        bean to process the update information itself. In case <literal>autowire-on-update</literal> is also used, the <literal>update-method</literal>
+        will be invoked after the autowiring takes place.</entry>
 	           	</row>
 	          </tbody>
 			</tgroup>
@@ -415,7 +451,7 @@
 			
 <osgix:managed-service-factory id="data-msf" 
    factory-pid="org.xyz.labX" 
-   update-strategy="bean-managed"
+   autowire-on-update="true"
    update-method="refresh">
    <osgix:interfaces>
        <value>java.util.Collection</value>
@@ -437,10 +473,10 @@
 					<para><interfacename>ManagedServiceFactory</interfacename> factory persistent id</para>
 				</callout>
 				<callout arearefs="compendium:msf:def.2:us">
-					<para>how should Gemini Blueprint behave when a <interfacename>Configuration</interfacename> is updated</para>
+					<para>whether Gemini Blueprint should autowire the bean when a <interfacename>Configuration</interfacename> is updated</para>
 				</callout>
 				<callout arearefs="compendium:msf:def.2:um">
-					<para>the method to invoke when for <literal>bean-managed</literal> updates</para>
+					<para>the method to invoke after autowiring</para>
 				</callout>
 				<callout arearefs="compendium:msf:def.2:intfs">
 					<para>the interfaces under which the nested beans are published as OSGi services</para>
@@ -466,8 +502,9 @@
 		Configuration Admin will be injected by name, possibly overriding existing settings. Once created and configured, each nested, anonymous bean instance
 		is registered as an OSGi service under the <interfacename>java.util.Collection</interfacename> and <interfacename>java.util.Queue</interfacename> 
 		interfaces. The OSGi service lifecycle is monitored by a registration listener, namely the bean <literal>queueTracker</literal>.
-		Finally, due to the specified <literal>update-strategy</literal>, any updates executed to each CM configuration will cause the 
-		<methodname>refresh</methodname> callback to be invoked on the associated bean instance.</para>
+		Finally, due to the specified <literal>autowire-on-update</literal> and <literal>update-method</literal> attributes, any updates executed to each CM configuration
+		will cause the container to autowire the associated bean instance with the newly set properties and after that a
+		<methodname>refresh</methodname> callback will be invoked on it.</para>
 	  </section>
 	  
       <section id="compendium:cm:dict">
@@ -489,4 +526,4 @@
       
     </section>
   </chapter>
-  
\ No newline at end of file
+  
diff --git a/docs/src/docbkx/reference/deployment.xml b/docs/src/docbkx/reference/deployment.xml
index 371d89c..68fc022 100644
--- a/docs/src/docbkx/reference/deployment.xml
+++ b/docs/src/docbkx/reference/deployment.xml
@@ -389,14 +389,14 @@
                 <entry><interfacename>ApplicationEventMulticaster</interfacename>
                 <footnote>Part of <literal>org.springframework.context.event</literal> package</footnote>
                 </entry>
-                <entry><literal><ulink url="http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/context/event/ApplicationEventMulticaster.html">
+                <entry><literal><ulink url="https://docs.spring.io/spring/docs/4.2.x/javadoc-api/org/springframework/context/event/ApplicationEventMulticaster.html">
                 ApplicationEventMultiCaster</ulink></literal> used for propagating Gemini Blueprint/Spring DM <link linkend="app-deploy:extender-configuration:events">events</link>
                 to third parties. 
                 </entry>
-                <entry>An instance of <classname><ulink url="http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/context/event/SimpleApplicationEventMulticaster.html">
+                <entry>An instance of <classname><ulink url="https://docs.spring.io/spring/docs/4.2.x/javadoc-api/org/springframework/context/event/SimpleApplicationEventMulticaster.html">
                 SimpleApplicationEventMulticaster</ulink></classname> is used.
                 See <classname>AbstractApplicationContext</classname> 
-                <ulink url="http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/context/support/AbstractApplicationContext.html">javadoc</ulink> 
+                <ulink url="https://docs.spring.io/spring/docs/4.2.x/javadoc-api/org/springframework/context/support/AbstractApplicationContext.html">javadoc</ulink>
                 for more information regarding available beans in an application context.</entry>
               </row>
               
@@ -543,7 +543,7 @@
     		Of course, it is also possible for the client to unregister the listener manually during a bundle lifecycle.
 			    		
     		<note>The Gemini Blueprint/Spring DM events semantics are slightly different then
-    		<ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#context-functionality-events">Spring's</ulink>. The OSGi events are
+    		<ulink url="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/beans.html#context-functionality-events">Spring's</ulink>. The OSGi events are
     		not sent to beans inside the <emphasis>causing</emphasis> application context but to other parties (possible beans in other application contexts)
     		interested in monitoring its behaviour.</note>
     		</para>
@@ -577,85 +577,17 @@
       </itemizedlist>
 
       <para>In addition, the Spring Framework provides a number of bundles that
-      are required to be installed as dependencies. As of release 2.5 of the 
-      Spring Framework, the Spring jars included in the Spring distribution are valid OSGi
-      bundles and can be installed directly into an OSGi platform. The minimum
-      required set of bundles is:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>org.springframework.aop.jar (bundle symbolic name
-          <literal>org.springframework.aop</literal>)</para>
-        </listitem>
-
-        <listitem>
-          <para>org.springframework.asm.jar (bundle symbolic name
-          <literal>org.springframework.asm</literal>)</para>
-        </listitem>
-
-        <listitem>
-          <para>org.springframework.beans.jar (bundle symbolic name
-          <literal>org.springframework.beans</literal>)</para>
-        </listitem>
-      
-        <listitem>
-          <para>org.springframework.core.jar (bundle symbolic name
-          <literal>org.springframework.core</literal>)</para>
-        </listitem>
-
-        <listitem>
-          <para>org.springframework.context.jar (bundle symbolic name
-          <literal>org.springframework.context</literal>)</para>
-        </listitem>
-
-        <listitem>
-          <para>org.springframework.expression.jar (bundle symbolic name
-          <literal>org.springframework.expression</literal>)</para>
-        </listitem>
-
-      </itemizedlist>
-
-      <para>In additional the following supporting library bundles are
-      required. OSGi-ready versions of these libraries are shipped with the
-      Gemini Blueprint distribution.</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>aopalliance</para>
-        </listitem>
-
-        <listitem>
-          <para>cglib-nodep (when proxying classes rather then
-          interfaces, needed in most cases)</para>
-        </listitem>
-        <listitem>
-          <para>commons-logging API (<ulink url="http://www.slf4j.org/">SLF4J</ulink> version <emphasis>highly</emphasis> recommended:</para>
-          <itemizedlist>
-            <listitem>
-               <para>SLF4J API (com.springsource.sfl4j.api.jar)</para>
-            </listitem>
-            <listitem>
-               <para>SLF4J Implementation Bridge (such as Log4j - com.springsource.sfl4j.log4j.jar)</para>
-            </listitem>
-            <listitem>
-               <para>SLF4J commons logging adapter (com.springsource.sfl4j.org.apache.commons.logging.jar)</para>
-            </listitem>
-            
-          </itemizedlist>
-        </listitem>
-        
-        <listitem>
-          <para>logging implementation suitable for commons-logging (such as log4j)</para>
-        </listitem>
-        
-      </itemizedlist>
+      are required to be installed as dependencies. As of release 4.2.4 of the
+      Spring Framework, OSGi bundle versions are maintained by the Apache ServiceMix team and published using their group id, see for example
+          <ulink url="http://search.maven.org/#search|ga|1|g%3Aorg.apache.servicemix.bundles%20spring-">all Spring OSGi artifacts published in maven central</ulink>.
+      </para>
     </section>
     
     <section id="app-deploy:spring-namespaces">
     	<title>Spring XML Authoring Support</title>
     	
-    	<para>Spring 2.0 introduced (among other things) <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/xsd-config.html">
-    	easier</ulink> XML configuration and <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/extensible-xml.html">
+    	<para>Spring 2.0 introduced (among other things) <ulink url="https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/oxm.html#oxm-schema-based-config">
+    	easier</ulink> XML configuration and <ulink url="https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/xml-custom.html">
     	extensible</ulink> XML authoring. The latter gives the ability of creating custom schemas that are discovered automatically (in non-OSGi environment)
     	by the Spring XML infrastructure by including them in the classpath. Gemini Blueprint/Spring DM is aware of this process and supports it in OSGi environments so
     	that custom schemas are available to bundles that use them without any extra code or manifest declaration.</para>
@@ -687,7 +619,7 @@
       the bundle might not be able to load certain classes or resources, load incorrect versions or even load multiple versions at the same time which usually 
       result in <literal>ClassCastException</literal>, <literal>NoClassDefFoundError</literal> or <literal>LinkageError</literal>. We strongly
       recommend that you get familiar with the basics and, at least for starters, use tools 
-      (such as <ulink url="http://www.springsource.org/bundlor">Bundlor</ulink> or <ulink url="http://www.aqute.biz/Code/Bnd">BND</ulink>) for creating proper 
+      (such as <ulink url="https://docs.spring.io/s2-bundlor/1.0.x/user-guide/html/">Bundlor</ulink> or <ulink url="http://www.aqute.biz/Bnd/Bnd">BND</ulink>) for creating proper
       OSGi manifests.</important>
     </section>
 
@@ -773,7 +705,7 @@
       classpath.</para>
       
       <para>Managed, OSGi-aware runtime environments such as 
-      <ulink url="http://www.springsource.com/products/dmserver">dmServer</ulink>
+      <ulink url="http://docs.spring.io/s2-dmserver/2.0.x/user-guide/html/">dmServer</ulink>
       provide additional logging and insight not just for the bundle at hand, but also
       regarding the application context and the VM among other things.</para>
       
diff --git a/docs/src/docbkx/resources/images/admons/blank.png b/docs/src/docbkx/resources/images/admons/blank.png
new file mode 100644
index 0000000..764bf4f
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/blank.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/caution.gif b/docs/src/docbkx/resources/images/admons/caution.gif
new file mode 100644
index 0000000..d9f5e5b
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/caution.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/caution.png b/docs/src/docbkx/resources/images/admons/caution.png
new file mode 100644
index 0000000..5b7809c
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/caution.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/caution.tif b/docs/src/docbkx/resources/images/admons/caution.tif
new file mode 100644
index 0000000..4a28294
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/caution.tif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/draft.png b/docs/src/docbkx/resources/images/admons/draft.png
new file mode 100644
index 0000000..0084708
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/draft.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/home.gif b/docs/src/docbkx/resources/images/admons/home.gif
new file mode 100644
index 0000000..6784f5b
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/home.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/home.png b/docs/src/docbkx/resources/images/admons/home.png
new file mode 100644
index 0000000..cbb711d
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/home.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/important.gif b/docs/src/docbkx/resources/images/admons/important.gif
new file mode 100644
index 0000000..6795d9a
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/important.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/important.png b/docs/src/docbkx/resources/images/admons/important.png
new file mode 100644
index 0000000..ad57f6f
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/important.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/important.tif b/docs/src/docbkx/resources/images/admons/important.tif
new file mode 100644
index 0000000..184de63
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/important.tif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/next.gif b/docs/src/docbkx/resources/images/admons/next.gif
new file mode 100644
index 0000000..aa1516e
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/next.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/next.png b/docs/src/docbkx/resources/images/admons/next.png
new file mode 100644
index 0000000..45835bf
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/next.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/note.gif b/docs/src/docbkx/resources/images/admons/note.gif
new file mode 100644
index 0000000..f329d35
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/note.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/note.png b/docs/src/docbkx/resources/images/admons/note.png
new file mode 100644
index 0000000..ad57f6f
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/note.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/note.tif b/docs/src/docbkx/resources/images/admons/note.tif
new file mode 100644
index 0000000..08644d6
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/note.tif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/prev.gif b/docs/src/docbkx/resources/images/admons/prev.gif
new file mode 100644
index 0000000..64ca8f3
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/prev.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/prev.png b/docs/src/docbkx/resources/images/admons/prev.png
new file mode 100644
index 0000000..cf24654
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/prev.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/tip.gif b/docs/src/docbkx/resources/images/admons/tip.gif
new file mode 100644
index 0000000..823f2b4
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/tip.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/tip.png b/docs/src/docbkx/resources/images/admons/tip.png
new file mode 100644
index 0000000..ad57f6f
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/tip.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/tip.tif b/docs/src/docbkx/resources/images/admons/tip.tif
new file mode 100644
index 0000000..4a3d8c7
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/tip.tif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/toc-blank.png b/docs/src/docbkx/resources/images/admons/toc-blank.png
new file mode 100644
index 0000000..6ffad17
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/toc-blank.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/toc-minus.png b/docs/src/docbkx/resources/images/admons/toc-minus.png
new file mode 100644
index 0000000..abbb020
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/toc-minus.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/toc-plus.png b/docs/src/docbkx/resources/images/admons/toc-plus.png
new file mode 100644
index 0000000..941312c
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/toc-plus.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/up.gif b/docs/src/docbkx/resources/images/admons/up.gif
new file mode 100644
index 0000000..aabc2d0
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/up.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/up.png b/docs/src/docbkx/resources/images/admons/up.png
new file mode 100644
index 0000000..07634de
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/up.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/warning.gif b/docs/src/docbkx/resources/images/admons/warning.gif
new file mode 100644
index 0000000..c6acdec
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/warning.gif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/warning.png b/docs/src/docbkx/resources/images/admons/warning.png
new file mode 100644
index 0000000..ef3e10f
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/warning.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/admons/warning.tif b/docs/src/docbkx/resources/images/admons/warning.tif
new file mode 100644
index 0000000..7b6611e
--- /dev/null
+++ b/docs/src/docbkx/resources/images/admons/warning.tif
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/1.png b/docs/src/docbkx/resources/images/callouts/1.png
new file mode 100644
index 0000000..7d47343
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/1.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/10.png b/docs/src/docbkx/resources/images/callouts/10.png
new file mode 100644
index 0000000..997bbc8
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/10.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/11.png b/docs/src/docbkx/resources/images/callouts/11.png
new file mode 100644
index 0000000..ce47dac
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/11.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/12.png b/docs/src/docbkx/resources/images/callouts/12.png
new file mode 100644
index 0000000..31daf4e
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/12.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/13.png b/docs/src/docbkx/resources/images/callouts/13.png
new file mode 100644
index 0000000..14021a8
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/13.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/14.png b/docs/src/docbkx/resources/images/callouts/14.png
new file mode 100644
index 0000000..64014b7
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/14.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/15.png b/docs/src/docbkx/resources/images/callouts/15.png
new file mode 100644
index 0000000..0d65765
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/15.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/2.png b/docs/src/docbkx/resources/images/callouts/2.png
new file mode 100644
index 0000000..5d09341
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/2.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/3.png b/docs/src/docbkx/resources/images/callouts/3.png
new file mode 100644
index 0000000..ef7b700
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/3.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/4.png b/docs/src/docbkx/resources/images/callouts/4.png
new file mode 100644
index 0000000..adb8364
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/4.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/5.png b/docs/src/docbkx/resources/images/callouts/5.png
new file mode 100644
index 0000000..4d7eb46
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/5.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/6.png b/docs/src/docbkx/resources/images/callouts/6.png
new file mode 100644
index 0000000..0ba694a
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/6.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/7.png b/docs/src/docbkx/resources/images/callouts/7.png
new file mode 100644
index 0000000..472e96f
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/7.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/8.png b/docs/src/docbkx/resources/images/callouts/8.png
new file mode 100644
index 0000000..5e60973
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/8.png
Binary files differ
diff --git a/docs/src/docbkx/resources/images/callouts/9.png b/docs/src/docbkx/resources/images/callouts/9.png
new file mode 100644
index 0000000..a0676d2
--- /dev/null
+++ b/docs/src/docbkx/resources/images/callouts/9.png
Binary files differ