Author: buildbot
Date: Mon Oct 7 16:58:04 2013
New Revision: 881580
Log:
Staging update by buildbot for sling
Removed:
websites/staging/sling/trunk/content/site/assembly.html
websites/staging/sling/trunk/content/site/client-request-logging.html
Modified:
websites/staging/sling/trunk/content/ (props changed)
websites/staging/sling/trunk/content/old-stuff/assembly.html
websites/staging/sling/trunk/content/site/.htaccess
Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Oct 7 16:58:04 2013
@@ -1 +1 @@
-1529983
+1529997
Modified: websites/staging/sling/trunk/content/old-stuff/assembly.html
==============================================================================
--- websites/staging/sling/trunk/content/old-stuff/assembly.html (original)
+++ websites/staging/sling/trunk/content/old-stuff/assembly.html Mon Oct 7
16:58:04 2013
@@ -83,16 +83,9 @@
</div>
- <div class="tip">
- This page is a translated version of <a href="/site/assembly.html"
target="sling_cwiki">/site/assembly.html</a>. In case of
- doubt you might want to refer to the old page.
- </div>
-
<h1>Assembly</h1>
- <p>{panel}
-The Assembly concept grew out of a need to bundle together a set of OSGi
Bundles to deploy applications. The concept has been developped before the OSGi
Deployment Package Service Specification has been published in the Release 4.1
Compendium Services Specification. It will have to be discussed whether the
Assembly concept is dropped in favor of the Deplyoment Package Service.
-{panel}</p>
+ <p>The Assembly concept grew out of a need to bundle together a set of
OSGi Bundles to deploy applications. The concept has been developped before the
OSGi Deployment Package Service Specification has been published in the Release
4.1 Compendium Services Specification. It will have to be discussed whether the
Assembly concept is dropped in favor of the Deplyoment Package Service.</p>
<h2 id="introduction">Introduction</h2>
<p>This chapter discusses the units of deployment as well as the units of
functionality. The following contents is based on the Module and Service
specifications of the OSGi Service Platform Core Specification, Release 4 but
enhances functionality for ease of use and in terms of best practices.</p>
<p>The term <em>Units of Deployment</em> describes the idea of packaging up
functionality implemented by Java Classes into modules, so called
<em>Bundles</em>. For bigger and more complicated applications the fine grained
modularity of <em>Bundles</em> may be to complicated, so this chapter proposes
an extension called <em>Assembly</em>. The goal of the <em>Assembly</em>
specification presented below is to provide functionality to delivery a
collection of bundles belonging together.</p>
@@ -106,19 +99,19 @@ The Assembly concept grew out of a need
<h3 id="assembly-manifest-headers">Assembly manifest headers</h3>
<p>As an Assembly is a standard Bundle, all the defined Bundle manifest
headers may be specified. In addition, for the <em>Assembly Manager</em> to
recognize an assembly and for the OSGi Bundle Repository to support dependency
resolution, the following manifest headers are defined. All headers are
optional with documented default values except where noted.</p>
<ul>
-<li><em>Assembly-Bundles</em> - The list of bundles contained in this
assembly. See below for the definition of the syntax of this header. This
header is required. The presence of this headers identifies an Assembly to the
<em>Assembly Manager</em>.</li>
-<li><em>Assembly-BundleRepository</em> - A comma-separated list of URLs
pointing to OSGi Bundle Repository descriptors. These bundle repositories will
be used to install bundles listed in the <code>Assembly-Bundles</code> header.
This header is optional with not default value.</li>
+<li><strong>Assembly-Bundles</strong> - The list of bundles contained in this
assembly. See below for the definition of the syntax of this header. This
header is required. The presence of this headers identifies an Assembly to the
<em>Assembly Manager</em>.</li>
+<li><strong>Assembly-BundleRepository</strong> - A comma-separated list of
URLs pointing to OSGi Bundle Repository descriptors. These bundle repositories
will be used to install bundles listed in the <code>Assembly-Bundles</code>
header. This header is optional with not default value.</li>
</ul>
<h3 id="assembly-lifecycle">Assembly Lifecycle</h3>
<p>An Assembly, like all bundles, may be in any of the defined bundle
states:</p>
<ul>
-<li><em>Installed</em> - The Assembly bundle has been installed into the
system but not yet resolved. The <em>Assembly Manager</em> will try to install
all bundles listed in the <code>Assembly-Bundles</code> header. The start
levels of the bundles will be set according to the <code>startlevel</code>
parameter. The bundles will not be started. If installation of one or more of
the bundles fails, <em>Assembly Manager</em> logs an error message.</li>
-<li><em>Resolved</em> - The Assembly bundle is resolved, that is all imported
packages are wired into the framework. The <em>Assembly Manager</em> does not
handle this state change, rather the installed bundles will be resolved by the
framework either automatically after installation or when started later.</li>
-<li><em>Started</em> - The Assembly bundle has been started by calling the
<code>Bundle.start()</code> method. The <em>Assembly Manager</em> will start
all newly installed and resolved bundles. Depending on the start level set on
the bundle(s) and the current system start level, the bundles will only be
permanently marked to start while actually starting the bundles may be delayed
until the system enters the respective start level. If any bundle fails to
start, an error message is logged.</li>
-<li><em>Stopped</em> - The Assembly bundle has been stopped by calling the
<code>Bundle.stop()</code> method. All bundles belong to the Assembly and
linked to the Assembly are also stopped.</li>
-<li><em>Unresolved</em> - The Assembly bundle has been unresolved by the
system for any reason, possibly any missing dependencies. Assembly bundles
entering this state are ignored by the <em>Assembly Manager</em>.</li>
-<li><em>Uninstalled</em> - The Assembly bundle is being uninstalled by calling
the <code>Bundle.uninstall()</code> method. The <em>Assembly Manager</em> will
(try to) uninstall all bundles listed in the <code>Assembly-Bundles</code>
header.</li>
-<li><em>Updated</em> - The Assembly bundle will update all bundles installed
previously according to the <code>Assembly-Bundles</code> header. If this
header omits any bundle listed in the previous bundle version, the respective
bundle is uninstalled from the system. If a bundle is already installed with
the correct version, the installed bundle is not touched (It may though be
uninstalled together with the Assembly Bundle if the Assembly Bundle is
uninstalled).</li>
+<li><strong>Installed</strong> - The Assembly bundle has been installed into
the system but not yet resolved. The <em>Assembly Manager</em> will try to
install all bundles listed in the <code>Assembly-Bundles</code> header. The
start levels of the bundles will be set according to the
<code>startlevel</code> parameter. The bundles will not be started. If
installation of one or more of the bundles fails, <em>Assembly Manager</em>
logs an error message.</li>
+<li><strong>Resolved</strong> - The Assembly bundle is resolved, that is all
imported packages are wired into the framework. The <em>Assembly Manager</em>
does not handle this state change, rather the installed bundles will be
resolved by the framework either automatically after installation or when
started later.</li>
+<li><strong>Started</strong> - The Assembly bundle has been started by calling
the <code>Bundle.start()</code> method. The <em>Assembly Manager</em> will
start all newly installed and resolved bundles. Depending on the start level
set on the bundle(s) and the current system start level, the bundles will only
be permanently marked to start while actually starting the bundles may be
delayed until the system enters the respective start level. If any bundle fails
to start, an error message is logged.</li>
+<li><strong>Stopped</strong> - The Assembly bundle has been stopped by calling
the <code>Bundle.stop()</code> method. All bundles belong to the Assembly and
linked to the Assembly are also stopped.</li>
+<li><strong>Unresolved</strong> - The Assembly bundle has been unresolved by
the system for any reason, possibly any missing dependencies. Assembly bundles
entering this state are ignored by the <em>Assembly Manager</em>.</li>
+<li><strong>Uninstalled</strong> - The Assembly bundle is being uninstalled by
calling the <code>Bundle.uninstall()</code> method. The <em>Assembly
Manager</em> will (try to) uninstall all bundles listed in the
<code>Assembly-Bundles</code> header.</li>
+<li><strong>Updated</strong> - The Assembly bundle will update all bundles
installed previously according to the <code>Assembly-Bundles</code> header. If
this header omits any bundle listed in the previous bundle version, the
respective bundle is uninstalled from the system. If a bundle is already
installed with the correct version, the installed bundle is not touched (It may
though be uninstalled together with the Assembly Bundle if the Assembly Bundle
is uninstalled).</li>
</ul>
<h3 id="bundles-referenced-by-multiple-assembly-bundles">Bundles referenced by
multiple Assembly Bundles</h3>
<p>It is conceivable, that bundles are listed in the
<code>Assembly-Bundles</code> header of more than one Assembly Bundle. If this
is the case, the following collision resolution takes place:</p>
@@ -141,10 +134,10 @@ The Assembly concept grew out of a need
<p>To control the selection and installation of bundles, the following
parameters may be used:</p>
<ul>
-<li><em>version</em> - The version of the bundle to install. This is a version
range specification as per chapter 3.2.5 Version Ranges of the OSGi core
specification. When this parameter is declared as a single version - eg.
<em>1.2.3</em> - it is interpreted as the version range <em>~[1.2.3,
∞~)</em>. The default value is <em>~[0.0.0,∞~)</em> to install the
most recent version of the bundle available.</li>
-<li><em>startlevel</em> - The start level to set for the bundle. This may be
any positive integer value. Default value is undefined to use the current
initial bundle start level of the framework.</li>
-<li><em>entry</em> - The path of the Assembly Bundle entry providing the data
to be installed.</li>
-<li><em>linked</em> - Defines whether the bundle should be started and stopped
together with the Assembly to which the bundle belongs. Default value is
<code>true</code>.</li>
+<li><strong>version</strong> - The version of the bundle to install. This is a
version range specification as per chapter 3.2.5 Version Ranges of the OSGi
core specification. When this parameter is declared as a single version - eg.
<em>1.2.3</em> - it is interpreted as the version range <em>~[1.2.3,
∞~)</em>. The default value is <em>~[0.0.0,∞~)</em> to install the
most recent version of the bundle available.</li>
+<li><strong>startlevel</strong> - The start level to set for the bundle. This
may be any positive integer value. Default value is undefined to use the
current initial bundle start level of the framework.</li>
+<li><strong>entry</strong> - The path of the Assembly Bundle entry providing
the data to be installed.</li>
+<li><strong>linked</strong> - Defines whether the bundle should be started and
stopped together with the Assembly to which the bundle belongs. Default value
is <code>true</code>.</li>
</ul>
<p>If resolving the bundles results in more bundles to be downloaded from the
bundle repository to resolve the dependency, these bundles are always
automatically started and assigned a startlevel which is smaller than the
smallest startlevel of any of the bundles listed.</p>
<h3 id="bundle-location">Bundle Location</h3>
@@ -152,13 +145,13 @@ The Assembly concept grew out of a need
<p>If a bundle is defined in the <code>Assembly-Bundles</code> header with an
<code>entry</code> parameter, the respective entry is first looked for in the
Assembly Bundle. If the entry exists, it is used as the bundle source to
install. If no <code>entry</code> parameter is present for a declared bundle or
the entry is missing, the OSGi Bundle Repository is used.</p>
<p>Restrictions when packaging bundles with the Assembly:</p>
<ul>
-<li><em>Dependency Resolution</em> - Any missing dependencies of the bundles
to be installed will not be resolved. That is, if the bundles fail to resolve,
the Assembly fails to install.</li>
-<li><em><code>version</code> Parameter</em> - The <code>version</code>
parameter of the bundle installation declaration is ignored because any JAR
file whose name matches the bundle symbolic name to be installed, is
installed.</li>
+<li><strong>Dependency Resolution</strong> - Any missing dependencies of the
bundles to be installed will not be resolved. That is, if the bundles fail to
resolve, the Assembly fails to install.</li>
+<li><strong><code>version</code> Parameter</strong> - The <code>version</code>
parameter of the bundle installation declaration is ignored because any JAR
file whose name matches the bundle symbolic name to be installed, is
installed.</li>
</ul>
<p>If the <code>Assembly-BundleRepository</code> header contains a
comma-separated list of URL to OSGi Bundle Repository descriptors and the OSGi
Bundle Repository Service is available in the framework, the bundles declared
in the <code>Assembly-Bundles</code> header are resolved through the OSGi
Bundle Repository Service using the URL from the
<code>Assembly-BundleRepository</code> header.</p>
<p>If the bundles declare any dependencies, which may not be resolved by
bundles already installed in the framework or by any of the bundles to be
installed, the OSGi Bundle Repository is used to try to resolve these missing
dependencies. If this resolution succeeds, installation of the Assembly
succeeds. Any bundles not declared in the Assembly but installed due to this
dependency resolution will not be assumed to belong to the Assembly. Hence,
these bundles will not be uninstalled (or updated) if the Assembly is
uninstalled (or updated).</p>
<ul>
-<li><em>Example</em> - Assume the <code>Assembly-Bundles</code> header is set
to
<code>org.apache.sling.sample1;entry=path.jar,org.apache.sling.sample2</code>.
The bundle <code>org.apache.sling.sample1</code> is then installed from the
Assembly Bundle entry <code>path.jar</code>, while the bundle
<code>org.apache.sling.sample2</code> is resolved in the OSGi Bundle
Repository.</li>
+<li><strong>Example</strong> - Assume the <code>Assembly-Bundles</code> header
is set to
<code>org.apache.sling.sample1;entry=path.jar,org.apache.sling.sample2</code>.
The bundle <code>org.apache.sling.sample1</code> is then installed from the
Assembly Bundle entry <code>path.jar</code>, while the bundle
<code>org.apache.sling.sample2</code> is resolved in the OSGi Bundle
Repository.</li>
</ul>
<h2 id="best-practices">Best Practices</h2>
<h3 id="size-of-bundles">Size of Bundles</h3>
@@ -172,7 +165,7 @@ The Assembly concept grew out of a need
<h3 id="nomen-est-omen">Nomen est Omen</h3>
<p>The symbolic name of a bundle should reflect its contents. A bundle should
generally only contain a single subtree in the virtual package tree. The
symbolic name of the bundle should be the root package contained within. For
example, consider a bundle containing the packages
<code>org.apache.sling.sample</code>,
<code>org.apache.sling.sample.impl</code>, <code>org.apache.sling.more</code>.
The bundle would the be named <code>org.apache.sling.sample</code>.</p>
<div class="timestamp" style="margin-top: 30px; font-size: 80%;
text-align: right;">
- Rev. 1499238 by fmeschbe on Wed, 3 Jul 2013 07:39:54 +0000
+ Rev. 1529997 by dklco on Mon, 7 Oct 2013 16:57:51 +0000
</div>
<div class="trademarkFooter">
Apache Sling, Sling, Apache, the Apache feather logo, and the Apache
Sling project
Modified: websites/staging/sling/trunk/content/site/.htaccess
==============================================================================
--- websites/staging/sling/trunk/content/site/.htaccess (original)
+++ websites/staging/sling/trunk/content/site/.htaccess Mon Oct 7 16:58:04 2013
@@ -60,3 +60,4 @@ Redirect Permanent /site/manipulating-co
Redirect Permanent /site/logging.html /documentation/development/logging.html
Redirect Permanent /site/bundle-resources-extensionsbundleresource.html
/documentation/bundles/bundle-resources-extensions-bundleresource.html
Redirect Permanent /site/client-request-logging.html
/documentation/development/client-request-logging.html
+Redirect Permanent /site/assembly.html /old-stuff/assembly.html
\ No newline at end of file